2015-10-27 23 views
5

同じファイルを複数回tarファイルに追加してそのファイルを抽出すると、抽出されたバージョンが最後に追加されたバージョンと同等であることが保証されますか?重複したエントリ名を持つtarファイルからの抽出

~/tmp> echo hi > foo 
~/tmp> tar -cf bar.tar foo 
~/tmp> echo bye > foo 
~/tmp> tar -uf bar.tar foo 
~/tmp> tar -tf bar.tar 
foo 
foo 
~/tmp> rm foo 
~/tmp> tar -xf bar.tar foo 
~/tmp> cat foo 
bye 

それは意味がありますが、私はその趣旨の文書を見つけることができません。私は知り合いの誰かが知っているかもしれないか、あるいは誰かがこれが真実でない状況を知っているかどうか疑問に思っていますか?

答えて

2

Some documentation for tarが、これは言う:あなたはアーカイブからファイルを抽出するとき

、保存された唯一のバージョンで最後 は、ファイルシステムに羽目になるだろう。 '--extract'( '-x')は、ファイルの最後のバージョンである にファイル名が複数回現れた場合に、ファイル内の同じファイル名を持つファイルを順にアーカイブから取り除き、ファイルを という名前で上書きします。ファイルは抽出された直前の バージョンを上書きします。後でファイルの古いバージョンの をアーカイブに保存しないでください。

私の理解では、あなたが-kオプションを使用しない限り、-xは常にアーカイブに保存された最後のファイルを上書きする、ということです。

編集:GNU documenation for tarも参照してください。

+0

マニュアルの[tarオプション](https://www.gnu.org/software/tar/manual/tar.html#SEC42)セクションの '--occurrence'も参照してください。 –

関連する問題