transmission-gtk
일반적으로 Linux Mint 18 또는 Ubuntu 16.04 기반 시스템의 소스에서 토렌트 클라이언트를 컴파일하는 방법은 무엇입니까 ?
내가 원한다고 가정 해 봅시다 :
- 원래 패키지 버전을 삭제합니다.
- 원래 설정, 데스크탑 항목 등을 유지하면서 교체하세요.
답변1
이 컴파일 과정에서는 현재 버전 2.92뿐만 아니라 Linux Mint 18과 같은 Ubuntu 16.04 기반 시스템용으로 작성되었음을 분명히 해야 합니다. 이 가이드는 이후 시스템 및/또는 전송에 따라 약간 다를 수 있습니다.
공식 페이지로 이동하세요. 보안 프로토콜로 인해 공식 페이지는 현재 HTTPS로 리디렉션되지 않습니다. 아래 링크를 사용하여 페이지에 액세스할 수 있습니다.
항해소스 코드섹션을 선택하고 현재 섹션을 다운로드합니다. CLI를 사용하는 경우 다음 직접 방법을 사용할 수 있습니다.
wget --continue https://github.com/transmission/transmission-releases/raw/master/transmission-2.92.tar.xz
SHA-256 해시 일치를 확인하세요. 버전 2.92의 경우 공식 다운로드 페이지에 작성되어 있으며 다음이 적용됩니다.
sha256sum transmission-2.92.tar.xz
3a8d045c306ad9acb7bf81126939b9594553a388482efa0ec1bfb67b22acd35f
아카이브 추출:
tar -xJvf transmission-2.92.tar.xz
압축을 푼 디렉터리를 입력하세요.
cd transmission-2.92/
이제 빌드 종속성을 설치해야 합니다
transmission-gtk
.sudo apt-get build-dep transmission-gtk
다음과 같이 모든 필수 구성 요소가 설치되어 있는지 확인하겠습니다.이 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
교체해야 했습니다.구성 스크립트를 실행합니다.
./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
구성 스크립트의 출력이 다음과 일치하는지 확인하십시오(원하는 경우).
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
문제가 없으면 계속 진행하고, 그렇지 않으면 문제를 해결해야 합니다.
프로그램을 컴파일하는 데 시간이 걸릴 수 있습니다.
make
컴파일이 성공하면 계속할 수 있습니다. 그렇지 않으면 문제를 해결해야 합니다.
설치하기 전에 설치된 다소 오래된 안정 버전을 저장소에서 제거하고 싶을 수도 있지만 문제가 있습니다. 설정을 유지하고 싶을 수도 있습니다. 그렇다면 설정 파일을 찾으세요.
locate transmission/settings.json
개인
~/.config/
디렉터리에 있다고 가정합니다. 예를 들어 홈 디렉터리와 같은 곳에 백업을 만듭니다.cp ~/.config/transmission/settings.json ~/
이제 원래 패키지 버전을 삭제합니다.
sudo apt-get purge transmission-gtk transmission-common
컴파일된
transmission-gtk
클라이언트를 설치합니다.sudo make install
클라이언트가
transmission-gtk
시작 되지 않은 경우, 설정 파일을 제자리로 옮기거나 차이점을 확인하고 덮어쓸지 여부를 결정하는 것이 더 좋습니다.mv ~/settings.json ~/.config/transmission/settings.json
마지막으로 데스크톱 프로젝트를 원한다고 가정하고 이를 복사하여 실행 파일로 표시합니다.
cp ~/Downloads/transmission-2.92/gtk/transmission-gtk.desktop ~/Desktop/ chmod a+x ~/Desktop/transmission-gtk.desktop
sudo
마찬가지로 실행 비트에 대해 걱정하지 않고 추가하는 메뉴 항목을 만들 수 있습니다 .sudo cp ~/Downloads/transmission-2.92/gtk/transmission-gtk.desktop /usr/share/applications/