
transmission-gtk
Linux Mint 18 または一般的には Ubuntu 16.04 ベースのシステムで Torrent クライアントをソースからコンパイルするにはどうすればよいですか?
私が以下を行いたいとします:
- 元のパッケージバージョンを削除します。
- 元の設定、デスクトップ項目などを保持したまま置き換えます。
答え1
このコンパイル手順は、現在の最新バージョン 2.92 および Linux Mint 18 と同様に Ubuntu 16.04 ベースのシステム向けに記述されていることを明確にしておきます。このガイドは、システムや Transmission のそれ以降のバージョンでは若干異なる場合があります。
公式ページにアクセスしてください。安全なプロトコル経由で、現在公式ページは HTTPS にリダイレクトされません。以下のリンクを使用して Web ページに移動できます。
案内するソースコードセクションを開いて、現在のものをダウンロードします。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
。構成スクリプトを実行します。
./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/