開かれた世界の足もとの層:GNU tar の三文字
バージョン 1.35.90
要約
GNU tar はファイルとディレクトリを一つの書庫にまとめ、階層と権限と時刻の印を守る。縮めるのは gzip や xz、zstd の仕事だ。
おすすめ- ソフト名
- GNU tar
- バージョン
- 1.35.90
- 料金
- 無料
- オープンソース
- オープンソース
- OS
- LinuxmacOSWindows
- 更新日時
- 2026-10-05 13:53
Unix 系の環境には「すべてはファイルである」という古い言い回しが流れている。そのファイルを一つにまとめ、持ち運べる形にする標準のやり方が tar だ。GNU tar は GNU の企画から出た道具で、名は Tape Archive に由来する。データが磁気の帯に載っていた時代、ひと山のファイルを順に巻き取っていくのがこの道具の仕事だった。帯はとうに片隅へ退いたが、そこで生まれた形式は今も、ソースの頒布、ソフトのまとめ、系統の控えの通り道として使われている。
まとめることだけをする
.tar.gz は tar が縮めたものだ、と多くの人が思っている。そうではない。tar はファイルとディレクトリを一つの書庫に併せるだけで、その途中で付随の情報を守る。階層、権限の印、持ち主、時刻の印である。これらの細かい情報があるからこそ、書庫は別の機械で解いても家にいたときと同じ振る舞いをし、逆に手でファイルを移すと真っ先に失われるのもそこだ。小さくするのは他の者の仕事で、gzip や xz、zstd といった専用の道具に渡し、パイプで出力につなぐ。だから .tar.gz、.tar.xz、.tar.zst という見慣れた対が生まれる。前半が入れ物の名、後半が縮めた相手の名だ。二つを分けたことで双方がそれぞれの歩みで育ち、また、中がどうなっていようと解くのに一つの命令で済む理由にもなっている。縮める相手を後から取り替えても、他は何も変えなくてよい。何年も前に書かれた書庫が、組み上げたばかりの機械で今も開くのはそのためで、入れ物と符号化は二つの決定であって一つではない。
三つの文字で足りる
日々の使い方は三つの文字に縮む。c は書庫を作り、t は中身を並べ、x は解く。f でファイル名を指し、v を添えれば処理の様子が見える。文法が小さいので、一度覚えた人はまず忘れない。これだけ古い道具としては珍しいことだ。その三つの文字のまわりに、実際の仕事を可能にする力が並ぶ。前の記録以降に変わった分だけを運ぶ差分の書庫、ある入れ物を結果から外す指定、媒体の余裕が少ないときに幾つかに分ける分割。それらをスクリプトに包めば、同じ文法が誰も見ていない間に走り切る控えの流れになる。三つの文字を覚えるのに要る時間は、一本の記事を読むより短い。隠すものがないのも特徴だ。企画のファイルも、索引も、走らせる合間の状態も持たず、あるのは書庫と、それを読む命令だけである。使う側から見れば、持つ情報がそれだけだから扱いやすい。
頒布と控えの下の層
GNU tar は GPLv3 以降で頒布される自由なソフトウェアで、どの Linux の配布物にも入っている。macOS では仕組みが持つ版とは別に GNU の版を並べて置けるし、Windows にも移した版がある。開かれた企画のソースの包みは、ほぼ例外なくタールの形で配られる。管理する人が毎日走らせる全体の控えも差分の控えも、同じ道具に寄りかかっている。短く言えば、Unix 系の仕組みに触れる人は、探そうと探すまいと、必ずこれに出会う。しかも、それが何をしているのかを理解するより先に。同じ道具が頒布の両端に立つ。包みを作る側も解く側も同じ命令を使う。これだけ揃った対称は珍しい。
手入れは続き、歩みも続く
2026-09 の時点で、新しい安定の版は 1.35 であり、開発の線は「作り直せる包み」を入れつつある。同じソースの木から、どの機械で包んでも一バイトも違わないタールができるべきだ、という考えだ。それがどれほど効くかは聞こえより大きい。組み直して比べられる頒布は、その供給の鎖を本当に確かめられる頒布であり、一バイトの違いが追いかける値打ちのある信号になる。道具は無償で使え、ソースも文書も開かれている。命令の行に暮らす人にとっては、道具箱の隅ではなく真ん中に置くべきものだ。古いことはここでは理由にならない。理由は、この形式がすでにあるものを壊さずに育ち続けていることだ。道具箱の真ん中に置く理由も、結局そこにある。