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

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

transmission-gtkLinux Mint 18 또는 일반적으로 Ubuntu 16.04 기반 시스템의 소스에서 토렌트 클라이언트를 어떻게 컴파일합니까 ?

내가 원한다고 가정하면:

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

답변1

이 컴파일 절차에서는 현재 버전 2.92와 Linux Mint 18과 마찬가지로 Ubuntu 16.04 기반 시스템용으로 작성되었음을 분명히 합니다. 이 가이드는 이후 버전의 시스템 및/또는 전송에서 약간 다를 수 있습니다.

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

    https://transmissionbt.com/download/

  2. 로 이동소스 코드섹션을 선택하고 현재 섹션을 다운로드하세요. GitHub 저장소를 사용합니다. 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/
    

관련 정보