私はいつもGNUを使ってきましたtar
。しかし、私が見たすべてのGNU / Linuxディストリビューションはbsdtar
リポジトリにそれを提供します。一部のIIRCでは、デフォルトでインストールされているケースも見ました。私はPKGBUILDで見たように、Arch GNU / Linuxがbasedevel
(たぶんbase
、わかりませんが)の一部としてそれを要求すると確信しています。
bsdtar
代わりになぜGNUを使用したいのですかtar
?利点は何ですか?
私が質問者であることを参照してくださいBSDとGNU / Linuxユーザースペースの主な違いは何ですか?。
ベストアンサー1
Ubuntuは実際にはbsdtar
tarの実装でバンドルされています。libarchive
これは古典的なものとは異なるはずですbsdtar
。一部のBSDバリアントはlibarchive
FreeBSDなどのtar実装を使用します。
GNUtar
実際にサポート他のtar変種自動圧縮検出。
〜のように可視化する貼り付けた内容は、特定の内容を含むUbuntuの紹介ですlibarchive
。
libarchive
bsdtar
定義によると、これは既存のライブラリとは異なり、ライブラリですGNUtar
。libarchive
いくつかの古いよく知られていないGNU tarバリアントは読むことができません。特に、一部のヘッダーはbase64でエンコードされているので、tarファイルは7ビットの純粋なASCIIになります(これは1.13.6-1.13.11の場合であり、1.13から変更されました。libarchive
はbsdtar
tar以外のファイル(zip、iso9660、cpioなど)を読み込みますが、古典的なbsdtarは読みません。
これでlibarchive
問題が解決したので、ほとんどがクラシックでサポートされているものに帰結しますbsdtar
。
ここでマンページを見ることができます。
- GNUタール(1)
- FreeBSD タール(1)- libarchiveベース
- NetBSD タール(1)
- OpenBSD タール(1)
- 標準/ヒリタール(1)- 他の継承のない最も古い無料のtar実装
- ビジーボックス(1)- 組み込みシステムで非常に一般的なBusyBoxのミニタール実装
もともと質問でクラシックのメリットが何であるか尋ねましたが、bsdtar
実際にそのようなメリットがあるのかよくわかりません。本当に重要なのは、すべてのシステムで実行する必要があるシェルスクリプトを作成する場合は、渡した内容がすべてのバリアントでtar
実際に有効であることを確認する必要があることです。
GNUtar
、libarchive
' bsdtar
、classic bsdtar
、'はもちろん、ほとんどの場合接するtar実装ですが、(初期QNXなど)他の実装もあると確信していますstar
。 //機能が最も豊富ですが、多くの点で元の標準から外れてから古い(おそらくより良い方向)。BusyBox
tar
libarchive
GNUtar
star