3

大きなtar.bz2ファイルをいくつかの小さなファイルに分割し、それらの小さなtar.bz2ファイルをUbuntuで個別に抽出できますか?

ありがとう、

4

4 に答える 4

4

簡単にはできないと思います。Aは単一のストリームであり、アーカイブ内の特定のファイルの先頭にスキップできる.tar.bz2ようなインデックスはありません。ユーティリティzipを使用してファイルを分割し、パーツよりもそれらを抽出できます(ディスクに貼り付けたファイルが再作成されないように、stdinを介してこれを行うことができます)。最初のフラグメントは個別に抽出できますが(おそらく破損する可能性のある最後のファイルを除く)、それ以降のフラグメントは、その前にある1つがないと使用できません。splitcat

于 2012-04-23T14:26:31.533 に答える
3

これについてまだ助けが必要かどうかはわかりませんが、少なくとも分割コマンドと tar (bz2) 圧縮を併用できる方法を見つけました。各ファイルを個別に抽出する限り、このオプションはファイルを全体の一部として認識します (Winzip が複数のボリュームにまたがる場合と同様に...ボリュームの 1 つが見つからない場合、アーカイブ全体が破損しています)。とは言うものの:

分割ファイルの作成。これにより、「aa、ab、ac」の指定でファイルが順番に作成されることに注意してください。

tar -cv(z/j)f - (アーカイブするファイル) | split -b(4000m などのバイト単位のサイズ) - (出力アーカイブ ファイルの名前)

分割ファイルの抽出:

猫 (ファイル*) | bzcat/gunzip(-d) | タール (t/x)v(j/z)f -

(「j」オプションを使用した場合、bzcat はパイプ内に入ります) または (「z」オプションを使用した場合、gunzip はパイプ内に入ります)。エラーが発生した場合は、これら 2 つのパイプ内で「gunzip -d」を使用する必要がある場合もあります。

于 2014-05-06T19:20:51.020 に答える
3

オプションを試すことができ--multi-volumeます:

tar -cf archive.tar --multi-volume --tape-length 1024 folder

残念ながら、圧縮されたアーカイブでは機能しません。

tar: Cannot use multi-volume compressed archives

ボリュームを個別に圧縮できますが、ボリュームのサイズはかなり異なる場合があります。

それがあなたのユースケースを解決することを願っています。

于 2012-04-23T14:37:16.987 に答える