Existe-t-il un moyen d'extraire le goudron sans clobber

11

Existe-t-il un moyen d' tarextraire sans clobber?

J'installe 12.04 et je souhaite restaurer mes données à partir de 10.10. Tout ce qui est spécifique à 12.04 que je voudrais garder, c'est-à-dire que je ne veux pas que la tarversion 'd 10.10 soit extraite. Si je fais une restauration générale, des fichiers tels que .bashrc seront détruits. Y a-t-il un moyen d'éviter cela?

Edit: je voudrais noter qu'une image disque ISO 12.04 démarrée permet une mise à niveau à partir de 10.10 (ou autre) et qu'elle propose de conserver les anciennes données. J'ai essayé mais il s'est plaint que certaines applications pourraient être cassées après la mise à niveau. J'ai décidé de simplement redémarrer et de faire une installation propre.

H2ONaCl
la source

Réponses:

13

J'ai du mal à comprendre ce que vous voulez, mais si vous avez créé un fichier tar de l'ensemble de votre système, je crois que vous avez créé un très gros fichier tar qui n'a pas de véritable utilité, sauf si vous restaurez complètement le fichier tar. Si vous vouliez enregistrer vos propres documents, vous auriez dû faire une sauvegarde de ces documents et rien d'autre.

Après avoir dit que tar a plusieurs options astucieuses ...

--keep-old-files

Cela n'écrasera pas les fichiers existants.

--keep-newer-files 

Cela conservera tous les fichiers qui ont un horodatage plus récent tel quel.

--no-overwrite-dir

Cela laissera les métadonnées d'un répertoire existant telles quelles.

Un manuel pour tar peut être trouvé ici .

Mais je conseillerais d'extraire le fichier tar sur un autre support et de restaurer manuellement ces fichiers. C'est la méthode la plus sûre.

Rinzwind
la source
3
Même avec --keep-newer-files et --no-overwrite-dir, l'extraction d'une ancienne sauvegarde complète du système sur un nouveau système laissera votre système dans un état bousillé car de nombreux fichiers qui ne devraient pas s'y trouver seront extraits. Vous devez simplement ouvrir l'archive dans l'interface graphique avec file-roller et extraire les fichiers spécifiques que vous souhaitez dans votre répertoire personnel.
psusi
Je suis d'accord selon ma dernière ligne dans ma réponse :)
Rinzwind
2
@Rinzwind, vous avez raison, mes archives ont un design défectueux. De nombreuses exclusions et toujours pas assez d'exclusions, c'est donc un gâchis et dangereux à restaurer car ce serait l'écrasement de Maverick sur Precise. Mes prochaines archives seront strictement des inclusions. Votre suggestion concernant la restauration manuelle est bonne.
H2ONaCl
8

Du goudron (1) :

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

Cela me semble clair. Si les fichiers dans l'archive sont stockés par rapport à votre ancien homedir:

tar xvkf backup.tar.gz -C ~
Lekensteyn
la source
cela fonctionne-t-il également lors de la compression.
nyxee
@nyxee Cela fonctionne également lorsque vous essayez d'extraire une archive compressée (par exemple tar xvkzf backup.tar.gz -C ~). Je ne pense pas qu'il soit reconnu lorsque vous essayez de créer un nouvel archvie ( tar czf foo.tar.gz foo/) si vous posez des questions à ce sujet.
Lekensteyn