Metalinkの使用法
Metalinkを用いたダウンロードと言っても、操作自体は通常のダウンロードクライアントを用いた場合と大差ない。必要な準備は、Metalinkをサポートしたダウンロードマネージャを用意しておくだけだ。Linuxユーザであれば現状で、コマンドライン形式のaria2クライアント、GUI形式のwXDownload FastクライアントおよびFlashgot Firefoxプラグインが使用できる。KGet2に関しては、KDE4でのmetalinkへの対応が予告されている。その他のプラットフォームについても、対応したクライアントが用意されているので、必要なものを入手しておけばいいだろう。
ダウンロードクライアントの準備ができたら、次に行うべきはダウンロードしたいプロジェクトがmetalinkをサポートしているかを確認することだ。例えばOpenOffice.orgなどは既に7月の段階でMetalinkをサポートしている。またpackages.roも、いくつかのメジャーなディストリビューションやアプリケーションに対してはMetalinkに対応済みだ。
Metalinkの利用範囲はISOやソフトウェアパッケージのダウンロードだけではなく、パッケージのアップデートにも広がりつつある。これは将来的な計画だが、Arch Linuxはパッケージ管理アプリケーションのpacmanをMetalinkに対応させて、アップデート処理の高速化と高信頼化を図るとのことだ。
実装が見送られた機能
今日に至るもMetalinkの認知度はそれ程高くはないが、Anthony Bryan氏が最初にこのユーティリティを作成したのは11年も前のことだ。その当時、各種のダウンロードマネージャに同標準を実装してもらうに当たって、プログラムに要する手間が膨大である割には大部分のユーザにとって利用度が低いと判断された機能については、いくつか実装を見送ることになった。例えば、負荷に応じて特定のミラーを選択するという処理も、その際に省略された機能の1つだ。これはサーバの負荷状況を反映したmetalinkを作成して、優先順位の設定を調整するという機能である。その他の構想としては、MetalinkヘッダにあるURL情報をアップデートさせて、ミラーの削除や追加が行われていないかをクライアント側でチェックするという機能も考えられていた。
省略された機能の中には、ダウンロードファイルとして利用可能なバージョンをMetalinkに一覧すると同時に、対応している言語やオペレーティングシステムの情報も取得させるという処理も含まれていた。この場合、事前に保存しておいた設定ないしコマンドラインスイッチの指定に従って、ダウンロード時に必要なバージョンのフィルタリングを行うのである。例えばFirefoxのダウンロードページを見てみると、提供されている3種類のプラットフォーム版のダウンロード用リンクが、すべての対応言語別に1つずつ一覧された状態になっていることが分かるだろう。これらのリンクの総数は膨大な数に上るはずだが、Metalinkを用いれば1つにまとめることが可能であり、その際の各ダウンロード時にどのバージョンが取得されるかは、クライアントの言語設定とオペレーティングシステムによって自動判定されるという仕組みになる。
Bryan氏の考えとしては、Metalinkの普及度が高まった暁にはこれらの機能の再実装に着手しても良いが、それを実現するためには各種のダウンロードクライアントやソフトウェアの提供元による協力が必要になるとのことだ。
まとめ
実際に私がMetalinkを使ってみた結果、かなりの好印象を感じることができた。これを利用できるユーザは、いちいち最速のミラーを探したり、ダウンロード結果を検証する煩わしさから解放されるはずだ。いくつかのファイルを複数のソースから同時に選択しておけば、利用可能な帯域幅を最大限有効に活用することもできる。またユーザによる細かな設定は一切不要なので、初心者であっても混乱することはないだろう。今後より多くのディストリビューション、ソフトウェアの提供元、ダウンロードクライアントがMetalinkを介したダウンロードに対応することを希望する次第である。
