J'ai créé un fichier tar.gz (en utilisant l'interface graphique, pas la ligne de commande). Comment puis-je le mettre à jour avec une commande que de nouveaux fichiers sont ajoutés et que les fichiers modifiés sont également mis à jour?
32
Réponses:
Vous utiliseriez normalement le drapeau -u pour cela. Depuis la page de manuel de tar:
donc cette séquence fera ce dont vous avez besoin:
Pour un aperçu un peu plus détaillé, voir ici: http://www.gnu.org/software/tar/manual/html_node/how-to-update.html
la source
Solution / Contournement
Vous ne pouvez pas mettre à jour l'archive TAR compressée ( .tar.gz ) en une seule étape. Mais, si vous avez suffisamment d'espace libre, vous pouvez le faire:
Extrayez le fichier .tar du fichier .tar.gz :
gunzip filename.tar.gz
Mettre à jour le fichier .tar non compressé avec la
tar -u
commande:tar -uf filename.tar new_file
Compressez le fichier .tar mis à jour :
gzip filename.tar
Accélérer
Si vous avez un processeur multicœur, je recommande d'utiliser
pigz
au lieu degzip
pour extraire et créer des fichiers .gz . (pigz
est une implémentation multi-thread degzip
)Remplacez simplement
gzip
/gunzip
commandes parpigz
/unpigz
.Manuels connexes
la source
Si vous souhaitez mettre à jour un fichier particulier dans un
*.tar.gz
fichier, procédez comme suit:Entrez
vi
d'où letar
fichier est disponiblePar exemple, si vous souhaitez modifier simple.tar.gz qui se trouve sous le
/home/test/
répertoire:Et dans l'éditeur vide, entrez
:n simple.tar.gz
et appuyez sur, Enter vous obtiendrez la liste des dossiers et des fichiers, déplacez le curseur là où vous souhaitez modifier et cliquez Enter. Il montrera l'vi
éditeur du fichier particulier. Puisi
option pour changer le fichier. Après le changement réussi. Appuyez sur la Esctouche et choisissez:wq
d'écrire et de quitter le fichier. Utilisez ensuite:q
pour sortir de la liste des fichiers.la source
Si vous allez le faire à plusieurs reprises, une optimisation peut être:
la source