第2章 動作に必要なシステム環境

archを利用するには、すでに利用できるいくつかのソフトウェアツールが 必要になります。そのようなツールはPATHに存在している必要は ありません — arch は必要があれば、独自のPATH を利用することができます。

GNU Make archを構築するには、GNU Make が 必要です。

GNU Tar GNU tarが必要です。 もっと正確には、以下のようなオプションを持つ tar のバージョンが 必要です:

-zcf F

Fという名前の gzipで圧縮されたtarファイルを作ります。ここで F は -でもよく、この場合 tar ファイルは標準出力ストリームに 書き出されます。

-zxf F

F という名前の gzip圧縮されたファイルからファイルを抽出します。ここで F は -でもよく、この場合標準入力ストリームから tar ファイルを 読み出します。

-T -

このオプションは標準入力からファイルの一覧を読み込みます。そのような ファイルだけがアーカイブから読んだり書いたりする対象になります — 他のものは無視されます。

-m

ファイルを抽出するとき、修正時刻を復元しません。

GNU diff と GNU patch かなりの熟考の結果、archGNU のバージョンのdiffpatchに依存させることに決めました。 もっと正確には、「unified 形式」の出力(-uオプション) を生成することができ、その形式を理解でき、–– posixを理解することが できるようなバージョンのpatchが必要です。 (「文脈 diff」を使うことはささいなことで、そのため、標準的な diffpatchを使うことも、たいしたことではない のかも知れませんが、unified diff はもっとずっと読みやすく、このような重要な サブコマンドの特定の実装を選択することが、archの長期的な安定性 に寄与すると信じています)。

標準的なPosixのシェルツール パッケージのフレームワークは、標準的な Posix のシェルツールがシステムで利用可能で あることを仮定しています。現時点では sh/bin/shにインストールされている 必要がありますが、今後のリリースでは修正されるかも知れません:

        awk
        cat
        chmod
        date
        echo
        find
        fold
        grep
        head
        ls
        mkdir
        printf
        pwd
        rm
        sed
        sh
        tee
        test
        touch
        tsort
        wc
        xargs

通常の -exec 拡張を持った find findのバージョンは、長い文字列の文脈でも{} を展開 できるものである必要があります。たとえば:

        find . -exec echo ">>>{}<<<" ";"

は、 '>>>' と '<<<' で囲まれたすべてのファイルとディレクトリの一覧 を出力すべきです。GNU find はこのような性質を持っていますが、 ほとんどの実装でもそうでしょう。(Posix は明示的には{} が単独である 場合にのみ展開されるように要求しているだけで、長い文字列中に{} が 埋め込まれた場合についてはその意味を定義していません。)

null デバイス システムは、/dev/nullを持っていなくてはなりません。 /dev/null に向けた出力は、通常のやり方で、単に消えてしまう べきです。

BSD columnプログラム — おそらく もしプログラムcolumnPATH 上に存在 するなら、(あるいはarchによって利用されるパス上に存在 するなら)、それは入力をコラムに書式するものであり、-xオプション で行の前に列を埋めるものであるべきです。もしこのプログラムが見つからない場合には それは利用されません。