1. s_mitu

    Posted

    s_mitu
Changes in title
+FreeBSD の tar がすごい
Changes in tags
Changes in body
Source | HTML | Preview
@@ -0,0 +1,28 @@
+一発ネタです。「今更気づいたか」という方も多いかも、と思いますが、何気に知られてないような気がしないでもないと勝手に思い書いてみます。
+
+#FreeBSD 独自進化の tar
+基本過ぎて改めて調べてなかったため最近今更ながら驚いたのですが、FreeBSD の tar は独自進化して、なんだか色々なファイルを開けるようになってます。
+man を読むと
+
+[man tar] (https://www.freebsd.org/cgi/man.cgi?query=tar&apropos=0&sektion=0&manpath=FreeBSD+10.2-RELEASE&arch=default&format=html)
+>`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](https://www.dragonflybsd.org/cgi/web-man?command=tar&section=ANY)は同等版のようです。