使用するtarballを解凍するにはどうすればよいですか。xz?

私はtarballsを抽出するのに慣れています -xfz gzipおよびbzip2アーカイブを処理するフラグ。

最近、私はに遭遇しました .tar.xz ファイルと私はそれを使用してワンステップで解凍したいと思います tar、どうすればいいですか?

UbuntuにはGNU tarが含まれており、形式自体を認識します。 1つのコマンドは、サポートされている任意の圧縮方法で動作します。 マニュアル.

tar xf archive.tar.xztar xf archive.tar.gztar xf archive.tar

など。 Tarが与えられた場合、 Cannot exec エラー、あなたがする必要がある場合があります sudo apt install xz-utils 最初に。

試してみてください

tar -xJf file.pkg.tar.xz

その -J 具体的に扱うフラグです。xzファイル。

何らかの理由で tar 解決策は機能しません(おそらくOS Xの組み込みを使用しているため)、これを試してください:

unxz < file.tar.xz > file.tar

...これは次のものと同等です:

xz -dc < file.tar.xz > file.tar

その後、使用します tar ファイルを解凍する。

xzは可逆データ圧縮機です。 Xzからtarボールを抽出してから、tarを抽出する必要があります:

unxz my_archive.tar.xz      # results in my_archive.tar

次に、タールを抽出することを知っています

tar -xf my_archive.tar

ソース: XZ Utils-Wikipedia.

私は同じ問題を抱えていた、 tar xf コマンドを抽出できませんでしたit.To これを修正するには、インストールする必要があります xz-utils パッケージ。解決策は次のとおりでした:

sudo apt-get install xz-utils

その後:

tar xf myfile.tar.xz
tar -xvf package.tar.xz

-x -ファイルの抽出

-v -処理されたファイルをverboselyリスト

-f -指定したアーカイブファイルを使用する

あなたが古いバージョンを持っている場合は、それを追加したいだけです GNU tar バージョン1.22より前のバージョンでは、--xzおよび-Jオプションが使用可能になったときに、tarを圧縮または解凍できました。を使用したxzファイル --use-compress-program xz. 例えば,

tar --use-compress-program xz -cf example.tar.xz file1 file2 file3

または

tar --use-compress-program xz -xf example.tar.xz

Tarが圧縮形式を認識する場合は、フラグは必要ありません:

tar xvf *.tar.xz

たとえば、tarがxzを認識するには古すぎたり、特別なパスが必要な場合など、入力を手動で解凍する必要がある場合:

xz -cd *.tar.xz | tar xvf -

パイプは、非圧縮の中間ファイルを作成するよりも高速であり、あまりにも少ないディスク領域を使用します!

うわー、それは本当に良いものです。 それはMac上で7zipで行われましたか? これを試してみてください:

7z x -so file.tar.xz | tar xf -

私は好きです dtrx

sudo apt install dtrxdtrx your-file.tar.xz

まだ存在しない場合は、xz-utilsをインストールする必要があるかもしれないことに注意してくださ

tar --help lists tar flags.
-xzf applies to gzip.
-xjf to bz2.
-xJf to xz.

ここにあなたのためにtarフラグを推測する私の小さなスクリプトがあります:getting tired of guessing tar flags in 2013? · GitHub

Tarでこれを行う方法よりも良い質問:unarまたは7zを使用し、あなたのタイプのアーカイブに適したプログラムを再度選択する心配はありません。 これは、より多くのアーカイブタイプが来ることを楽しみにして唯一の実現可能な解決策です。 あなたが技術的な詳細を気にしない限り。…