次のページ 前のページ 目次へ

2. ファイルの展開

必要なソフトウェアのパッケージは、ダウンロードするなどして既に入手して いるものとします。もっとも出回っているのは、tar でアーカイブして gzip で圧縮してある .tar.gz または .tgz の形式です(よく "tarball" と言われ ます)。まずは、このアーカイブファイルを作業ディレクトリにコピーします。 次に、tar の展開gunzip を行います。これを行うため のコマンドは tar xzvf [ファイル名]です。 言うまでもなく、[ファイル名] とはアーカイブファイルのことで す。普通は、展開を行うと新たにディレクトリが作られて、そのディレクトリ の中に適当なファイルが展開されます。注意: もしパッケージのファイル名に .Z という拡張子がついていたら、上記の方法でも全く差し支えあり ませんが、uncompress [ファイル名] とした後で、 tar xvf [ファイル名] としても展開できます。展開によっ てどんなファイルが作られるかは、tar tzvf [ファイル名] で前もって調べられます。このコマンドは実際にアーカイブを展開することな く中に入っているファイルのリスト表示だけを行います。

"tarball" を展開する上記の方法は、以下の両方と同じ動作です:

  • gzip -cd filename | tar xvf -
  • gunzip -c filename | tar xvf -
('-' を付けると、tar コマンドは標準入力から入力を行 います。)

bzip2(.bz2)という新しい圧縮形式で圧縮されたソースファイル は bzip2 -cd [ファイル名] | tar xvf - とすれば展開 できます。あるいは、tarp に bzip2 のためのパッチが当たってい るなら、単に tar xyvf [ファイル名] とすれば展開できます (詳しくは Bzip2 HOWTO (日本語版: http://www.linux.or.jp/JF/JFdocs/Bzip2/Bzip2.html/, 英語版: ftp://metalab.unc.edu/pub/Linux/docs/HOWTO/mini/Bzip) を参照してください)。Debian GNU/Linux では Hiroshi Takekawa が書いた別 のパッチを tar に当てており、そのバージョンの tar で は -I, --bzip2, --bunzip2 オプションが使えます。

[上記の情報の訂正と更新について R. Brock Lynn と Fabrizio Stefani に深く感謝します。]

場合によっては、アーカイブファイルはユーザのホームディレクトリや、ある いは別の特定のディレクトリ(/, /usr/src, /opt 等)に展開しなければなりません。これはソフトウェアパッケージの設定情報 で指定されているでしょう。アーカイブファイルを展開しているときにエラー が出たなら、このことが原因かもしれません。パッケージ付属のドキュメントファイル (特に READMEInstall ファイル)があれば、そのドキュ メントを読み、必要に応じて設定ファイルや Makefile を編集してください。 注意: 思いもよらない結果になることがあるので、普通は Imakefile ファイルは編集しない方がいいでしょう。 ほとんどのソフトウェアパッケージでは、この手順は自動化されており、 make install と実行すればバイナリファイルが所定のシステム領域 に自動的に置かれます。

  • インターネット上のニュースグループあたりだと shar ファイル、つまりシェルアーカイブ(SHell ARchive) 形式のファイルに出食わすかもしれません。shar 形式が未だに使わ れているのは、この形式は人間が読めるので、ニュースグループのモデレータ が shar 形式で投稿された記事を整理し、不適切なものを排除でき るからです。この形式は unshar [ファイル名].shar コマンドで展開できます。その他の点では "tarball" と同じように扱います。

  • 一部のソースアーカイブは、DOS や Mac, ことによっては Amiga の 標準でない圧縮ユーティリティで処理されていることがあります。これには zip, arc, lha, arj, zoo, rar, and shk 等があります。幸い、 Sunsite 等のサイトには Linux 用の圧縮ユーティリティが置いてあり、これらのほとんど全てを扱えます。

時として、元のソースファイルからの変更点を記してある パッチ ファイルや diff ファイルを使って、展開したソースファイルを更 新したり、バグ修正を取り込んだりすることが必要な場合があります。 こういった場合にすべきことは、ドキュメントファイルや README ファイルにのっています。Larry Wall が開発した強力な patch ユーティリティの普通の使い方は patch < [パッチファイル]です。

さて、それでは、構築の段階へと進みましょう。


次のページ 前のページ 目次へ

[