LoginSignup
17

More than 5 years have passed since last update.

FreeBSD の tar がすごい

Last updated at Posted at 2015-12-12

一発ネタです。「今更気づいたか」という方も多いかも、と思いますが、何気に知られてないような気がしないでもないと勝手に思い書いてみます。

FreeBSD 独自進化の tar

基本過ぎて改めて調べてなかったため最近今更ながら驚いたのですが、FreeBSD の tar は独自進化して、なんだか色々なファイルを開けるようになってます。
man を読むと

man tar

This implementation
can extract from tar, pax, cpio, zip, jar, ar, xar, rpm, 7-zip, and ISO
9660 cdrom images and can create tar, pax, cpio, ar, zip, 7-zip, and shar
archives.

gzip / bzip2 / xz は当然のこととして(gzip すら当然じゃないtarもありますが)、 Winzip / 7zip / CD イメージの ISO9660 イメージなんてものまで展開できます。

tar xvf hogehoge.iso

上記でtar が何のアーカイブか自動判別して展開します。

Winzip / 7zip は圧縮にも対応しています。sharの作成も tar できます。

tar aczvf test.shar *

a (--auto-compress)オプションを指定すると、サフィックス(.shar)で自動的になんのファイルを作るか判断してくれます。

ディスクイメージは、メディアに焼くか、mdconfig でメモリディスクを作って mount するのが中身を見る基本ですが、iso9660 に限れば FreeBSD なら tar 一発で中身が見られて楽ちんというわけです。

FreeBSD の tar は Version 5.3 からアーカイブファイル操作用ライブラリ libarchiveを使うようになって、libarchive がサポートしているアーカイブファイルがそのまま使えるようになっています。
gnu tar や NetBSD / OpenBSD はこのような節操のない豊富な対応はありません。ちなみに枝分かれが割と最近(と言っても10年以上立ってしまいましたが)のDragonFly BSDのtarは同等版のようです。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
17