paxコマンドの使い方

以下、インストーラ(for Mac)の作成のために調べたものです。

基本四種
リード(-r)
ライト(-w)
コピー(-r -w)
リスト(none)

リード

openしてsystemに任せちゃえばよいので、ここでは書きません。

ライト

e.g.

pax -w -z -x cpio -f Archive.pax.gz ./miscs

こんな感じで作れる。

コピー

e.g.

$ pax -rw Files/ Destination/

DestinationディレクトリにFilesディレクトリがコピーされる。リソースフォークはどうなるか知らない。

リスト

すでにあるpaxアーカイヴの内容をリスト表示してくれる。
e.g.

$ zcat Archive.pax.gz |pax
./miscs
./miscs/Firefox
./miscs/Firefox/toolkit.jar

Options

-c 引数に入れた文字列にマッチするファイルを表示しなくすることとかもできる。

$ zcat Archive.pax.gz |pax -c *jar
./miscs
./miscs/Firefox

-v
  • リスト
    • ls -lの見た目でアーカイヴ内容を表示*1 *2
  • ライト
    • アーカイヴするファイル群を表示する。
-z
  • ライト

gzipを使う

  • リード、リスト

gzipのも読める。

$ cat Archive.pax.gz |pax -z
./miscs
./miscs/Firefox
./miscs/Firefox/toolkit.jar

あるいは

$ pax -z -f Archive.pax.gz

-x フォーマットの指定(ライトのみ)

使えるフォーマットはいろいろある

  • cpio
  • bcpio
  • sv4cpio
  • sv4crc
  • tar
  • ustar

それぞれについてはよく知りません。まあcpioとか使えばいいのかな。。

-s replstr
  • リード、ライト、リスト、コピー

sedライクに入出力ファイル名を置換できる。少なくともライトについていえば、これを使うよりも実際にファイルの名前を変更すれば十分だと思う。

-o
  • ライトのみ
  • xで指定したフォーマットのアルゴリズムに対するパラメータを記述できる、ようだ。

*1:でもここでみえるowner,group,permittionでinstallされるのかどうかはわかりません。bomファイルの情報を読むのか、それとも...

*2:iTunesを落として見てみたら、bomもpaxもroot/adminとかだった