커피닉스, 시스템 엔지니어의 쉼터 커피향이 나는 *NIX
커피닉스
시스템/네트웍/보안을 다루는 곳
* HanIRC의 #coffeenix 방
[ 장비 및 회선 후원 ]
HOME > 시스템 관리 / 서버운영 도움말
검색 : 사이트 WHOIS 웹서버 종류

최적화 / 튜닝 / 성능개선 (6, 글 1, 자료 3)
디스크 쿼터(quota) (3, 글 1, 자료 3)
디스크 관리 / 파일시스템 / mount (34, 글 13, 자료 12)
백업(backup) / 시스템 복구 (14, 글 6, 자료 11)
서버운영 (8, 글 2, 자료 9)
프린터 관리 / 프린팅 (7)
패키지 관리 / 패치 / rpm (10, 글 5, 자료 1)
부팅, boot / LILO / GRUB (10, 글 5, 자료 9)
서버 모니터링 (10, 글 5, 자료 2)
로그인 / 로그아웃 (1)
로그(log) / syslog (5, 글 3, 자료 3)
메모리, 스왑(swap), 램디스크(ramdisk) (3, 글 2)
사용자 관리(계정 관리) (1, 자료 1)

  리눅스에 텔레그램(Telegram) CLI 설치 작성일 : 2014/10/14 19:04
 
  • 글쓴이 : 좋은진호 ( http://coffeenix.net/ )
  • 조회수 : 12535
          [ 이전화면 / 수정 ]   비밀번호 :     인쇄용 화면
      제  목 : 리눅스에 텔레그램(Telegram) CLI 설치
    작성자 : 좋은진호(truefeel, http://coffeenix.net/ )
    작성일 : 2014.9.29(월)
    정리일 : 2014.10.6(월)



    1. 텔레그램(Telegram) CLI버전 설치

    * 필요한 패키지 설치 : libevent-devel, openssl-devel, readline-devel, libconfig-devel
    * lua script를 사용하려면 :  lua, lua-devel

    https://github.com/vysheng/tg 에서 소스를 내려받는다.

     
    # yum install libevent-devel openssl-devel readline-devel libconfig-devel lua lua-devel
    # ./configure
    # make
     


    ※ CentOS를 기준으로 했으며, 다른 배포판에서 필요한 패키지 설치는 https://github.com/vysheng/tg/blob/master/README.md 를 참고할 것


    2. CentOS 5에서 설치

     
    # ./configure --disable-libconfig
    ... 생략 ...
    checking for rl_save_prompt in -lreadline... no
    configure: error: no libreadline found
     


    LDFLAGS 변수를 지정해서 컴파일하면 된다. 그 전에 /usr/lib/libncursesw.so 심볼릭링크가 있는지 확인한다. 없다면 심볼릭 링크를 건다. (ncurses-devel 패키지가 설치안된 경우 libncursesw.so 심볼릭 링크가 없다.)

     
    # cd /usr/lib
    # ln -s libncursesw.so.5 libncursesw.so
    #
    # cd -
    # LDFLAGS="-lncursesw " ./configure or LDFLAGS="-lncursesw " ./configure --disable-libconfig
    # make
     


    libconfig를 사용하려면 CentOS(RHEL) 5는 해당 라이브러리를 제공하지 않기 때문에 별도로 설치해야한다.

    1) x86_64

    http://damsl.cs.indiana.edu/yum/centos/5/x86_64/ 에서 libconfig-1.4.8-1.x86_64.rpm 과 libconfig-devel-1.4.8-1.x86_64.rpm 을 받아 설치한다.

    2) 32bit

    http://hyperrealm.com/libconfig/ 에서 소스를 받아 컴파일한다. 설치된 libconfig 라이브러리 경로가 /lib/ 나 /usr/lib/ 등과 같이 않다면 텔레그램 CLI 컴파일시에 LDFLAGS변수에 -L옵션으로 경로를 지정해준다.

     
    # LDFLAGS="-lncursesw -L/usr/local/libconfig/lib" ./configure
     



    3. 실행

     
    $ bin/telegram-cli -k server.pub
    change_user_group: can't find the user telegramd to switch to
    Telegram-cli version 1.0.5, Copyright (C) 2013-2014 Vitaly Valtman
    Telegram-cli comes with ABSOLUTELY NO WARRANTY; for details type `show_license'.
    This is free software, and you are welcome to redistribute it
    under certain conditions; type `show_license' for details.
    Telephone number (with '+' sign): +8210.....  <-- 폰번호 입력
    Code from sms (if you did not receive an SMS and want to be called, type "call"): 12345 <-- 스마트폰에 설치된 텔레그램 어플 또는 SMS로 날라온 인증번호 5자리를 입력한다.
    >
    > stats
    users_allocated   1
    chats_allocated   0
    secret_chats_allocated   0
    peer_num   1
    messages_allocated   0
     


    간단한 명령 몇가지. 자세한 것은 help명령으로 확인 가능.

    - msg <받을사람> <메시지>
    - send_photo <받을사람> <파일명> : 사진 파일을 상대에서 전송한다.
    - send_text  <받을사람> <파일명> : local에 있는 텍스트파일 내용을 그대로 상대에서 뿌려준다.

    - contact_list : 대화상대 목록
    - dialog_list : 열려있는 대화창 목록
    - status_online 과 status_offline : on/off 상태 전환

    만약, 텔레그램 어플에서 '설정(Settings)' -> '다른 모든 세션 종료(Terminate All Other Sessions)'을 클릭하면, CLI 연결은 끊기고, 새로 인증을 받아야 한다. 인증정보가 저장된 ~/.telegram-cli/ 디렉토리를 지우고 재인증을 받을 수 있다.


    telegram-cli 실행시 lua 스크립트를 사용해서,
    - 특정 상황에 따라 메시지를 지정한 유저, 그룹에게 보낼 수도 있고,
    - 메시지를 수신시, 메시지에 따라서 결과를 상대에게 return해줄 수도 있다.

     
    $ bin/telegram-cli -s server_mon.lua
     



    4. configure 할 때 에러 모음

    1) yum install libevent-devel 필요

     
    # ./configure
    ... 생략 ...
    checking for event_base_new in -levent... no
    configure: error: no libevent found
     


    2) yum install openssl-devel 필요

     
    # ./configure
    ... 생략 ...
    checking for openssl/ssl.h in /usr/local... no
    checking for openssl/ssl.h in /usr... no
    checking whether compiling and linking against OpenSSL works... no
    configure: error: No openssl found
     


    3) yum install readline-devel 필요 (CentOS인 경우는 '2. CentOS 5에서 설치'를 참고할 것)

     
    # ./configure
    ... 생략 ...
    checking for rl_save_prompt in -lreadline... no
    configure: error: no libreadline found
     



    5. 참고자료

    * Compilation under CentOS5 #144
      https://github.com/vysheng/tg/issues/144
      커피닉스 카페 최근 글
    [01/26] Re: wget으로 다른서버에있는 디렉토리를 가져오려고합니다.
    [01/25] wget으로 다른서버에있는 디렉토리를 가져오려고합니다.
    [01/11] 특정 안드로이드 WebView 버전에서 SSL 문제 (WebView 버그)
    [08/01] DNS forwarder (전달자) 서버를 통해서 쿼리하면 역방향을 받아오질 못합니다.
    [05/16] (주)후이즈 시스템엔지니어 (경력자) 모집
    [02/15] [AWS] Cloudfront edge 확인하기
    [01/20] Mobile Service/eCommerce 기업에서 Server / Java / PHP 개발자 구인
    [01/11] 탄탄한 퍼블리싱 모바일기업에서 Mobile 개발자를 모십니다.
    [01/11] 탄탄한 퍼블리싱 모바일기업에서 Web Front 개발자를 모십니다.
    [01/11] 탄탄한 퍼블리싱 모바일기업에서 Server 개발 팀장을 모십니다.
    [12/21] 브라우저별 SHA1 퇴출 시점
    [09/15] [구인] 시스템엔지니어 (경력)
    [08/05] Re: 칼리리눅스 텔넷관련
    [08/04] 칼리리눅스 텔넷관련
    [06/29] 또 다른 무료 SSL 인증서, Let's Encrypt
      New!   최근에 등록한 페이지
      KiCad EDA Suite project (Free/Libre/Open-Source EDA Suite) (CAD)
      오픈캐스케이드 캐드 (OpenCASCADE CAD)
      QCad for Windows --- GNU GPL (Free Software)
      The Hello World Collection
      IPMI를 활용한 리눅스 서버관리
      DNS 설정 검사
      nagiosgraph 설치 방법
      Slony-I 설치 방법 (postgresql replication tool)
      Qmail기반의 Anti spam 시스템 구축하기
      clusterssh

    [ 함께하는 사이트 ]




    운영진 : 좋은진호(truefeel), 야수(yasu), 범냉이, sCag
    2003년 8월 4일~