Outils pour utilisateurs

Outils du site


tech:shell_gnu_tar_-_commande_tar

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
tech:shell_gnu_tar_-_commande_tar [2025/06/06 09:36] Jean-Baptistetech:shell_gnu_tar_-_commande_tar [2026/03/05 10:41] (Version actuelle) Jean-Baptiste
Ligne 1: Ligne 1:
 +<!DOCTYPE markdown>
 +{{tag>Brouillon Archive}}
 +
 +# Shell GNU tar - Commande tar
 +
 +
 +~~~bash
 +man tar
 +info tar
 +~~~
 +
 +
 +## Exemples / options
 +
 +### Inclusion / Exclusion
 +
 +~~~bash
 +tar --exclude=/data/sub1 --exclude=/data/sub2 --exclude=/data/sub3 --exclude=/data/sub4 -cf /home/_data.tar /data 
 +~~~
 +
 +~~~bash
 +tar --exclude='*/.git/*' -cf /home/_data.tar /data 
 +~~~
 +
 +
 +Spécifier le chemin racine - éviter 'cd'
 +
 +Utiliser l'option ''-C'' pour indiquer le chemin
 +~~~bash
 +tar czf ~/tmp/nagios.tgz -C ~/tmp/ --exclude='.git' --owner=1013 --group=250 nagios/
 +~~~
 +
 +
 +Archiver des fichiers cachés (dot files)
 +~~~bash
 +tar cvjf archive.tar.bz2 --exclude .. --exclude . .*
 +~~~
 +
 +
 +#### Dot dir dossier point à la racine
 +
 +##### Creation d'archive
 +
 +Dossier "." (dot dir) à la racine de l'archive
 +~~~
 +$ tar czvf ../plop.tar.gz .
 +./
 +./plop.tar.gz
 +./check_routerHA.sh
 +
 +$ tar czvf ../plop.tar.gz *
 +check_routerHA.sh
 +plop.tar.gz
 +
 +# Ou encore 
 +$ tar czvf ../plop.tar.gz --xform="s,^./,," ./*
 +
 +# Ou
 +#find . -print0  | tar -T - --null --no-recursion -czf ../plop.tar.gz
 +$ find . -printf "%P\n"  | tar -czf ../plop.tar.gz --no-recursion -T -
 +
 +# Autre
 +# find -mindepth 1 .
 +~~~
 +
 +
 +##### Extraction d'archive
 +~~~bash
 +tar --strip-components 1 -xvf plop.tar.gz
 +~~~
 +
 +
 +
 +### Droits / permissions / owner
 +
 +GNU tar allows you not to preserve the owner and permissions.
 +~~~bash
 +tar -c -f archive.tar --owner=0 --group=0 --no-same-owner --no-same-permissions
 +~~~
 +
 +
 +
 +### Compression
 +
 +~~~
 +gzip: warning: GZIP environment variable is deprecated; use an alias or script
 +~~~
 +
 +L'ancienne commande 
 +~~~bash
 +GZIP=-9 tar -zcf ... files to compress ...
 +~~~
 +
 +Devient 
 +~~~bash
 +tar -I 'gzip -9' -cf ... files to compress
 +~~~
 +
 +
 +
 +## Autres outils
 +
 +Voir aussi 
 +* cpio
 +* archivemount (et avfs / mountavfs)
 +
 +
 +
 +### pkgdiff / tardiff (html diff was produced by rfcdiff)
 +
 +pkgdiff pour faire un diff de deux fichiers tar
 +~~~bash
 +pkgdiff -hide-unchanged nagios-3.0_v001.tgz nagios-3.0_v002.tgz
 +~~~
 +
 +**pkgdiff** se base sur l'extention du fichier**
 +~~~bash
 +# Ne pas faire :
 +pkgdiff -hide-unchanged plop.tgz plop.tgz2
 +
 +# Mais faire :
 +mv plop.tgz2 plop2.tgz
 +pkgdiff -hide-unchanged plop.tgz plop2.tgz
 +~~~
 +
 +Cela génére un rapport HTML.
 +
 +Il y a aussi tardiff **mais il bug**
 +~~~bash
 +tardiff nagios-3.0_v001.tgz nagios-3.0_v002.tgz
 +
 +# BUG: L'option ''-m'' ne fonctionne pas
 +# C'est comme si cette option était ignorée
 +# tardiff affiche bien les fichiers ajoutés mais pas les fichiers modifiés
 +tardiff -m nagios-3.0_v001.tgz nagios-3.0_v002.tgz
 +~~~
 +
 +Cela revient à 
 +~~~bash
 +diff <(tar tf nagios-3.0_v001.tgz | sort )  <(tar tf nagios-3.0_v002.tgz | sort )
 +
 +# Pour les droits, propriétaire, date
 +diff <(tar tvf nagios-3.0_v001.tgz | sort )  <(tar tvf nagios-3.0_v002.tgz | sort )
 +~~~
 +
 +
 +## Autres
 +
 +Voir :
 + * ''--strip-components=NUMBER''
 + * ''--strip''
 +
 +
 +
 +
 +
 +## Pb
 +
 +
 +
 +
 +### Erreur Cannot hard link to
 +
 +~~~
 +$ tar -xzf Maildir.tar.gz Maildir/.Sent/
 +tar: Maildir/.Sent/cur/1665228871.M836500P20407.vps788223,S=3786957,W=3836179\:2,S: Cannot hard link to ‘Maildir/.Trash/cur/1665228871.M836500P20407.vps788223,S=3786957,W=3836179:2,S’: No such file or directory
 +tar: Exiting with failure status due to previous errors
 +~~~
 +
 +Monter une archive tar.gz
 +~~~bash
 +sudo apt-get install archivemount
 +mkdir ~/mnt
 +archivemount Maildir.tar.gz ~/mnt/
 +rsync -axv ~/mnt/Maildir/.Sent/ Maildir/.Sent/
 +fusermount -u ~/mnt
 +~~~
 +
 +
 +
  

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki