C'è un modo per estrarre `tar` senza intasare


11

C'è un modo per tarestrarre senza ostruire?

Sto installando 12.04 e desidero ripristinare i miei dati dalla 10.10. Qualunque cosa specifica 12.04 che vorrei mantenere, cioè non voglio tarestrarre la versione 10.10. Se eseguo un ripristino generale, file come .bashrc verranno bloccati. c'è un modo per evitarlo?

Modifica: vorrei notare che un'immagine del disco ISO 12.04 avviata consente un aggiornamento dalla 10.10 (o qualsiasi altra cosa) e offre di conservare i vecchi dati. Ho provato questo ma mi sono lamentato che alcune applicazioni potrebbero essere lasciate rotte dopo l'aggiornamento. Ho deciso di riavviare e fare un'installazione pulita.

Risposte:


13

Ho difficoltà a capire cosa vuoi, ma se hai creato un file tar dell'intero sistema, credo che tu abbia creato un file tar molto grande che non ha uno scopo reale a meno che non ripristini completamente il file tar. Se volessi salvare i tuoi documenti, avresti dovuto fare un backup di quei documenti e nient'altro.

Dopo aver detto che tar ha diverse opzioni eleganti ...

--keep-old-files

Ciò non sovrascriverà i file esistenti.

--keep-newer-files 

Ciò manterrà tutti i file che hanno un timestamp più recente così com'è.

--no-overwrite-dir

Questo lascerà i metadati di una directory esistente così com'è.

Un manuale per tar è disponibile qui .

Ma consiglierei di estrarre il file tar su un altro supporto e ripristinare manualmente quei file. È il metodo più sicuro.


3
Anche con --keep-newer-files e --no-overwrite-dir, l'estrazione di un vecchio backup completo del sistema su un nuovo sistema lascerà il tuo sistema in uno stato di errore poiché molti file che non dovrebbero esserci verranno estratti. Dovresti semplicemente aprire l'archivio nella GUI con il file-roller ed estrarre i file specifici che desideri nella tua home directory.
psusi,

Accetto la mia ultima riga nella mia risposta :)
Rinzwind

2
@Rinzwind, hai ragione, il mio archivio ha un design difettoso. Molte esclusioni e ancora non abbastanza esclusioni, quindi è un disastro e pericoloso da ripristinare poiché sarebbe Maverick sovrascrivere su Precise. Il mio prossimo archivio sarà rigorosamente inclusioni. Il tuo suggerimento sul restauro manuale è buono.
H2ONaCl

8

Da tar (1) :

 -k, --keep-old-files
       don't replace existing files when extracting

Mi sembra chiaro. Se i file nel tarball sono memorizzati relativamente al tuo vecchio homedir:

tar xvkf backup.tar.gz -C ~

funziona anche durante la compressione.
nyxee,

@nyxee Funziona anche quando si tenta di estrarre un archivio compresso (ad es tar xvkzf backup.tar.gz -C ~.). Non penso che venga riconosciuto quando si tenta di creare un nuovo archvie ( tar czf foo.tar.gz foo/) se lo si sta chiedendo.
Lekensteyn,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.