SDB:BitTorrent

移動先: 案内, 検索
BitTorrent とは、インターネット上で巨大なファイルを共有するためのプロトコルです。 特長や仕組みなどについて、詳しくは BitTorrent (Wikipedia) をお読みください。
openSUSE で確認済み おすすめの記事 関連する記事
Icon-checked.png

Icon-manual.png
Icon-help.png

BitTorrent クライアント

openSUSE では既定の BitTorrent クライアントとして、 KTorrent (KDE) と Monsoon (GNOME) を用意しています。 KTorrent は必要な機能をすべて備えている成熟したクライアントで、 KDE を利用する場合は、これでほぼ問題ないことでしょう。 GNOME をお使いの場合は少し選択の余地があり、 Monsoon のほか、 TransmissionDeluge と呼ばれるクライアントがあります。 GUI の BitTorrent クライアントをご希望の場合、それぞれ好みや利点/欠点を比較して選択するのがよいでしょう。もちろん GNOME 環境で KTorrent を利用することもできます。この場合は QT/KDE ライブラリを読み込むことになります。いずれの場合も、まずはお使いの環境に用意された既定のクライアントを使ってみて、それで何か問題があれば他のものを使う、というやり方をお勧めします。

Windows をお使いの場合は、 utorrent を利用することができます。 Linux でも Wine を利用すれば、 utorrent を動かすことができます。 こちらは、古いマシンやローエンドのマシンをお使いの場合にお勧めです。さらに、 wikipedia:クロスプラットフォーム に対応したクライアントとして、 Azureus という Java 言語で書かれたクライアントもあります。遅いマシンをお使いの場合は、このクライアントは通常に比べてメモリやその他の資源を多く必要とする関係から、あまりお勧めしていません。高速なマシンであればほぼ問題なく動作します。


BitTorrent を利用して openSUSE をダウンロードする方法

openSUSE の ISO イメージをダウンロードするには、まずお使いのブラウザで ftp.opensuse.org を開き、 .torrent で終わるファイル名を選択してください。これでダウンロードが自動的に始まります。

速度の問題

何よりもまず、ダウンロードが完了してもお使いの BitTorrent クライアントを動作させたままにしてください。 これにより、お使いのクライアントからダウンロードを行なっている他のユーザに対して、ファイルの一部分を提供することができるためです。

期待以上に Torrent のダウンロードが遅い場合は、まずはアップロード側の最高速度の設定を確認してください。 インターネット回線の速度に対して 90% 程度の速度に設定されていれば問題ありませんが、それより高い値の場合は、 かえってダウンロードを遅くしてしまいます。逆に小さすぎる値の場合も、交換先側でのダウンロード (つまりこちら側からのアップロード) が遅すぎることから、こちら側のダウンロードも遅くなってしまいます。

その他のやり方として、 BitTorrent が通常時に使用するポート番号範囲である 6881-6999 を変更する方法もあります。よく使われるのが 6334-6342 で、制限の多い学術系の団体を交換相手にした場合、より高速なダウンロードを行なうことができます。 これらのポートがファイアウオール側で許可されない場合は、これ以外のポート範囲を設定して利用することもできます。


BitTorrent と SuSEfirewall2 を併用する際の設定

YaST のファイアウオールモジュールをそのまま適用した状態では、 BitTorrent プロトコルを利用することができません。 この場合はダウンロードが極端に遅くなってしまいます。下記の手順に従って、 BitTorrent をうまく動作させてください:

ファイルをダウンロードするコンピュータに対して、ファイアウオール機能が設定されている場合

