SuSe10.3サーバーバージョンで作成されたtarballに問題があります。
.tarファイルのサイズは6.5GBですが、Ubuntu 9.10で解凍すると、結果のフォルダーのサイズは1.5GBになります。
使用されるコマンド:tar cvf
梱包用、tar xvf
開梱用。
おそらく誰かがこれを修正する方法を知っているでしょう、素晴らしいでしょう。
乾杯。
ディレクトリにシンボリックリンクまたはハードリンクがある場合、tarはそれぞれを個別のファイルとして追加している可能性があります。その後、Linuxファイルシステムで解凍すると、リンクが復元され、すべてが占めるスペースが少なくなります。
Tarは圧縮用ではなく、複数のファイルを含むファイルを作成するためだけのものです。そのため、通常はgzipまたはbzipを介してパイプされます。
小さなファイルがたくさんある場合は、tarでブロッキングとディレクトリオーバーヘッドが発生する可能性があります。重要な情報は、ソースディレクトリの大きさです。 tarは、ファイルにブロックを割り当てないことにより、ファイル内の空きスペースを圧縮している可能性があります。 --apparent-size
オプションをdu
に試してください。
tar -tf
によって生成されたファイルのリストを抽出されたファイルと比較してみることができます。 tar -xf
で抽出して、抽出でエラーが発生するかどうかを確認します。タールのコピーを再作成して、その大きさを確認してください。
paxを試してみることをお勧めします。少なくとも、これはCentOSでの呼び方です。 IIRC、無効なtarメンバーをスキップすることにより、破損したTARファイルを処理できます。それ以外の場合は、Python標準ライブラリのtarfileモジュールを試して、これをプログラムで実行することをお勧めします。私は何かをしました。数年前のように。
cpioを使用するとより良い結果が得られる可能性があります。これは大規模なバックアップにはるかに適しており、シンボリックリンクと特殊ファイルを正しく処理するようにスクリプト化できます。