Ubuntu
在 Linux Mint 18 上編譯 Transmission-GTK torrent 客戶端
如何
transmission-gtk
在 Linux Mint 18 或通常基於 Ubuntu 16.04 的系統上從原始碼編譯 torrent 客戶端?假設我想:
- 刪除原始打包版本。
- 替換它,同時保留原始設置、桌面項目等。
在這個編譯過程中,要明確一點,它是為今天的目前版本 2.92 和基於 Ubuntu 16.04 的系統編寫的,如 Linux Mint 18。本指南可能與更高版本的系統和/或傳輸略有不同。
- 進入官方頁面;通過安全協議,目前官方頁面沒有重定向到HTTPS;您可以使用以下連結進入網頁:
https://transmissionbt.com/download/ 2. 導航到原始碼部分並下載目前的;它使用 GitHub 儲存庫;如果您在 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
替換它。 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
- 檢查配置腳本的輸出是否與以下內容匹配(如果這是您想要的):
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
如果沒有問題,您可以繼續,否則您需要解決問題。 10. 編譯程序,這可能需要一段時間:
make
如果編譯成功,您可以繼續,否則您需要解決問題。 11. 在安裝它之前,您可能希望從儲存庫中刪除您可能已安裝的相當舊的穩定版本,但有一個問題:您可能希望保留您的設置,如果是這樣,請找到設置文件:
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/