rTorrent を SVN から Ubuntu Gutsy にコンパイルする方法
Author: Stephan Jau
Revision: v1.0
Last Change: 2007年10月19日
はじめに
Torrent は大きなファイルを高速に転送するための優れた手段です。しかし多くのトレントクライアントは GUI ベースで、システム資源を多く消費します(例: Azureus)。rTorrent は端末で動作する軽量クライアントで、screen セッション(起動時の自動起動を含む)で運用できるためリモートからの管理に最適です。
重要: この手順は Ubuntu Gutsy(7.10)を前提としています。近年の Ubuntu ではパッケージ名や手順が変わっている可能性があります。
前提と想定
- 普通のユーザー権限で作業していること(root で直接ログインしない)。
- デフォルトのユーザーホーム(例: /home/USER)を使用し、SVN ファイルを ~/rtorrent にダウンロードすることを想定しています。
- ネットワーク接続があり、sudo を使用できること。
必要なパッケージを取得する
以下をインストールします。
sudo apt-get install subversion build-essential libtool automake1.9 openssl libcurl3 libcurl3-dev libsigc++-2.0-0c2a libsigc++-2.0-dev libncurses5 libncurses5-dev
Note: automake は 1.4 より新しいバージョンが必要です。他の automake バージョンでも構いませんが、ここでは 1.9 を例にしています。
ダウンロードフォルダを作成する
mkdir ~/rtorrent
cd ~/rtorrent
現在の場所: /home/USER/rtorrent
最新の trunk を取得する
svn co svn://rakshasa.no/libtorrent/trunk
cd trunk
現在の場所: /home/USER/rtorrent/trunk
svn up
libtorrent をビルドする
cd libtorrent
現在の場所: /home/USER/rtorrent/trunk/libtorrent
./autogen.sh
./configure
make
インストール:
sudo make install
システムにライブラリパスを追加:
echo "include /usr/local/lib" | sudo tee -a /etc/ld.so.conf
ld.so キャッシュを再構築:
sudo ldconfig
rTorrent をビルドする
cd ../rtorrent
現在の場所: /home/USER/rtorrent/trunk/rtorrent
./autogen.sh
./configure
make
インストール:
sudo make install
実行:
rtorrent
これで完了です。楽しんでください。
更新手順
将来的に rTorrent を最新の SVN に更新する場合は、このハウツーのステップ (6) からやり直してください(trunk を更新して再ビルド)。
付加情報と実務的アドバイス
手順のミニ方法論
- 準備: 依存パッケージを揃える。
- 取得: SVN からソースをチェックアウト/更新。
- ビルド: autogen → configure → make → make install。
- 検証: rtorrent を起動し、基本操作を確認。
- 維持: 更新時は trunk を更新して再ビルド。
役割別チェックリスト
通常ユーザー
- ホームに ~/rtorrent を作成する。
- sudo を使えること(管理者にパスワードを聞く)。
- ビルド中は root でファイルを所有しない。
システム管理者
- /usr/local/lib を ld.so.conf に含める。
- ビルド後に ldconfig を実行してライブラリを認識させる。
- セキュリティポリシーに従い /usr/local 以下のパーミッションを管理する。
トラブルシューティング(よくある失敗と対処法)
./autogen.sh が失敗する
- autoconf/automake/libtool が不足している可能性。必要な開発ツールを確認して再インストール。
configure 時にライブラリ検出に失敗する(libcurl, openssl など)
- -dev パッケージが必要です。例: libcurl3-dev, libssl-dev をインストールして再試行。
make install 後に rtorrent がライブラリを見つけられない
- /usr/local/lib を /etc/ld.so.conf に追加し、sudo ldconfig を実行してください。
パーミッションの問題
- sudo を適切に使い、ホーム以下のファイルは通常のユーザー所有のままにすること。
古い automake が原因でビルドが止まる
- automake のバージョンを上げるか、パッケージで提供されるバージョンを使ってください。
代替アプローチ
- ディストリビューションのパッケージを使う: apt-get install rtorrent(速く安全だがバージョンが古い場合あり)。
- バックポートや PPA を使う: より新しいバージョンを提供するリポジトリを検討。
- バイナリ配布を利用する: 信頼できるプロバイダからビルド済みバイナリを入手することで環境依存の問題を回避できる。
セキュリティ注意点
- rTorrent を公開ネットワークで利用する場合は、ファイアウォールとユーザー権限を適切に設定してください。
- /usr/local 以下にインストールされたライブラリの権限を確認して、不正な変更を防いでください。
用語 1行定義
- SVN: Subversion、バージョン管理システム。
- libtorrent: rTorrent のバックエンドライブラリ(ここでは libtorrent ライブラリ)。
- autogen.sh: ビルド設定ファイルを生成するスクリプト。
- configure: 環境に合わせてビルドオプションを検出するスクリプト。
- ldconfig: システムライブラリキャッシュを更新するコマンド。
よくある質問(簡潔)
Q: root で作業してもいいですか?
A: 推奨されません。通常ユーザーでビルドし、必要時に sudo を使ってインストールしてください。Q: Gutsy 以外の Ubuntu でも同じですか?
A: 基本的な流れは同じですが、パッケージ名やバージョンは異なる場合があります。
まとめ
このガイドでは、Ubuntu Gutsy 環境で rTorrent を SVN から取得してビルド・インストールするための手順を、依存関係の導入から ldconfig の更新、トラブルシューティングまで含めて説明しました。更新は trunk を svn up して再ビルドするだけです。ビルドの手順は古いディストリビューションでも応用できる考え方を示しています。
重要: 可能であればまずディストリビューションのパッケージや信頼できる PPA の利用を検討してください。ソースからのビルドは柔軟性を提供しますが、依存問題や互換性の課題が発生する可能性があります。