複数のコンピューターに大量のダウンロードを配布するにはどうすればよいですか?


38

大きなファイル(1GB)をダウンロードする必要があります。Linuxを実行している複数のコンピューターにもアクセスできますが、それぞれが管理ポリシーによって50kB / sのダウンロード速度に制限されています。

このファイルを複数のコンピューターにダウンロードして配布し、すべてのセグメントがダウンロードされた後にマージして、より速く受信できるようにするにはどうすればよいですか?


7
自宅でダウンロードして、USBサムドライブ経由でスニーカーネットに入れますか?
WernerCD 14

2
私が大学にいたとき、古い太陽のb&wステーションでこのようなものを覚えています。すべてのコンテンツを保存するのに十分なスペースがあるかどうかを確認してください。ラボのすべてのコンピューター(完全なtmp)をブロックした後、友人の1人が追放されました。
Kartoch

ダウンロードの制限がない場合、相手はどれくらいの速さでファイルを送信できますか?LAN上のコンピューター間で転送の制限はありますか?

@SunWKimいいえ。特定の制限はありません。
Meysam

回答:


60

HTTP、FTP、およびSFTPの一般的なプロトコルは範囲要求をサポートしているため、ファイルの一部を要求できます。これにはサーバーのサポートも必要であるため、実際には機能する場合と機能しない場合があります。

あなたは使用することができますcurlし、-rあるいは--rangeオプションでは、範囲を指定し、最終的にはちょうどするcatファイルを一緒にティン。例:

curl -r 0-104857600         -o distro1.iso 'http://files.cdn/distro.iso'
curl -r 104857601-209715200 -o distro2.iso 'http://files.cdn/distro.iso'
[…]

そして最終的に、個々のパーツを集めたとき、それらを連結します:

cat distro* > distro.iso

--headオプションを使用すると、ファイルのサイズなど、ファイルに関する詳細情報を取得できます。

curl --head 'http://files.cdn/distro.iso'

開いた範囲で最後のチャンクを取得できます:

curl -r 604887601- -o distro9.iso 'http://files.cdn/distro.iso'

その他のオプションと説明については、curlのmanページをご覧ください

sshとtmuxをさらに活用して、複数のサーバーでのダウンロードの実行と追跡を容易にすることができます。


15
注:使用cat distro* > ...するときは、ファイルの並べ替えをチェック*してください。シェルによって展開されたファイルは次のように並べ替えられる可能性がありますdistro1.iso distro10.iso distro11.iso ...。したがって、間違った順序で連結されます。
セバスチャン14

8
セバスチャンのノート@の修正は次のようになりますcat distro{1..10}.iso
nonchip

1
このソリューションはシェル固有であり、移植性がありません。cat $(seq -fdist%g.iso 1 10)より予測可能なはずですが、で失敗しcshます。$(…)backticsで置き換えることは、ほとんどのシェルで機能するようです。
マルコ14

3
@Marco seqも移植可能なコマンドではありません。あなたは使用することができdistro001.isodistro002.iso...distroy010.iso
ステファンChazelas

管理ポリシー、転送接続ごとに50 kB / s、またはコンピューターで許可される合計帯域幅です。前者の場合、異なるワークステーションにログインしなくても、同じコンピューターで回答を利用できます。

0

1ギガバイトのファイルを毎秒50キロバイトでロードするには、約5.5時間かかります。

複数のコンピューターを調整してパーシャルを取得することで、時間を節約できるようです。

BitTorrentを見て、ピア交換を介した転送とともにWebシーディングを利用できます。各クライアントは、ローカルエリアネットワーク(LAN)でピースを受信し、完了したピースを共有できます。各コンピューターで同じ1gbファイルになりますが、断片のマージは自動化されています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.