ファイアウオールの設定には 2 つのやり方があります。いずれかの方法で設定してください:

  1. YaST ファイアウオールモジュール を起動し、 [許可するサービス] を選択してから、サービスを許可したい (ポートを開きたい) ゾーンを選択して [詳細] を押します。あとは [TCP ポート] の欄に正しい情報 (123:456 のような形式) を追加します。 あとは [OK] を押してダイアログを閉じ、 [次へ] [完了] を押していって設定を完了してください。
  2. テキストエディタで /etc/sysconfig/SuSEfirewall2 ファイルを開き、 FW_SERVICES_EXT_TCP, FW_SERVICES_INT_TCP, FW_SERVICES_DMZ_TCP (それぞれ外部ゾーン、内部ゾーン、 DMZ ゾーンに対応します) のいずれかに対してポートの設定を追加します (# たとえば "ssh", "123 514", "3200:3299", "ftp 22 telnet 512:514" のように入力します)

ポートの情報について、詳しくは下記のページをお読みください: http://jp.bitcomet.com/portmapping.htm

特定の TCP ポート範囲を選択して許可した場合、セキュリティ上のリスクがあることにご注意ください。 これは、これらのポートが BitTorrent 以外でも利用できるためです。

サーバ側にファイアウオールが設定されていて、クライアント側でダウンロードを行ないたい場合

ここでの例は SUSE 9.0 サーバでの設定例です。 ktorrent を利用する場合、ポート 6881 をクライアント側に転送する必要があります。これは /etc/sysconfig 内にある SuSEfirewall2 ファイルを編集することで行ないます。

SuSEfirewall2 ファイル内にある FW_FORWARD_MASQ の行を、下記のように修正します:

FW_FORWARD_MASQ="0/0,10.3.204.103,tcp,6881"

ここで 10.3.204.103 にはクライアントの IP アドレスを入力します。

ファイルを修正して保存したら、ファイアウオール機能を再起動させます。これは "SuSEfirewall2" と入力して Enter を押すことで実行できます ("restart" などのオプションは不要です) 。

ミラーサーバによる BitTorrent での配布

openSUSE のディレクトリツリーの完全コピーをお持ちの場合、下記のコマンド (BitTorrent パッケージ内にあるプログラムです) を実行すると、すべてのクライアントに対して配布を行なうことができます:

btlaunchmany --display_interval 60 --max_upload_rate 1000 --saveas_style 2 --torrent_dir /pub/opensuse/

ここで 1000 には BitTorrent で配信する速度を KB/s の単位で指定し、 /pub/opensuse/ には openSUSE のディレクトリツリーの場所を指定します。

なお、ツールが起動すると警告メッセージが表示されますが、無視してかまいません。これは BitTorrent が SL-OSS-current のシンボリックリンクを読み取った際に、配布先で正しく動作するかどうかが不明であるためです。

なお、ミラーリングでデータを受信する際は、あらかじめツールを停止する必要があります。そうでないと、同期処理が阻害されてしまいます。データ受信後には再度ツールを起動し、配信を再開させてかまいません。


Azureus を利用し、 BitTorrent 経由で ISO イメージを共有する方法

openSUSE を広めるため、できるかぎり長い期間アップロード状態にしておいてください。 Azureus のダウンロード一覧から削除してしまった場合、再度追加することでアップロード状態にすることができます。

  1. まずは .torrent ファイルがどこにあるのかを確認します。無くしてしまった場合は再度ダウンロードします ( http://download.opensuse.org/distribution/11.3/ などからダウンロードできます)
  2. イメージのバックアップを別のディレクトリに保管しておきます
  3. Azureus を起動し、 File -> Open -> Torrent File を選択します
  4. 上半分の領域に Torrent ファイルを追加します
  5. 下半分の領域で、ダウンロード先のディレクトリを変更します
  6. OK を押し、検証が終わるのを待ちます

検証が終わると Azureus は torrent を自動的にシード用のウインドウに転送されます。 torrent がシード用のウインドウに転送されない場合は、ダウンロードウインドウの該当項目をマウスの右ボタンで選択し、 Re-check (再検証) を選択してください。 '状況' の列の値が 0% から 100% まで増えていきますので、 100% に到達したら移動が行なわれます。