3.1. はじめに

この章では基本的な Linux システム構築のためにダウンロードするべきパッケージ一覧を示します。 各パッケージのバージョンは動作が確認されているものを示しており、本書ではこれに基づいて説明します。 ここに示すバージョンよりも新しいものは使わないようお勧めします。 あるバージョンでビルドしたコマンドが、新しいバージョンでも動作する保証はないからです。 最新のパッケージの場合、何かの対処を要するかもしれません。 そのような対処方法は本書の開発版において開発され安定化が図られるかもしれません。

ダウンロードサイトは常にアクセス可能であるとは限りません。 本書が提供された後にダウンロードする場所が変更になっていたら Google (http://www.google.com/) を使って検索してみてください。 たいていのパッケージを見つけ出すことが出来るはずです。 それでも見つけられなかったら http://www.linuxfromscratch.org/lfs/packages.html#packages に示されている方法に従って入手してください。

ダウンロードしたパッケージやパッチは、ビルド作業を通じて常に利用可能な場所を選んで保存しておく必要があります。 またソース類を伸張してビルドを行うための作業ディレクトリも必要です。 そこで本書では $LFS/sources ディレクトリを用意し、ソースやパッチの保存場所とし、そこでビルドを行う作業ディレクトリとします。 このディレクトリにしておけば LFS パーティションに位置することから LFS ビルドを行う全工程において常に利用することが出来ます。

ダウンロードを行う前にまずはそのようなディレクトリを生成します。 root ユーザーとなって以下のコマンドを実行します。

mkdir -v $LFS/sources

このディレクトリには書き込み権限とスティッキーを与えます。 「スティッキー (Sticky) 」 は複数ユーザーに対して書き込み権限が与えられても、削除については所有者しか実行出来ないようにします。 以下のコマンドによって書き込み権限とスティッキーを定めます。

chmod -v a+wt $LFS/sources

パッケージとパッチのダウンロードを簡単に行う方法として wget-list を利用する方法があります。 これは wget の入力引数に指定し利用します。

[注意]

日本語訳情報

本節にて wget-list のハイパーリンクが出てきますが、これは本来、拡張子を持たないファイル wget-list へのリンクです。 本書を Web サイト上に搭載した場合に MIME 設定 (その制約) によりアクセスが出来ないファイルとなってしまう可能性があります。 (実際に訳者がオンライン公開しているサイトでは、拡張子を持たないファイルを表示・ダウンロードできません。) そこで本書では wget-list.txt のように拡張子 .txt をつけるようにしました。 なお別途公開している本書の tarball では wget-listwget-list.txt を共に含めています。両者は全く同一内容です。

[注記]

日本語訳情報

上の wget-list は、次節に示されているパッケージやパッチのダウンロード URL を一覧列記しています。 これを wget とともに用いれば、必要なパッケージソースやパッチの一括取得ができるため大変便利です。 ちなみに LFS ブック原版では wget の具体的な使い方が示されていませんが、単純には以下のようなコマンド実行になるでしょう。 (wget-list ファイルを $LFS/sources ディレクトリにコピーして実行します。)

cd $LFS/sources
wget -N -i wget-list

LFS ブック原版では、それらの URL が主に米国サイトの URL となっています。 一方、日本に在住する日本の方であれば、例えば GNU のパッケージ類は国内に数多くのミラーサイトが存在するため、そちらから取得するのが適切でしょう。 これはネットワークリソースを利用する際のマナーとも言えるものです。 堅苦しい話をするつもりはありません。 国内サイトから入手することにすればダウンロード速度が断然早くなります。 メリットは大きいと思いますのでお勧めします。

国内から入手可能なものは国内から入手することを目指し、訳者は以下の手順により wget-list を書き換えて利用しています。 一例として国内には理化学研究所 (ftp.riken.jp) があります。 そこでは GNU パッケージ類がミラー提供されています。 そこで wget-list にて ftp.gnu.org を指し示している URL を ftp.riken.jp に置き換えます。 また Linux カーネルの入手先 (www.kernel.org) についても理化学研究所より入手可能ですので、これも置き換えます。

cp -pv wget-list wget-list.orig
sed -e 's|http://ftp\.gnu\.org/gnu/|http://ftp.riken.jp/GNU/ftp/gnu/|g' \
    -e 's|http://www\.kernel\.org/pub/linux/|http://ftp.riken.jp/Linux/kernel.org/linux/|g' \
       wget-list.orig > wget-list

注意する点として各パッケージが更新されたばかりの日付では、国内ミラーサイトへの同期・反映が間に合わず、ソース類が存在しないことが考えられます。 その場合には上の方法はすんなりとは実現できません。オリジナルの URL を用いるしかありません。

上記はあくまで一例です。 国内のミラーサイトは、ネットワーク的に "より近い" ものを選んでください。 またミラーサイトのディレクトリ構成はサイトによって変わります。必要に応じてコマンドを書き換えてください。 さらに上記の sed による一括置換は、パッケージやソースの今後の更新状況によっては提供 URL が変わり、 wget-list のすべての URL が正しいものにはならない可能性がありますから十分注意してください。 ダウンロードできなかった場合は、上記の sed コマンドを工夫するか、手作業にて wget-list を書き換えてください。