2015-10-27 20 views
5

Se si aggiunge lo stesso file in un file tar più volte, quindi si estrae il file, si è certi che la versione estratta sia equivalente a quella che è stata aggiunta per ultima?estrazione da un file tar con nomi di voci duplicate

~/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 

Ha senso che lo sarebbe, ma non riesco a trovare alcuna documentazione in tal senso. Mi chiedo se qualcuno del sapere potrebbe saperlo, o se qualcuno conosce una circostanza in cui ciò non è vero?

risposta

2

Some documentation for tar dice questo:

Quando si estrae un file dall'archivio, solo la versione memorizzata ultima finiranno nel file system. Poiché "--extract" ('-x') estrae i file da un archivio in sequenza e sovrascrive i file con lo stesso nome nel file system, se un nome file appare più di una volta in un archivio l'ultima versione di il file sovrascriverà le precedenti versioni che sono state appena estratte. Evitare di memorizzare le versioni precedenti di un file in un secondo momento nell'archivio.

mia comprensione è che, se non si utilizza l'opzione -k, -x sarà sempre sovrascrivere con l'ultimo file memorizzato nell'archivio.

Modifica: vedere anche GNU documenation for tar.

+0

Vedere anche '--occurrence' nella sezione [tar Options] (https://www.gnu.org/software/tar/manual/tar.html#SEC42) del manuale. –