Linux Mint 18에서 Transmission-GTK 토렌트 클라이언트 컴파일

Linux Mint 18에서 Transmission-GTK 토렌트 클라이언트 컴파일

transmission-gtk일반적으로 Linux Mint 18 또는 Ubuntu 16.04 기반 시스템의 소스에서 토렌트 클라이언트를 컴파일하는 방법은 무엇입니까 ?

내가 원한다고 가정 해 봅시다 :

  1. 원래 패키지 버전을 삭제합니다.
  2. 원래 설정, 데스크탑 항목 등을 유지하면서 교체하세요.

답변1

이 컴파일 과정에서는 현재 버전 2.92뿐만 아니라 Linux Mint 18과 같은 Ubuntu 16.04 기반 시스템용으로 작성되었음을 분명히 해야 합니다. 이 가이드는 이후 시스템 및/또는 전송에 따라 약간 다를 수 있습니다.

  1. 공식 페이지로 이동하세요. 보안 프로토콜로 인해 공식 페이지는 현재 HTTPS로 리디렉션되지 않습니다. 아래 링크를 사용하여 페이지에 액세스할 수 있습니다.

    https://transmissionbt.com/download/

  2. 항해소스 코드섹션을 선택하고 현재 섹션을 다운로드합니다. CLI를 사용하는 경우 다음 직접 방법을 사용할 수 있습니다.

    wget --continue https://github.com/transmission/transmission-releases/raw/master/transmission-2.92.tar.xz
    
  3. SHA-256 해시 일치를 확인하세요. 버전 2.92의 경우 공식 다운로드 페이지에 작성되어 있으며 다음이 적용됩니다.

     sha256sum transmission-2.92.tar.xz
    
    3a8d045c306ad9acb7bf81126939b9594553a388482efa0ec1bfb67b22acd35f
    
  4. 아카이브 추출:

     tar -xJvf transmission-2.92.tar.xz
    
  5. 압축을 푼 디렉터리를 입력하세요.

     cd transmission-2.92/
    
  6. 이제 빌드 종속성을 설치해야 합니다 transmission-gtk.

     sudo apt-get build-dep transmission-gtk
    
  7. 다음과 같이 모든 필수 구성 요소가 설치되어 있는지 확인하겠습니다.이 GitHub 페이지:

     sudo apt-get install build-essential automake autoconf libtool pkg-config intltool libcurl4-openssl-dev libglib2.0-dev libevent-dev libminiupnpc-dev libappindicator-dev
    

    참고로 제거 libminiupnpc5하고 libminiupnpc-dev교체해야 했습니다.

  8. 구성 스크립트를 실행합니다.

     ./configure
    

    다음 선택적 매개변수를 구성 스크립트에 전달할 수 있습니다(구성 스크립트에서 복사하여 붙여넣기).

    Optional Features:
    
     --disable-option-checking  ignore unrecognized --enable/--with options
     --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
     --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
     --enable-silent-rules   less verbose build output (undo: "make V=1")
     --disable-silent-rules  verbose build output (undo: "make V=0")
     --enable-shared[=PKGS]  build shared libraries [default=yes]
     --enable-static[=PKGS]  build static libraries [default=yes]
     --enable-fast-install[=PKGS]
                             optimize for fast installation [default=yes]
     --enable-dependency-tracking
                             do not reject slow dependency extractors
     --disable-dependency-tracking
                             speeds up one-time build
     --disable-libtool-lock  avoid locking (might break parallel builds)
     --disable-largefile     omit support for large files
     --enable-external-dht   Use system external-dht
     --enable-external-b64   Use system libb64
     --enable-utp            build µTP support
     --enable-external-natpmp
                             Use system external-natpmp
     --enable-nls            enable native language support
     --disable-nls           do not use Native Language Support
     --enable-lightweight    optimize libtransmission for low-resource systems:
                             smaller cache size, prefer unencrypted peer
                             connections, etc.
     --enable-cli            build command-line client
     --enable-mac            build Mac client
     --enable-daemon         build daemon
    
Optional Packages:
    --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
    --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
    --with-pic[=PKGS]       try to use only PIC/non-PIC objects [default=use
                      both]
    --with-aix-soname=aix|svr4|both
                            shared library versioning (aka "SONAME") variant to
                            provide on AIX, [default=aix].
    --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
    --with-sysroot[=DIR]    Search for dependent libraries within DIR (or the
                            compiler's sysroot if not specified).
    --with-crypto=PKG       Use specified crypto library: auto (default),
                            openssl, cyassl, polarssl
    --with-inotify          Enable inotify support (default=auto)
    --with-kqueue           Enable kqueue support (default=auto)
    --with-systemd-daemon   Add support for systemd startup notification
                            (default is autodetected)
    --with-gtk              with Gtk
  1. 구성 스크립트의 출력이 다음과 일치하는지 확인하십시오(원하는 경우).

     Configuration:
    
        Source code location:                              .
        Compiler:                                          g++
    
        Build libtransmission:                             yes
           * optimized for low-resource systems:           no
           * µTP enabled:                                  yes
           * crypto library:                               openssl
    
        Build Command-Line client:                         no
    
        Build GTK+ client:                                 yes
           * libappindicator for an Ubuntu-style tray:     yes
    
        Build Daemon:                                      yes
    
        Build Mac client:                                  no
    

    문제가 없으면 계속 진행하고, 그렇지 않으면 문제를 해결해야 합니다.

  2. 프로그램을 컴파일하는 데 시간이 걸릴 수 있습니다.

    make
    

    컴파일이 성공하면 계속할 수 있습니다. 그렇지 않으면 문제를 해결해야 합니다.

  3. 설치하기 전에 설치된 다소 오래된 안정 버전을 저장소에서 제거하고 싶을 수도 있지만 문제가 있습니다. 설정을 유지하고 싶을 수도 있습니다. 그렇다면 설정 파일을 찾으세요.

    locate transmission/settings.json
    
  4. 개인 ~/.config/디렉터리에 있다고 가정합니다. 예를 들어 홈 디렉터리와 같은 곳에 백업을 만듭니다.

    cp ~/.config/transmission/settings.json ~/
    
  5. 이제 원래 패키지 버전을 삭제합니다.

    sudo apt-get purge transmission-gtk transmission-common
    
  6. 컴파일된 transmission-gtk클라이언트를 설치합니다.

    sudo make install
    
  7. 클라이언트가 transmission-gtk시작 되지 않은 경우, 설정 파일을 제자리로 옮기거나 차이점을 확인하고 덮어쓸지 여부를 결정하는 것이 더 좋습니다.

    mv ~/settings.json ~/.config/transmission/settings.json
    
  8. 마지막으로 데스크톱 프로젝트를 원한다고 가정하고 이를 복사하여 실행 파일로 표시합니다.

    cp ~/Downloads/transmission-2.92/gtk/transmission-gtk.desktop ~/Desktop/
    
    chmod a+x ~/Desktop/transmission-gtk.desktop
    
  9. sudo마찬가지로 실행 비트에 대해 걱정하지 않고 추가하는 메뉴 항목을 만들 수 있습니다 .

    sudo cp ~/Downloads/transmission-2.92/gtk/transmission-gtk.desktop /usr/share/applications/
    

관련 정보