Table des matières
Dernière mise-à-jour : 2020/01/30 03:27
Gestion de l'Archivage et de la Compression
Types de Sauvegardes
Sauvegarde complète
Dans ce cas on sauvegarde tous les fichiers et dossiers, toute la partition ou tout le disque :
La restauration nécessite :
- La dernière sauvegarde complète.
Avantage :
- Restauration plus rapide et plus simple que les restaurations à partir de sauvegardes différentielles et incrémentales.
Inconvénient :
- Nécessite plus d'espace de stockage que les sauvegardes différentielles et incrémentales.
Sauvegarde différentielle
Dans ce cas on sauvegarde des données modifiées ou nouvellement ajoutées sur la base de la dernière sauvegarde complète :
La restauration nécessite :
- La dernière sauvegarde complète,
- La dernière sauvegarde différentielle.
Avantage :
- Restauration plus rapide que la restauration à partir d'une sauvegarde incrémentale.
Inconvénient :
- Nécessite plus d'espace de stockage que la sauvegarde incrémentale.
Sauvegarde incrémentale
Dans ce cas, on ne sauvegarde que ce qui a changé depuis la dernière sauvegarde quelle qu'elle soit (complète, différentielle ou incrémentale) :
La restauration nécessite :
- La dernière sauvegarde complète,
- Toutes les sauvegardes incrémentales effectuées depuis, et dans l'ordre.
Avantage :
- Sauvegarde plus rapide que la sauvegarde complète ou différentielle,
- Nécessite moins d'espace de stockage que la sauvegarde différentielle.
Inconvénient :
- Plus longue à restaurer.
Sauvegarde décrémentale
Dans ce cas on sauvegarde tous les fichiers puis on produit une sauvegarde de ce qui a changé depuis la dernière sauvegarde complète. Cette sauvegarde est appelée une sauvegarde décrémentale :
La restauration nécessite :
- La dernière sauvegarde complète.
La restauration de J-1 nécessite :
- La dernière sauvegarde complète,
- La sauvegarde décrémentale J.
Par exemple pour obtenir un état du système J1 quand on est à J2, il convient de restaurer la sauvegarde complète de J2 qui est en réalité J2+J1 puis la sauvegarde décrémentale -J2. De cette façon et d'une manière mathématique on obtient : J2 + J1 -J2 = J1.
Avantage :
- Restauration plus rapide et plus simple que les restaurations à partir de sauvegardes différentielles et incrémentales.
Inconvénient :
- Nécessite plus de manipulation de données à chaque sauvegarde.
Archivage
Afin de poursuivre, il convient de créer une arborescence à sauvegarder :
root@ubuntu:~# mkdir -p /test/repY; mkdir /test/repZ root@ubuntu:~# cd /test/repY; touch Y1 Y2 Y3 root@ubuntu:/test/repY# cd /test/repZ; touch Z1 Z2 root@ubuntu:/test/repZ# ls -lR /test /test: total 8 drwxr-xr-x 2 root root 4096 oct. 18 14:33 repY drwxr-xr-x 2 root root 4096 oct. 18 14:34 repZ /test/repY: total 0 -rw-r--r-- 1 root root 0 oct. 18 14:33 Y1 -rw-r--r-- 1 root root 0 oct. 18 14:33 Y2 -rw-r--r-- 1 root root 0 oct. 18 14:33 Y3 /test/repZ: total 0 -rw-r--r-- 1 root root 0 oct. 18 14:34 Z1 -rw-r--r-- 1 root root 0 oct. 18 14:34 Z2
tar
Présentation
Le programme tar a été originellement prévu pour sauvegarder sur des bandes magnétiques, d'où son nom issu de tape archiver.
La commande tar peut sauvegarder vers :
- un fichier spécial, par exemple le nom d'un lecteur de bande,
- un fichier ordinaire sur disque,
- la sortie standard pour être utilisé dans un pipe.
Options de la Commande
Les options de la commande tar sont :
root@ubuntu:/test/repZ# tar --help Utilisation : tar [OPTION...] [FICHIER]... GNU 'tar' saves many files together into a single tape or disk archive, and can restore individual files from the archive. Examples: tar -cf archive.tar foo bar # Create archive.tar from files foo and bar. tar -tvf archive.tar # List all files in archive.tar verbosely. tar -xf archive.tar # Extract all files from archive.tar. Mode d'opération principal : -A, --catenate, --concatenate Ajouter des fichiers tar à une archive -c, --create Créer une nouvelle archive -d, --diff, --compare Trouver les différences entre l'archive et le système de fichiers --delete Effacer de l'archive (pas sur les bandes magnétiques !) -r, --append Ajouter des fichiers à la fin de l'archive -t, --list Afficher le contenu de l'archive --test-label Tester l'étiquette du volume d'archive et terminer -u, --update Ajouter seulement les fichiers plus récents que les copies présentes dans l'archive -x, --extract, --get Extraire les fichiers de l'archive Modificateurs d'opération : --check-device vérifier les numéros de périphériques lors de la création d'archives incrémentales (par défaut) -g, --listed-incremental=FICHIER Prendre en charge les sauvegardes incrémentales au nouveau format GNU -G, --incremental Prendre en charge les sauvegardes incrémentales à l'ancien format GNU --ignore-failed-read Ne pas s'arrêter à cause des non-zéros sur les fichiers illisibles --level=NOMBRE niveau de vidage d'archive incrémentale au nouveau format GNU -n, --seek L'archive peut être parcourue --no-check-device Ne pas vérifier les numéros de périphériques lors de la création d'archives incrémentales --no-seek L'archive ne peut pas être parcourue --occurrence[=NOMBRE] Traiter seulement l'occurrence n°NOMBRE de chaque fichier dans l'archive ; cette option n'est valable qu'accompagnée de l'une des sous-commandes « --delete », « --diff », « --extract » ou « --list » et lorsqu'une liste de fichiers est fournie soit sur la ligne de commande, soit avec l'option « -T ». NOMBRE vaut 1 par défaut. --sparse-version=MAJEURE[.MINEURE] Définir la version du format de dispersion à utiliser (implique « --sparse ») -S, --sparse Économiser efficacement l'espace dans les fichiers dispersés (fichiers à trous) Contrôle de l'écrasement de l'écriture -k, --keep-old-files don't replace existing files when extracting, treat them as errors --keep-directory-symlink preserve existing symlinks to directories when extracting --keep-newer-files Ne pas écraser les fichier préexistants qui sont plus récents que leur copie dans l'archive --no-overwrite-dir Préserver les métadonnées des répertoires préexistants --overwrite Écraser les fichiers préexistants lors de l'extraction --overwrite-dir Écraser les métadonnées des répertoires préexistants lors de l'extraction (comportement par défaut) --recursive-unlink Vider les hiérarchies avant d'extraire les répertoires --remove-files Supprimer les fichiers après les avoir ajoutés à l'archive --skip-old-files don't replace existing files when extracting, silently skip over them -U, --unlink-first Effacer chaque fichier préexistant avant l'extraction -W, --verify Tenter de vérifier l'archive après écriture Sélectionner le flux de sortie : --ignore-command-error ignorer les codes de sortie des processus fils --no-ignore-command-error Considérer les codes de sortie non nuls des processus fils comme des erreurs -O, --to-stdout Extraire les fichiers vers la sortie standard --to-command=COMMANDE Renvoyer par tube les fichiers extraits vers un autre programme Traitement des attributs de fichiers : --atime-preserve[=METHODE] Préserve la date d'accès des fichiers archivés, soit en la restaurant après lecture (MÉTHODE = « replace » par défaut) ou en ne définissant pas les dates initialement (MÉTHODE = « system ») --delay-directory-restore Reporter à la fin de l'extraction le changement des dates de modification et des permissions des répertoires extraits --group=NOM Utiliser NOM comme groupe des fichiers ajoutés --mode=CHANGEMENTS Utiliser les CHANGEMENTS de mode (symboliques) pour les fichiers ajoutés --mtime=DATE-OU-FICHIER Définir la date de modification des fichiers ajoutés avec DATE-OU-FICHIER -m, --touch Ne pas extraire la date de modification du fichier --no-delay-directory-restore Annuler l'effet de l'option --delay-directory-restore --no-same-owner S'approprier les fichiers lors de l'extraction (par défaut pour les utilisateurs ordinaires) --no-same-permissions Appliquer l'umask de l'utilisateur lors de l'extraction des permissions (par défaut pour les utilisateurs normaux) --numeric-owner Toujours utiliser les valeurs numériques des utilisateurs/groupes --owner=NOM Utiliser NOM comme propriétaire des fichiers ajoutés -p, --preserve-permissions, --same-permissions Extraire les informations de permissions sur les fichiers (par défaut pour le superutilisateur) --preserve Équivalent à « -p -s » à la fois --same-owner essayer d'extraire les fichiers avec le même propriétaire que dans l'archive (par défaut pour le superutilisateur) -s, --preserve-order, --same-order member arguments are listed in the same order as the files in the archive Handling of extended file attributes: --acls Enable the POSIX ACLs support --no-acls Disable the POSIX ACLs support --no-selinux Disable the SELinux context support --no-xattrs Disable extended attributes support --selinux Enable the SELinux context support --xattrs Enable extended attributes support --xattrs-exclude=MASK specify the exclude pattern for xattr keys --xattrs-include=MASK specify the include pattern for xattr keys Sélection et option de périphérique : -f, --file=ARCHIVE Utiliser le fichier ou le périphérique ARCHIVE --force-local Le fichier d'archive est local même si « : » a été spécifié -F, --info-script=NOM, --new-volume-script=NOM Exécuter le script à la fin de chaque cartouche (implique « -M ») -L, --tape-length=NOMBRE Changer de cartouche après avoir écrit NOMBRE x 1024 octets -M, --multi-volume Créer/lister/extraire une archive multi-volumes --rmt-command=COMMANDE Utiliser la COMMANDE rmt fournie au lieu de rmt --rsh-command=COMMANDE Utiliser la COMMANDE distante à la place de rsh --volno-file=FICHIER Utiliser/mettre à jour le numéro de volume dans le FICHIER Blocs du périphérique : -b, --blocking-factor=BLOCS BLOCS x 512 octets par enregistrement -B, --read-full-records Refaire les blocs pendant la lecture (pour les tubes BSD 4.2) -i, --ignore-zeros Ignorer les blocs de zéros dans l'archive (càd EOF) --record-size=NOMBRE NOMBRE d'octets par enregistrement (multiple de 512) Sélection du format d'archive : -H, --format=FORMAT Créer l'archive au format désiré. FORMAT peut prendre une des valeurs suivantes : gnu Format GNU tar 1.13.x oldgnu Format GNU issu de tar <= 1.12 pax Format POSIX 1003.1-2001 (pax) posix Identique à pax ustar Format POSIX 1003.1-1988 (ustar) v7 Vieux format tar V7 --old-archive, --portability Identique à « --format=v7 » --pax-option=mot_clé[[:]=valeur][,mot_clé[[:]=valeur]... Mots-clés de contrôle pax --posix Identique à « --format=posix » -V, --label=TEXTE Créer l'archive en attribuant le TEXTE au nom de volume. À la lecture ou à l'extraction, utiliser le TEXTE comme motif de correspondance (glob) au nom de volume. Options de compression : -a, --auto-compress Utiliser le suffixe de l'archive pour déterminer le programme de compression -I, --use-compress-program=PROG Filtrer à travers le PROG (doit accepter l'option « -d ») -j, --bzip2 Filtrer l'archive à travers bzip2 -J, --xz Filtrer l'archive à travers xz --lzip Filtrer l'archive à travers lzip --lzma Filtrer l'archive à travers xz --lzop --no-auto-compress Ne pas utiliser l'extension du fichier d'archive pour déterminer le programme de compression -z, --gzip, --gunzip, --ungzip Filtrer l'archive à travers gzip -Z, --compress, --uncompress Filtrer l'archive à travers compress Sélection des fichiers locaux : --add-file=FICHIER ajouter un FICHIER donné à l'archive (utile lorsque le nom commence par un tiret) --backup[=CONTRÔLE] Faire une copie de sauvegarde avant suppression, choisir le CONTRÔLE de version -C, --directory=RÉP Utiliser RÉP comme répertoire de travail --exclude=MOTIF Exclure les fichiers correspondant au MOTIF --exclude-backups exclure les fichiers de sauvegarde et de verrou --exclude-caches Exclure le contenu des répertoires contenant CACHEDIR.TAG, sauf le fichier de tag lui-même --exclude-caches-all Exclure les répertoires contenant CACHEDIR.TAG --exclude-caches-under Tout exclure dans les répertoires contenant CACHEDIR.TAG --exclude-tag=FICHIER Exclure le contenu des répertoires contenant le FICHIER, sauf le FICHIER lui-même --exclude-tag-all=FICHIER Exclure les répertoires contenant le FICHIER --exclude-tag-under=FICHIER Tout exclure dans les répertoires contenant le FICHIER --exclude-vcs Exclure les répertoires de contrôle de version (CVS, .svn, etc.) -h, --dereference Suivre les liens symboliques ; archiver et/ou restaurer les fichiers qu'ils pointent --hard-dereference Suivre les liens physiques : archiver les fichiers vers lesquels ils pointent -K, --starting-file=NOM-DE-MEMBRE begin at member MEMBER-NAME when reading the archive --newer-mtime=DATE Ne comparer que la date et l'heure de modification des données --no-null désactive l'effet de l'option --null précédente --no-recursion Empêcher la descente automatique dans les sous-répertoires --no-unquote Ne pas enlever la protection de caractères des noms de fichiers lus avec « -T » --null « -T » permet de lire les noms terminés par un NULL et désactive l'option « -C » -N, --newer=DATE-OU-FICHIER, --after-date=DATE-OU-FICHIER Stocker seulement les fichiers plus récents que DATE-OU-FICHIER --one-file-system Rester dans le système de fichiers local lors de la création de l'archive -P, --absolute-names don't strip leading '/'s from file names --recursion Parcourir les sous-répertoires de manière récursive (par défaut) --suffix=CHAÎNE Faire une copie de sauvegarde avant suppression, en remplaçant le suffixe habituel (« ~ » sauf s'il est définit par la variable d'environnement SIMPLE_BACKUP_SUFFIX) -T, --files-from=FICHIER Lire depuis le FICHIER la liste des noms à extraire ou à créer --unquote Enlever la protection de caractères des noms de fichiers lus avec « -T » (par défaut) -X, --exclude-from=FICHIER Exclure les motifs listés dans le FICHIER Transformation des noms de fichiers : --strip-components=NOMBRE Supprimer NOMBRE composants au début des noms de fichiers à l'extraction --transform=EXPRESSION, --xform=EXPRESSION Utiliser l'EXPRESSION de remplacement « sed » pour transformer les noms de fichiers Options de correspondance de noms de fichiers (pour les motifs d'exclusion et d'inclusion) --anchored Les motifs doivent correspondre au début des noms de fichiers --ignore-case Ignorer la casse (majuscules/minuscules) --no-anchored patterns match after any '/' (default for exclusion) --no-ignore-case Correspondance sensible à la casse (comportement par défaut) --no-wildcards Correspondance exacte de chaîne --no-wildcards-match-slash wildcards do not match '/' --wildcards utiliser les jokers (par défaut pour les exclusions) --wildcards-match-slash wildcards match '/' (default for exclusion) Options d'affichage : --checkpoint[=NOMBRE] Afficher un message de progression tous les NOMBRE enregistrements (10 par défaut) --checkpoint-action=ACTION exécuter l'ACTION à chaque point de contrôle --full-time afficher l'heure du fichier en pleine résolution --index-file=FICHIER Envoyer la sortie détaillée vers le FICHIER -l, --check-links Afficher un message si tous les liens n'ont pas pu être suivis et archivés --no-quote-chars=CHAÎNE Enlever la protection des caractères faisant partie de la CHAÎNE --quote-chars=CHAÎNE Protéger aussi les caractères faisant partie de la CHAÎNE --quoting-style=STYLE Définir le style de protection de caractères appliqués aux noms. Voir ci-dessous pour les valeurs du STYLE -R, --block-number Afficher le numéro du bloc de l'archive avec chaque message --show-defaults Afficher les paramètres par défaut de tar --show-omitted-dirs Lors du listage ou de l'extraction, lister chaque répertoire qui ne concorde pas avec le critère de recherche --show-snapshot-field-ranges show valid ranges for snapshot-file fields --show-transformed-names, --show-stored-names montrer les noms des fichiers ou archives après transformation --totals[=SIGNAL] Affiche le nombre total d'octets après traitement de l'archive ; Avec un argument - affiche le nombre total d'octets quand un SIGNAL est délivré ; Les signaux pris en compte sont : SIGHUP, SIGQUIT, SIGINT, SIGUSR1 et SIGUSR2 ; leurs nom sans le préfix SIG sont aussi acceptés --utc Afficher les dates de modification de fichier en UTC -v, --verbose Afficher de manière détaillée les fichiers traités --warning=MOTCLÉ Contrôle d'avertissement -w, --interactive, --confirmation Demander confirmation pour chaque action Options de compatibilité : -o Lors de la création, identique à « --old-archive ». Lors de l'extraction, identique à « --no-same-owner » Autres options : -?, --help Afficher cette aide-mémoire --restrict Désactiver l'utilisation d'options potentiellement dangereuses --usage Afficher un court mode d'emploi --version Afficher la version du programme Les arguments obligatoires ou facultatifs pour les formes longues des options le sont également pour les formes courtes qui leur correspondent. The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX. The version control may be set with --backup or VERSION_CONTROL, values are: none, off never make backups t, numbered make numbered backups nil, existing numbered if numbered backups exist, simple otherwise never, simple always make simple backups Les arguments valables pour l'option « --quoting-style » sont : literal shell shell-always c c-maybe escape locale clocale Les valeurs par défaut de *ce* tar sont : --format=gnu -f- -b20 --quoting-style=escape --rmt-command=/usr/lib/tar/rmt --rsh-command=/usr/bin/rsh Rapportez toute anomalie à <bug-tar@gnu.org>.
Exercices
Vous allez maintenant sauvegarder votre dossier test ainsi que son contenu vers un fichier :
root@ubuntu:/test/repZ# tar cvf /tmp/test.tar /test tar: Suppression de « / » au début des noms des membres /test/ /test/repZ/ /test/repZ/Z2 /test/repZ/Z1 /test/repY/ /test/repY/Y3 /test/repY/Y1 /test/repY/Y2
Pour visualiser la table of contents de votre sauvegarde, utilisez la commande suivante :
root@ubuntu:/test/repZ# tar tvf /tmp/test.tar drwxr-xr-x root/root 0 2014-10-18 14:33 test/ drwxr-xr-x root/root 0 2014-10-18 14:34 test/repZ/ -rw-r--r-- root/root 0 2014-10-18 14:34 test/repZ/Z2 -rw-r--r-- root/root 0 2014-10-18 14:34 test/repZ/Z1 drwxr-xr-x root/root 0 2014-10-18 14:33 test/repY/ -rw-r--r-- root/root 0 2014-10-18 14:33 test/repY/Y3 -rw-r--r-- root/root 0 2014-10-18 14:33 test/repY/Y1 -rw-r--r-- root/root 0 2014-10-18 14:33 test/repY/Y2
Afin de créer une sauvegarde incrémentale, vous avez besoin de créer un fichier qui servira de référence de date :
root@ubuntu:/test/repZ# touch /tmp/dateref
Modifiez maintenant deux des fichiers de votre arborescence test :
root@ubuntu:/test/repZ# echo "Ubuntu est super \!" > /test/repY/Y1 root@ubuntu:/test/repZ# echo "Ubuntu is wonderful \!" > /test/repZ/Z1
Pour procéder à votre sauvegarde incrémentale, vous devez sauvegarder uniquement les fichiers modifiés ou créés depuis la création de votre fichier /tmp/dateref.
Saisissez donc la commande suivante :
root@ubuntu:/test/repZ# tar -cvf /tmp/incremental.tar -N /tmp/dateref /test tar: Suppression de « / » au début des noms des membres /test/ /test/repZ/ tar: /test/repZ/Z2 : le fichier n'est pas modifié ; fichier non archivé /test/repZ/Z1 /test/repY/ tar: /test/repY/Y3 : le fichier n'est pas modifié ; fichier non archivé /test/repY/Y1 tar: /test/repY/Y2 : le fichier n'est pas modifié ; fichier non archivé
Notez l'utilisation de l'option -N avec l'arguement /tmp/dateref qui pezrmet d'identifier les fichiers modifiés ou créés depuis la création de /tmp/dateref.
Contrôlez maintenant le contenu de l'archive /tmp/incremental.tar :
root@ubuntu:/test/repZ# tar tvf /tmp/incremental.tar drwxr-xr-x root/root 0 2014-10-18 14:33 test/ drwxr-xr-x root/root 0 2014-10-18 14:34 test/repZ/ -rw-r--r-- root/root 23 2014-10-18 14:37 test/repZ/Z1 drwxr-xr-x root/root 0 2014-10-18 14:33 test/repY/ -rw-r--r-- root/root 20 2014-10-18 14:36 test/repY/Y1
Supprimez maintenant le contenu du répertoire test :
root@ubuntu:/test/repZ# rm -rf /test/*
Notez que le système vous permet de supprimer le répertoire /test/repZ, or vous vous situez dans ce même répertoire !
Afin de pouvoir restaurer les fichiers de votre première sauvegarde, placez-vous à la racine de votre système et restaurez le contenu de votre répertoire test en saisissant la commande tar suivante :
root@ubuntu:/test/repZ# cd / root@ubuntu:/# tar xvf /tmp/test.tar test/ test/repZ/ test/repZ/Z2 test/repZ/Z1 test/repY/ test/repY/Y3 test/repY/Y1 test/repY/Y2
Constatez maintenant que l'opération s'est bien déroulée :
root@ubuntu:/# ls -lR /test /test: total 8 drwxr-xr-x 2 root root 4096 oct. 18 14:33 repY drwxr-xr-x 2 root root 4096 oct. 18 14:34 repZ /test/repY: total 0 -rw-r--r-- 1 root root 0 oct. 18 14:33 Y1 -rw-r--r-- 1 root root 0 oct. 18 14:33 Y2 -rw-r--r-- 1 root root 0 oct. 18 14:33 Y3 /test/repZ: total 0 -rw-r--r-- 1 root root 0 oct. 18 14:34 Z1 -rw-r--r-- 1 root root 0 oct. 18 14:34 Z2
Notez qu'à ce stade les fichiers /test/repY/Y1 et /test/repZ/Z1 sont vides.
Restaurez maintenant votre archive incrémentale :
root@ubuntu:/# tar xvf /tmp/incremental.tar test/ test/repZ/ test/repZ/Z1 test/repY/ test/repY/Y1
Constatez maintenant que l'opération s'est bien déroulée :
root@ubuntu:/# ls -lR /test /test: total 8 drwxr-xr-x 2 root root 4096 oct. 18 14:33 repY drwxr-xr-x 2 root root 4096 oct. 18 14:34 repZ /test/repY: total 4 -rw-r--r-- 1 root root 20 oct. 18 14:36 Y1 -rw-r--r-- 1 root root 0 oct. 18 14:33 Y2 -rw-r--r-- 1 root root 0 oct. 18 14:33 Y3 /test/repZ: total 4 -rw-r--r-- 1 root root 23 oct. 18 14:37 Z1 -rw-r--r-- 1 root root 0 oct. 18 14:34 Z2
Notez que les fichiers /test/repY/Y1 et /test/repZ/Z1 sont maintenant non-vides.
Dernièrement, la commande tar peut archiver en utilisant des algorithmes de compression :
Algorythme | Option de la commande tar |
---|---|
gzip | z |
bzip2 | j |
lzma | J |
cpio
Présentation
La commande cpio (Copy Input To Output). cpio peut gérer les archives au format tar. La différence majeure entre tar et cpio est que ce dernier stocke les chemins d'accès aux fichiers sauvgardés en même temps que les fichiers eux-mêmes. Ceci implique que dans le cas où le chemin absolu a été spécifié lors de la sauvegarde, il est impossible de restaurer un fichier à un autre emplacement que son emplacement d'origine.
Vous allez utiliser maintenant le logiciel cpio pour effectuer les sauvegardes et restaurations.
Options de la Commande
Les options de la commande cpio sont :
root@ubuntu:/# cpio --help Usage: cpio [OPTION...] [répertoire-cible] GNU "cpio" copie des fichiers vers ou depuis des archives Exemples: # Copier des fichiers à partir des noms d'une liste vers l'archive cpio -o < liste [> archive] # Extraire des fichiers à partir d'une archive cpio -i [< archive] # Copier des fichiers à partir des noms d'une liste vers un répertoire cible cpio -p répertoire-cible < liste Mode opératoire principal: -i, --extract Extraire les fichiers de l'archive (exécution en mode "copy-in") -o, --create Créer une archive (exécution en mode "copy-out") -p, --pass-through Exécuter en mode "copy-pass" (copie de répertoire à répertoire) -t, --list Afficher une table du contenu de l'entrée Modificateurs opératoires valides dans tous les modes: --block-size=TAILLE-DE-BLOC Utiliser une taille de bloc d'entrée/sortie de TAILLE-DE-BLOC*512 octets -B Utiliser une taille de bloc d'entrée/sortie de 5120 octets -c Utiliser un vieux format d'archive portable (ASCII) -C, --io-size=NOMBRE Utiliser une taille de bloc d'entrée/sortie de NOMBRE octets --force-local Le fichier d'archive est local, même si son nom contient un « : » -f, --nonmatching Copier seulement les fichiers qui ne concordent pas avec les patrons fournis -F, --file=[[UTILISATEUR@]HÔTE:]FICHIER Utiliser le FICHIER au lieu de l'entrée ou de la sortie standard. Les options UTILISATEUR et HÔTE spécifient les noms de l'utilisateur et de l'hôte dans le cas d'une archive distante. -H, --format=FORMAT Utiliser le FORMAT d'archive donné -M, --message=CHAÎNE Afficher la CHAÎNE lorsque la fin du volume d'un média d'archivage est atteinte -n, --numeric-uid-gid Dans la table commentée du listing du contenu, afficher les valeurs numériques de UID et GID --quiet Ne pas afficher les numéros des blocs copiés --rsh-command=COMMANDE Utiliser la COMMANDE à distance au lieu de rsh -v, --verbose Afficher en mode bavard la liste des fichiers traités -V, --dot Afficher un "." pour chaque fichier traité -W, --warning=FANION Contrôle de l'affichage des avertissement. Le FANION peut prendre une des valeurs suivantes: 'none', 'truncate', 'all'. Les options multiples s'accumulent. Les modificateurs d'opération sont valides seulement en mode copy-in: -b, --swap Interchanger les deux demi-mots des mots et des octets des demi-mots dans les données. Équivalent à -sS -r, --rename Renommer interactivement les fichiers -s, --swap-bytes Interchanger les octets de chaque demi-mot dans les fichiers -S, --swap-halfwords Interchanger les demi-mots de chaque mot (4 octets) dans les fichiers --to-stdout Extraire les fichiers vers la sortie standard -E, --pattern-file=FICHIER Lit les motifs additionnels spécifiant les noms de fichier à extraire ou la liste à partir du FICHIER --only-verify-crc Lors de la lecture d'une archive avec CRC, vérifie seulement le CRC de chaque fichier dans l'archive, n'extrait pas le fichier Modificateurs d'opération valides seulement en mode copy-out: -A, --append Accoler à une archive existante. -O [[UTILISATEUR@]HÔTE:]FICHIER Nom de fichier de l'archive à utiliser au lieu de la sortie standard. Les paramètres USAGER et HÔTE spécifient l'usager et le nom de l'hôte respectivement dans le cas du machine distante. Modificateurs d'opération valides seulement en mode copy-pass: -l, --link Lier les fichier au lieu de les copier, lorsque c'est possible. Modificateurs d'opération valides seulement en modes "copy-in" et "copy-pass": --absolute-filenames Ne pas enlever les éléments systèmes en début des noms de fichier. --no-absolute-filenames Créer tous les fichiers relatifs au répertoire courant Modificateurs d'opération valides seulement en mode "copy-out" et "copy-pass": -0, --null Une liste des noms de fichiers doit être terminé par un caractère nul au lieu d'un retour de chariot. -a, --reset-access-time Réinitialiser les dates d'accès des fichiers après les avoir lus -I [[UTILISATEUR@]HÔTE:]FICHIER Nom de fichier de l'archive à utiliser au lieu de la sortie standard. Les paramètres UTILISATEUR et HÔTE spécifient l'usager et le nom de l'hôte respectivement dans le cas d'une archive située sur un hôte distante. -L, --dereference Déréférencer les liens symboliques (copier les fichiers pointés au lieu de copier les liens). -R, --owner=[UTILISATEUR][:.][GROUPE] Sélectionner la propriété de tous les fichiers créés à l'UTILISATEUR et/ou au GROUPE Modificateurs d'opération valides seulement en modes "copy-in" et "copy-pass": -d, --make-directories Créer les répertoires supérieurs lorsque nécessaire -m, --preserve-modification-time Conserver les dates antérieures de modification des fichiers lors de la création des fichiers --no-preserve-owner Ne pas modifier le propriétaire des fichiers --sparse Écrire les fichiers avec de grands blocs de zéros comme des fichiers creux ("sparse") -u, --unconditional Remplacer tous les fichiers sans condition -?, --help Affiche cette aide --usage Afficher un court message d'utilisation --version Affiche la version du logiciel Les arguments optionnels ou obligatoires pour les options longues le sont aussi pour les options courtes correspondantes. Rapporter les anomalies à <bug-cpio@gnu.org>.
Exercices
Dans un premier temps, vous devez utiliser la commande find pour construire une liste de fichiers à sauvegarder :
root@ubuntu:/# find /test > /tmp/cpio.liste root@ubuntu:/# cat /tmp/cpio.liste /test /test/repZ /test/repZ/Z2 /test/repZ/Z1 /test/repY /test/repY/Y3 /test/repY/Y1 /test/repY/Y2
Sauvegardez maintenant les fichiers et répertoires référencés par le fichier /tmp/cpio.liste :
root@ubuntu:/# cpio -ov < /tmp/cpio.liste > /tmp/test.cpio /test /test/repZ /test/repZ/Z2 /test/repZ/Z1 /test/repY /test/repY/Y3 /test/repY/Y1 /test/repY/Y2 1 bloc
Consultez maintenant la table of contents de votre sauvegarde :
root@ubuntu:/test/repZ# cpio -it < /tmp/test.cpio /test /test/repZ /test/repZ/Z2 /test/repZ/Z1 /test/repY /test/repY/Y3 /test/repY/Y1 /test/repY/Y2 1 bloc
Supprimez maintenant le répertoire /test/repY et son contenu :
root@ubuntu:/# rm -rf /test/repY
Contrôlez le bon déroulement de la suppression :
root@ubuntu:/# ls -lR /test /test: total 4 drwxr-xr-x 2 root root 4096 oct. 18 14:34 repZ /test/repZ: total 4 -rw-r--r-- 1 root root 23 oct. 18 14:37 Z1 -rw-r--r-- 1 root root 0 oct. 18 14:34 Z2
Restaurez les fichiers supprimés :
root@ubuntu:/# cpio -ivdum "/test/repY/*" < /tmp/test.cpio /test/repY/Y3 /test/repY/Y1 /test/repY/Y2 1 bloc
Notez l'utilisation de la chaîne “/test/repY/*” qui permet de rechercher uniquement le répertoire repY ainsi que les fichiers Y1, Y2 et Y3 dans l'archive test.cpio.
Contrôlez le bon déroulement de la restauration :
root@ubuntu:/# ls -lR /test /test: total 8 drwxr-xr-x 2 root root 4096 oct. 18 14:43 repY drwxr-xr-x 2 root root 4096 oct. 18 14:34 repZ /test/repY: total 4 -rw-r--r-- 1 root root 20 oct. 18 14:36 Y1 -rw-r--r-- 1 root root 0 oct. 18 14:33 Y2 -rw-r--r-- 1 root root 0 oct. 18 14:33 Y3 /test/repZ: total 4 -rw-r--r-- 1 root root 23 oct. 18 14:37 Z1 -rw-r--r-- 1 root root 0 oct. 18 14:34 Z2
dd
Présentation
La commande dd n'est pas réellement une commande de sauvegarde.
La commande dd copie le fichier passé en entrée dans le fichier de sortie en limitant le nombre d'octets copiés par l'utilisation de deux options :
- count
- le nombre
- bs
- la taille du bloc à copier
Options de la Commande
Les options de la commande dd sont :
root@ubuntu:/# dd --help Utilisation : dd [OPERAND]... ou : dd OPTION Copie un fichier en le convertissant et le formatant selon les opérandes. bs=BYTES lire et écrire jusqu'à BYTES octets à la fois cbs=BYTES convertir BYTES octets à la fois conv=CONVS convertir le fichier en liste de symboles séparés de virgules count=N ne copier que N blocs d'entrée ibs=BYTES lire jusqu'à BYTES octets à la fois (512 par défaut) if=FILE lire FILE au lieu de l'entrée standard (stdin) iflag=FLAGS lire selon la liste de symboles séparés par des virgules obs=BYTES écrire BYTES octets à la fois (512 par défaut) of=FILE écrire dans FILE au lieu de la sortie standard (stdout) oflag=FLAGS écrire selon la liste de symboles séparés par des virgules seek=N se déplacer de N blocs de taille « obs » au début de la sortie skip=N ignorer N blocs de taille « ibs » au début de l'entrée status=WHICH les renseignements WHICH à supprimer de la sortie d'erreur standard : « noxfer » supprime les statistiques de transfert et « none » supprime tout N et BYTES peuvent être suivis des suffixes multiplicatifs suivants : c = 1, w = 2, b = 512, kB = 1000, K = 1024, MB = 1000*1000, M = 1024*1024, xM = M, GB = 1000*1000*1000, G = 1024*1024*1024 et ainsi de suite pour T, P, E, Z et Y. Chaque symbole CONV peut être : ascii de l'EBCDIC vers l'ASCII ebcdic de l'ASCII vers l'EBCDIC ibm de l'ASCII vers l'EBCDIC alternatif block remplir les enregistrements terminés par une nouvelle ligne par des espaces jusqu'à la taille « cbs » unblock remplacer les espaces en fin d'enregistrements de taille « cbs » par une nouvelle ligne lcase transformer les majuscules en minuscules ucase transformer les minuscules en majuscules sparse essayer de chercher plutôt qu'écrire la sortie pour les blocs d'entrée NUL swab inverser chaque paire d'octets en entrée sync remplir chaque bloc lu avec des NUL jusqu'à la taille « ibs » ; avec « block » ou « unblock », remplir avec des espaces au lieu de NUL excl échouer si le fichier de sortie existe déjà nocreat ne pas créer le fichier de sortie notrunc ne pas tronquer le fichier de sortie noerror continuer même après des erreurs de lecture fdatasync écrire physiquement les données en sortie avant la fin fsync identique, mais écrire aussi les métadonnées Chaque symbole FLAG peut être : append mode d'ajout (n'a de sens que pour la sortie ; conv=notrunc suggéré) direct utiliser des E/S directes pour les données directory échouer sauf s'il s'agit d'un répertoire dsync utiliser des E/S synchronisées pour les données sync identique mais aussi pour les métadonnées fullblock accumuler des blocs pleins en entrée (uniquement iflag) nonblock utiliser des E/S non bloquantes noatime ne pas mettre à jour la date d'accès nocache abandonner les données en cache noctty ne pas assigner de terminal contrôleur depuis le fichier nofollow ne pas suivre les liens symboliques count_bytes traiter « count=N » comme un décompte d'octets (seulement iflag) skip_bytes traiter « skip=N » comme un décompte d'octets (seulement iflag) seek_bytes traiter « seek=N » comme un décompte d'octets (seulement oflag) L'envoi du signal USR1 au processus « dd » actif provoque l'écriture de statistiques sur la sortie d'erreur standard suivie de la reprise de la copie. $ dd if=/dev/zero of=/dev/null& pid=$! $ kill -USR1 $pid; sleep 1; kill $pid 18335302+0 enregistrements lus 18335302+0 enregistrements écrits 9387674624 octets (9.4 GB) copiés, 34.6279 s, 271 MB/s Les options sont : --help afficher l'aide et quitter --version afficher des informations de version et quitter Signalez les anomalies de « dd » à <bug-coreutils@gnu.org> Page d'accueil de « GNU coreutils » : http://www.gnu.org/software/coreutils/ Aide globale sur les logiciels GNU : <http://www.gnu.org/help/gethelp> Signalez les problèmes de traduction de « dd » à : <traduc@traduc.org> Utilisez « info coreutils 'dd invocation' » pour toute la documentation
Exercices
Vous allez utiliser maintenant le logiciel dd pour effectuer une sauvegarde de votre MBR et de la table des partitions.
Effectuez une sauvegarde de votre MBR qui se trouve dans les premiers 446 octets de votre disque /dev/sda :
root@ubuntu:/# dd if=/dev/sda of=/tmp/mbr.save bs=1 count=446 446+0 enregistrements lus 446+0 enregistrements écrits 446 octets (446 B) copiés, 0,00491206 s, 90,8 kB/s
Effectuez maintenant une sauvegarde de votre table des partitions qui se trouve dans les 64 octets après les 446 précédemment sauvegardés :
root@ubuntu:/# dd if=/dev/sda of=/tmp/tblpart.save bs=1 count=64 skip=446 64+0 enregistrements lus 64+0 enregistrements écrits 64 octets (64 B) copiés, 0,00221373 s, 28,9 kB/s
Notez l'utilisation de l'option skip qui permet de positionner le début de la sauvegarde au 447ième octet.
dump et restore
Présentation
Les commandes dump et restore se basent sur le format d'enregistrement des données ( ext3 ). Pour cette raison il n'est pas possible de sauvegarder des répertoires à l'intérieur d'un système de fichiers mais uniquement des systèmes de fichiers complets.
Il est important de noter que le système de fichier ne doit pas être utilisé pendant le processus de dump. Pour cette raison il est normalement conseillé de démonter le système de fichiers.
Il existe 10 niveaux de dump possibles de 0 à 9. Lors d'un dump le niveau est spécifié. Chaque fois qu'un dump est effectué, cette information est sauvegardée dans le fichier /etc/dumpdates.
Par définition un dump de niveau 0 est une sauvegarde complète tandis que le dump de niveau 1 est une sauvegarde incrémentale.
Notez que les fichiers sont sauvegardés avec des nom relatifs. Ceci implique que vous devez vous positionner dans le système de fichiers lors de la restauration avec la commande restore.
Outils Avancés de Sauvegarde
Outils de Sauvegarde Unidirectionnelle
Ces outils sauvegardent des fichiers vers un répertoire local ou distant dans un seul sens.
Ce premier tableau compare les outils par rapport aux caractéristiques et aux capacités des opérations de sauvegarde :
Outil | Backend | Sauvegarde différentielle | Sauvegarde incrémentale | Sauvegarde décrémentale | Planification incorporée | Restauration incorporée | Chiffrement | Compression | Site |
---|---|---|---|---|---|---|---|---|---|
AMANDA | tar, gzip | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | AMANDA |
Areca Backup | Aucun | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | Areca Backup |
bacula (Bareos) | MySQL | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | bacula |
BackInTime | rsync, diff, meld | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | BackInTime |
BackupPC | rsync, samba, tar | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | BackupPC |
Dar | Aucun | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | Dar |
Déjà Dup | duplicity | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | Duplicity |
Grsync | rsync | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | Grsync |
luckyBackup | rsync | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | luckyBackup |
SBackup | Aucun | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | SBackup |
A Faire - Consultez la page List of backup software sur Wikipedia pour plus d'informations.
Ce deuxième tableau compare les outils triés par la date de dernière version connue :
Outil | Ecrit en | Licence | Dernière Version | Date Version | Linux | Windows | Mac | Site Web |
---|---|---|---|---|---|---|---|---|
Dar | C++ | GPL | 2.6.2 | 09/02/2019 | ![]() | ![]() | ![]() | Dar |
Bacula (Bareos) | C, C++ | GNU Affero General Public License v3.0 | 9.4.2 | 04/02/2019 | ![]() | ![]() | ![]() | bacula |
BackupPC | Perl | GPL v3.0 | 4.3.0 | 25/11/2018 | ![]() | ![]() | ![]() | BackupPC |
luckyBackup | C++ | GPL v3.0 | 0.5.0 | 18/11/2018 | ![]() | ![]() | ![]() | luckyBackup |
Déjà Dup (Duplicity) | Python | GPL | 0.7.18.2 | 17/11/2018 | ![]() | ![]() | ![]() | Duplicity |
AMANDA | C, Perl | GPL, LGPL, Apache, Amanda License | 3.5.1 | 01/12/2017 | ![]() | ![]() | ![]() | AMANDA |
BackInTime | Python3 | GPL | 1.1.24 | 07/11/2017 | ![]() | ![]() | ![]() | BackInTime |
Grsync | GTK | GPL | 1.2.6 | 15/03/2016 | ![]() | ![]() | ![]() | Grsync |
Areca Backup | Java | GPLv2 | 7.5 | 26/08/2015 | ![]() | ![]() | ![]() | Areca Backup |
SBackup | GTK | GPLv2 | 0.11.6 | 24/02/2014 | ![]() | ![]() | ![]() | SBackup |
Outils de Sauvegarde Multidirectionnelle
Ces outils synchronisent les fichiers entre deux serveurs.
Ce premier tableau compare les outils par rapport aux caractéristiques et aux capacités des opérations de sauvegarde :
Outil | Backend | Sauvegarde différentielle | Sauvegarde incrémentale | Sauvegarde décrémentale | Planification incorporée | Restauration incorporée | Chiffrement | Compression |
---|---|---|---|---|---|---|---|---|
FullSync | smb, ftp, sftp | ![]() | ![]() | ![]() | ![]() | S/O | ![]() | ![]() |
FreeFileSync | Aucun | ![]() | ![]() | ![]() | ![]() | S/O | ![]() | ![]() |
unison | SSH, RSH | ![]() | ![]() | ![]() | ![]() | S/O | ![]() | ![]() |
Synkron | Aucun | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
A Faire - Consultez la page Comparison of file synchronization software sur Wikipedia pour plus d'informations..
Ce deuxième tableau compare les outils triés par la date de dernière version connue :
Outil | Ecrit en | Licence | Dernière Version | Date Version | Linux | Windows | Mac | Site Web |
---|---|---|---|---|---|---|---|---|
FreeFileSync | Divers | GPL v3.0 | 10.8 | 05/01/2019 | ![]() | ![]() | ![]() | FreeFileSync |
unison | OCaml | GPL v3.0 | 2.51.2 | 27/01/2018 | ![]() | ![]() | ![]() | unison |
FullSync | Java | GPLv2 | 0.10.4 | 05/04/2016 | ![]() | ![]() | ![]() | FullSync |
Synkron | C++ | GPL v2 | 1.6.2 | 25/01/2011 | ![]() | ![]() | ![]() | Synkron |
Outils de Sauvegarde des Partitions
Ce premier tableau compare les outils par rapport aux caractéristiques et aux capacités des opérations de sauvegarde :
Outil | Backend | Sauvegarde différentielle | Sauvegarde incrémentale | Sauvegarde décrémentale | Planification incorporée | Restauration incorporée | Chiffrement | Compression |
---|---|---|---|---|---|---|---|---|
CloneZilla | SSH, samba, NFS | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
Partclone | Aucun | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
partimage | Aucun | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
A Faire - Consultez la page Comparison of disk cloning software sur Wikipedia pour plus d'informations.
Ce deuxième tableau compare les outils triés par la date de dernière version connue :
Outil | Ecrit en | Licence | Dernière Version | Date Version | Linux | Windows | Mac | Site Web |
---|---|---|---|---|---|---|---|---|
CloneZilla | Perl, Unix shell | GPL | 2.6.0-37 | 10/01/2019 | ![]() | ![]() | ![]() | CloneZilla |
Partclone | C | GPL | 0.2.89 | 05/07/2016 | ![]() | ![]() | ![]() | Partclone |
partimage | C | GPL | 0.6.9 | 25/07/2010 | ![]() | ![]() | ![]() | Partimage |
Compression
gzip
Présentation
La commande gzip est un utilitaire de compression sous GNU/Linux. La commande gunzip est un utilitaire de décompression sous GNU/Linux.
Options des Commandes
Les options de la commande gzip sont :
root@ubuntu:/# gzip --help Usage: gzip [OPTION]... [FILE]... Compress or uncompress FILEs (by default, compress FILES in-place). Mandatory arguments to long options are mandatory for short options too. -c, --stdout write on standard output, keep original files unchanged -d, --decompress decompress -f, --force force overwrite of output file and compress links -h, --help give this help -k, --keep keep (don't delete) input files -l, --list list compressed file contents -L, --license display software license -n, --no-name do not save or restore the original name and time stamp -N, --name save or restore the original name and time stamp -q, --quiet suppress all warnings -r, --recursive operate recursively on directories -S, --suffix=SUF use suffix SUF on compressed files -t, --test test compressed file integrity -v, --verbose verbose mode -V, --version display version number -1, --fast compress faster -9, --best compress better --rsyncable Make rsync-friendly archive With no FILE, or when FILE is -, read standard input. Report bugs to <bug-gzip@gnu.org>.
Les options de la commande gunzip sont :
root@ubuntu:/# gunzip --help Usage: /bin/gunzip [OPTION]... [FILE]... Uncompress FILEs (by default, in-place). Mandatory arguments to long options are mandatory for short options too. -c, --stdout write on standard output, keep original files unchanged -f, --force force overwrite of output file and compress links -k, --keep keep (don't delete) input files -l, --list list compressed file contents -n, --no-name do not save or restore the original name and time stamp -N, --name save or restore the original name and time stamp -q, --quiet suppress all warnings -r, --recursive operate recursively on directories -S, --suffix=SUF use suffix SUF on compressed files -t, --test test compressed file integrity -v, --verbose verbose mode --help display this help and exit --version display version information and exit With no FILE, or when FILE is -, read standard input. Report bugs to <bug-gzip@gnu.org>.
Exercices
Utilisez gzip pour compresser votre fichier tar :
root@ubuntu:/# gzip /tmp/test.tar
Constatez la taille du fichier test.tar.gz :
root@ubuntu:/# ls -l /tmp/test.tar.gz -rw-r--r-- 1 root root 222 oct. 18 14:35 /tmp/test.tar.gz
Notez que le fichier compressé a été créé dans le même répertoire que le fichier source et que le fichier source a disparu.
Décompressez le fichier test.tar.gz :
root@ubuntu:/# gunzip /tmp/test.tar.gz
bzip2
Présentation
La commande bzip2 est un utilitaire de compression sous GNU/Linux. La commande bunzip2 est un utilitaire de décompression sous GNU/Linux.
Options des Commandes
Les options de la commande bzip2 sont :
root@ubuntu:/# bzip2 --help bzip2, a block-sorting file compressor. Version 1.0.6, 6-Sept-2010. usage: bzip2 [flags and input files in any order] -h --help print this message -d --decompress force decompression -z --compress force compression -k --keep keep (don't delete) input files -f --force overwrite existing output files -t --test test compressed file integrity -c --stdout output to standard out -q --quiet suppress noncritical error messages -v --verbose be verbose (a 2nd -v gives more) -L --license display software version & license -V --version display software version & license -s --small use less memory (at most 2500k) -1 .. -9 set block size to 100k .. 900k --fast alias for -1 --best alias for -9 If invoked as `bzip2', default action is to compress. as `bunzip2', default action is to decompress. as `bzcat', default action is to decompress to stdout. If no file names are given, bzip2 compresses or decompresses from standard input to standard output. You can combine short flags, so `-v -4' means the same as -v4 or -4v, &c.
Les options de la commande bunzip2 sont :
root@ubuntu:/# bunzip2 --help bzip2, a block-sorting file compressor. Version 1.0.6, 6-Sept-2010. usage: bunzip2 [flags and input files in any order] -h --help print this message -d --decompress force decompression -z --compress force compression -k --keep keep (don't delete) input files -f --force overwrite existing output files -t --test test compressed file integrity -c --stdout output to standard out -q --quiet suppress noncritical error messages -v --verbose be verbose (a 2nd -v gives more) -L --license display software version & license -V --version display software version & license -s --small use less memory (at most 2500k) -1 .. -9 set block size to 100k .. 900k --fast alias for -1 --best alias for -9 If invoked as `bzip2', default action is to compress. as `bunzip2', default action is to decompress. as `bzcat', default action is to decompress to stdout. If no file names are given, bzip2 compresses or decompresses from standard input to standard output. You can combine short flags, so `-v -4' means the same as -v4 or -4v, &c.
Exercices
Utilisez bzip2 pour compresser votre fichier tar :
root@ubuntu:/# bzip2 /tmp/test.tar
Constatez la taille du fichier tar.bz2 :
root@ubuntu:/# ls -l /tmp | grep test.tar.bz2 -rw-r--r-- 1 root root 208 oct. 18 14:35 test.tar.bz2
Notez que le fichier compressé a été créé dans le même répertoire que le fichier source et que le fichier source a disparu.
Décompressez le fichier tar.bz2 :
root@ubuntu:/# bunzip2 /tmp/test.tar.bz2
xz
Présentation
La commande xz est un utilitaire de compression sous GNU/Linux. D'autres commandes sont :
- unxz - équivalent à xz –decompress.
- xzcat - équivalent à xz –decompress –stdout.
- lzma - équivalent à xz –format=lzma.
- unlzma - équivalent à xz –format=lzma –decompress.
- lzcat - équivalent à xz –format=lzma –decompress –stdout.
La commande xz ne compressera pas le fichier si :
- le fichier n'est pas de type standard
- le fichier est un lien symbolique
- le fichier est un lien physique
- le fichier possède le sticky bit, le SUID bit ou le SGID bit
- le fichier possède déjà une extension .xz ou .lzma
La commande xz ne décompressera pas le fichier si :
- le fichier ne possède pas d'extension .xz ou .lzma
Options des Commandes
Les options de la commande xz sont :
root@ubuntu14LTS:~# xz --help Utilisation : xz [OPTION]... [FICHIER]... Compresse ou decompresse FICHIER(s) au format .xz. -z, --compress forcer la compression -d, --decompress forcer la décompression -t, --test tester l'intégrité du fichier compressé -l, --list lister les informations à propos des fichiers .xz -k, --keep ne pas supprimer les fichiers d'entrée ("keep") -f, --force forcer l'écrasement du fichier de sortie et (dé)compresser les liens -c, --stdout écrire sur la sortie standard et ne pas supprimer les fichiers d'entrée -0 ... -9 préréglage de compression ; 6 par défaut ; pensez à l'utilisation mémoire du compresseur *et* du décompresseur avant d'utiliser 7, 8 ou 9 ! -e, --extreme essayer d'améliorer la compression en utilisant davantage de temps processeur sans affecter les besoins mémoire du décompresseur -q, --quiet supprimer les avertissemnts ; spécifier deux fois pour aussi supprimer les erreur -v, --verbose être bavard ; spécifier deux fois pour l'être davantage -h, --help affiche l'aide courte (ceci) puis quitte -H, --long-help affiche l'aide longue (liste aussi les options avancées) -V, --version affiche le numéro de version puis quitte Sans FILE ou quand FILE est -, lire l'entrée standard. Signaler les bogues à <lasse.collin@tukaani.org> (en anglais ou en finlandais). Signaler les bogues de traduction à <camaradetux@gmail.com>. XZ Utils page du projet : <http://tukaani.org/xz/>
Exercices
Utilisez xz pour compresser votre fichier tar :
root@ubuntu:/# xz /tmp/test.tar
Notez que le fonctionnement par défaut de la commande est identique à celui de l'option -z.
Constatez la présence du fichier test.tar.xz :
root@ubuntu:/# ls -l /tmp | grep test -rw-r--r-- 1 root root 236 oct. 6 22:45 test.tar.xz -rw-rw-r-- 1 trainee trainee 0 oct. 6 22:34 unity_support_test.1
Notez que le fichier compressé a été créé dans le même répertoire que le fichier source et que le fichier source a disparu. Le fichier source peut être maintenue si l'option –keep est spécifiée. Si le fichier test.tar.xz avait déjà existé, la commande aurait échouée avec un message d'erreur. L'extension du fichier est .xz, cependant la commande peut aussi gérer l'extension .lzma.
Décompressez le fichier test.tar.xz :
root@ubuntu:/# xz -d /tmp/test.tar.xz root@ubuntu:/# ls -l /tmp | grep test -rw-r--r-- 1 root root 10240 oct. 6 22:45 test.tar -rw-rw-r-- 1 trainee trainee 0 oct. 6 22:34 unity_support_test.1
Autres Utilitaires
Il existe d'autres utilitaires pour la compression, chacun produisant un fichier ayant une extension spécifique :
Outil | Extension | Commande de Compression | Commande de Décompression |
---|---|---|---|
compress | .Z | compress | uncompress |
rar | .rar | rar | unrar |
zip | .zip | zip | unzip |
<html>
Copyright © 2004-2019 Hugh Norris.
</html>