1
                  SYSTEME D’EXPLOITATION UNIX

           Chapitre 6. System Maintenance
- Construction et installation de programmes à partir du code source
                      - Opérations de sauvegarde
Objectif du cours                                        2


                 • Gestion des logs
    Objectif 1




                 • (Re)Construire ses propres packages
    Objectif 2




                 • Les sauvegardes sous Linux
    Objectif 3
Chapitre 1              3

                   Gestion des logs

                                Objectif 1
   Présentation de Syslog
   La configuration
   La Source
   Le filtrage
   Les message LOG
   Lire ses fichiers de logs
4
Gestion des logs
     Présentation de Syslog




     Syslog-ng est en quelque sorte la version améliorée de syslog. La grande nouveauté est
      la possibilité d'appliquer des filtres sur les messages de log générés. La partie log réseau
      a également été améliorée.
   Sysklog est une implémentation du protocol syslog plus ancienne mais encore utilisée
 sous certains UNIX.Composé de deux daemons: syslogd qui s'occupe du logging du
 système et klogd qui s'occupe du logging du noyau.
Configuration                                                                          5


Le fichier de configuration de syslog-ng est /etc/syslog-ng/syslog-ng.conf.
5 mots clés définissent le comportement de syslog-ng :


• options : définit les options de syslog-ng
• source : définit les sources d'où syslog-ng récupèrera les messages de log
• destination : définit l'emplacement d'écriture final des messages de log
• filter : les filtres à appliquer à la source
• log : élément qui va lier les sources, un ou plusieurs filtres et une ou plusieurs
destinations
La source                                                                                   6
Ce mot clé va nous permettre de définir une ou plusieurs "entrée" dans le système de
traitement de syslog-ng.




Cette source contient plusieurs entrées de types différents. Tout d'abord, une entrée "internal()"
spécifique à syslog-
ng. Nous pouvons ensuite lire l'intégralité des messages de log depuis le fichier /dev/log qui
n'est rien d'autre que le point d'entrée et de sortie des messages envoyés par la fonction
syslog() des librairies C.
7




Le kernel fournit un point de lecture de ses propres messages grâce au fichier /proc/kmsg.
Si nous souhaitons que notre daemon syslog-ng agisse en tant que serveur réseau de logs, il
suffit alors de placer la fonction "udp()". Comme indiqué dans le commentaire, ce
paramètre agit comme l'option -r de l'ancien daemon syslogd.
Le filtrage                                                                                      8
Cette section est très importante et fait la force de syslog-ng.C'est ici que nous
définissons les filtres qui seront appliqué (plus tard) aux messages sources. Il faut préciser
ou non un ou plusieurs levels séparés par des "," qui correspondent au niveau du
message (debuggage, warning, information..etc.) à une facility précisée.
L'exemple suivant permet de récupérer tous les messages en provenance de la facility
cron et applique une restriction sur le niveau du message en ne récupérant que les
erreurs :
Le filtrage                  9


Les propriétés de filtrage
Les messages LOG                                                                      10


   Cette section permet tout simplement de relier les différents éléments de la
    configuration . Cette section fait une liaison avec les deux dernières sections
    c'est à dire la source, le filtre et la destination :
Lire ses fichiers de logs                                                                 11

Pour lire les fichiers de logs d'un système, on peut utiliser n'importe quelle
commande vue précédemment comme cat, head, less, more, etc ... Vous pouvez
aussi utiliser votre éditeur de texte préféré qu'il soit en disponible en CLI ou en
mode graphique.
Certaines commandes peuvent aussi se révéler plus pratiques que d'autres pour
lire les fichiers de logs comme tail qui permet d'afficher uniquement la fin du fichier
de log.




Vous pouvez aussi voir les logs en temps réel grâce à l'option -f de la commande
tail.
Chapitre 2                                 12
(Re)Construire ses propres packages

                             Objectif 2
    Objectifs


    Avec le gestionnaire de packages RPM


    Créer un package avec les sources d'un programme
(Re)Construire ses propres packages                                                   13

  Objectifs
   Pourquoi construire ou reconstruire ses packages ? Tout d'abord savoir construire ses
 paquets est un moyen d'intégrer dans son système Linux une application non
 supportée par défaut. Par exemple si je possède une distribution linux debian et que
 je souhaite installer un lecteur vidéo mais que je ne dispose que des sources de ce
 dernier, la meilleure solution est de générer un package DEB et de l'ajouter ensuite
 avec la commande dpkg. Les avantages sont nombreux, on peut ensuite facilement
 le désinstaller, le mettre à jour, le distribuer, ...
Avec le gestionnaire de packages RPM                                                      14

 Introduction

  Le format Red hat Package Manager (RPM), est une archive contenant les binaires
d'un programme ainsi que des scripts d'installation pour ce dernier. Ces RPM sont
créés à partir des sources d'une application qui est d'abord décompressée, patchée
puis compilée. Le résultat de cette compilation est donc notre fameux fichier RPM
ainsi qu'un fichier RPM source, par exemple :


    Binaire RPM : mc-4.6.1.i586.rpm. Ici l'archive RPM contient les binaires compilés
    pour une architecture i586 du programme mc.
   Source RPM : mc-4.6.1.src.rpm. Ici l'archive RPM contient les sources du
    programme mc ainsi que tous les fichiers, toute la configuration nécessaire pour la
    création du package RPM contenant les binaires.
Pour finir il est interressant de savoir que lors de la création d'un package RPM, divers          15
scripts sont exécutés pour automatiser la compilation et toutes les étapes qui
l'accompagnent . Voici donc les différents répertoires et dossiers qui contiennent
ces librairies, scripts :


   /var/lib/rpm : Ce dossier contient plusieurs petites base de données fichiers qui
    indexent tout les packages rpm du système. Voici quelques exemples :
   /var/lib/rpm/Packages : Base de données des packages installés
   /usr/lib/rpm : Contient les librairies et scripts utilisés par les archives rpm, contient
    également la configuration par défaut utilisée pour la création de packages.
   /usr/lib/rpm/rpmrc : configuration par défaut utilisé pour la création des
    packages RPM. On peut y définir l'architecture de sortie, par exemple i386, ou
    i586 ou 64 bits, ...
   /usr/lib/rpm/macros : contient l'ensemble des macros (scripts), variables, appelés
    par défaut lors de la création d'un package.
   /usr/lib/rpm/* tout le reste des fichiers sont des scripts et des librairies utilisés par le
    gestionnaire de package rpm.
Recompiler un package RPM                                                                  16

A présent que tout est prêt nous pouvons enfin créer des packages rpms. Notre premier
test va être de recompiler un package RPM ce qui est très simple car il nous suffit d'utiliser
le rpm source et pour cela, 2 choix s'offrent à nous. Soit simplement recompiler le package
sans rien modifier ni patcher, à ce moment là on fera appel à la commande rpmbuild :




Soit nous souhaitons modifier un peu le package avant de le recompiler, à ce moment là
nous installons d'abord
le package rpm source :
Une fois installé, votre package de source est éclaté dans tous les dossiers que nous
avons précédemment créé. Un fichier "package.spec" doit apparaître dans le dossier
SPECS ainsi qu'une archive et tous les patchs du programme dans le dossier SOURCES.      17
Admettons à présent que nous souhaitons intégrer un nouveau patch à notre
programme :


   1. Copiez le dans le dossier SOURCES
   2. Modifier le fichier package.spec pour ajouter ci-dessous les lignes qui sont en
    gras :




   3. Enfin dernière étape, la compilation :
Créer un package avec les sources d'un                                                          18
programme
  Dans cette dernière partie nous allons détailler comment générer un package rpm à partir
des sources d'un programme. L'objectif est donc de créer nous-même un fichier de spec pour
la commande rpmbuild. Ce dernier est organisé en plusieurs sections que voici:


   Une section globale qui renseigne le nom du package, le fichier contenant les sources, sa
    version, ...
   Une section où l'on précise les étapes de compilation et les éventuels patches
   Une section où l'on précise comment installer le programme sur le système, les répertoires
    de destinations, les permissions, ...
   Des sections post et pré installation où l'on peut lancer des scripts, effectuer diverses
    actions
   Une section description et une section changelog pour renseigner le maximum
    d'informations à propos du package.
La section globale du fichier de spec
                                                                                                                        19
Voici toutes les options que l'on peut retrouver dans cette section :




 Name : le nom du package sans la version
 BuildRequires : la liste des packages nécessaires uniquement lors de la compilation
 Group : Utile pour le gestionnaire de package afin de classer le package dans un groupe (dépend de votre
 distribution).
 Requires : liste des packages requis uniquement pour l'utilisation de la forme compilé du package
 Version : version du programme que l'on souhaite compiler
 Release : version du package ( patchs, ... )
 BuildRoot : répertoire utilisé pour la compilation du package
  Source : Url utilisé pour récupérer puis extraire le package dans le BuildRoot. On peut préciser une adresse ftp, http ou
 locale à la machine.
Chapitre 1                      20

     opérations de sauvegarde

                                Objectif 3
   Concepts
   Types de sauvegarde :
   les utilitaires de sauvegarde :
   Solutions de souvegarde :
1-concepts :                                                                            21

   La sauvegarde est une tâche importante. Elle doit être effectuée périodiquement sur des machines
    comportant des données sensibles.
   Les opérations de sauvegarde sont réalisées afin de pouvoir :
   restaurer la totalité d'un système en état de fonctionnement suite à un incident (disque
en panne, feu, …) ;
   restaurer une partie du système (un fichier ou un répertoire) suite à une fausse
manipulation telle qu’une suppression accidentelle d'un fichier de configuration.
2-types de sauvegarde :
                                                                                                 22

Les sauvegardes sont de trois types :
                   sauvegarde complète : consiste à sauvegarder la totalité du système.


                   sauvegarde différentielle : consiste à ne sauvegarder que les fichiers modifiés en se
                  référant à une sauvegarde complète précédemment effectuée.


                   sauvegarde incrémentale : consiste à ne sauvegarder que les fichiers modifiés depuisla
                    dernière sauvegarde.
3-Utilitaires de sauvegarde :
 Commande mt :
La commande mt contrôle une bande magnétique.
                                                                    23
  Syntaxe :


                       mt [-f périphérique] opération

Avec :
périphérique : le lecteur de la bande, par défaut c'est /dev/tape


parmi les opérations possibles :
   rewind : rembobiner ;
   status : afficher l'état de la bande ;
   erase : effacer la bande ;
   offline : embobiner et éjecter ;
   fsf [n] : avancer de n fichiers ;
   bsf [n] : reculer de n fichiers.
Commande tar :
La commande tar sauvegarde des fichiers et des répertoires .
Syntaxe :
                                                                                               24

                           tar     cvf       nom_archive Fichier

Avec :
   -c, --create : crée une archive ;
   -x, --extract : extrait une archive ;
   -t, --list : liste tous les fichiers de l'archive ;
   -f, --file Fichier : précise le fichier archive qui peut être un fichier ordinaire ou un
périphérique ;
   -z, --gzip : (dé)compacte l'archive tar avec gzip ;
   -j, --bzip2 : (dé)compacte l'archive tar avec bzip2 ;
   -M, --multi-volume : crée une archive tar multivolumes ;
   -v, --verbose : active le mode d'affichage détaillé.
Commande cpio :
La commande cpio sauvegarde sur la sortie standard les fichiers dont les noms sont
fournis par l'entrée standard.
                                                                                     25
Syntaxe :

                                 cpio -option


Avec :
   -i : extrait les fichiers de l'archive ;
   -o : crée une archive ;
   -t : affiche une table du contenu de l'entrée ;
   -B : utilise une taille de bloc d'entrée/sortie de 5120 octets ;
   -c : utilise un vieux format d'archive portable ;
   -v : active le mode d'affichage détaillé.
Utilitaire rsync :
rsync (remote synchronization) est un utilitaire de synchronisation de fichiers entre l’hôte
local et un hôte distant.
                                                                                               26
Syntaxe :
                      rsync -option


Avec :
   -v : active le mode d'affichage détaillé ;
   -a : active le mode archive, identique à -rlptgoD ;
   -z : compresse les données à envoyer ;
   -e commande : spécifie un shell distant ;
   -n : simule le fonctionnement de la commande ;
   --delete : supprime les fichiers qui n'existent pas sur l’hôte émetteur.
Commandes dump :
La commande dump sauvegarde un système de fichiers de type Ext2/Ext3.                          27
Syntaxe :

                  dump -option

Avec :
   -Niveau : spécifie le niveau de l'archive. La valeur 0 précise une sauvegarde
    complète,une valeur différente de 0 précise une sauvegarde incrémentale ;
   -u : mise à jour du fichier dumpdates ;
   -f fichier : spécifie le fichier archive. Par défaut c'est /dev/st0. La valeur « - » est
utilisée pour la sortie standard ;
   -L étiquette : ajoute une étiquette dans l'en-tête de l'archive ;
   -A fichier : crée un fichier contenant la liste des fichiers de l'archive.
Commande restore :
                                                                                             28
    La commande restore extrait des fichiers, des répertoires ou la totalité du système de
fichiers d'une archive créée par dump.
Syntaxe :              restore -option




    Avec :
   -i : lance la commande en mode interactif ;
   -f fichier : spécifie le fichier archive ;
   -r : extrait le contenu de toute l'archive dans le répertoire courant ;
   -t : liste le contenu du fichier archive.
Commande dd
                                                                                           29
    La commande dd permet de faire une copie bloc par bloc. Elle est adaptée pour la
duplication des périphériques de stockage tels qu'un disque, une partition, etc.
Syntaxe :
              dd if=fichier-entrée      of=fichier-sortie   bs=taille    count=nb



Avec :
   if : spécifie le fichier source, par défaut c'est le fichier entrée standard ;
   of : spécifie le fichier destination, par défaut c'est le fichier sortie standard ;
   bs : spécifie la taille des blocs, par défaut c'est 512 octets ;
   count : spécifie le nombre de blocs à copier, par défaut c'est autant de blocs qu’en
contient fichier-entrée.
30
4-Solutions de sauvegarde :


 Les solutions de sauvegarde gèrent les opérations de sauvegarde, de restauration et de
vérification de données de différents systèmes tels que Linux, MacOS, Windows, etc. Elles
fonctionnent en réseau selon le modèle client/serveur en utilisant des protocoles de
transfert de fichiers tels que NFS, SSH, SMB, etc.
Ces solutions sont relativement faciles à utiliser, efficaces et offrent de nombreuses
fonctions avancées de gestion de sauvegarde.
Bacula, Amanda et BackupPC sont des solutions de sauvegarde libres distribuées sous
licence GPL. Elles sont considérées comme des alternatives viables aux solutions de
sauvegarde propriétaires.

Maintenance du système Linux

  • 1.
    1 SYSTEME D’EXPLOITATION UNIX Chapitre 6. System Maintenance - Construction et installation de programmes à partir du code source - Opérations de sauvegarde
  • 2.
    Objectif du cours 2 • Gestion des logs Objectif 1 • (Re)Construire ses propres packages Objectif 2 • Les sauvegardes sous Linux Objectif 3
  • 3.
    Chapitre 1 3 Gestion des logs Objectif 1  Présentation de Syslog  La configuration  La Source  Le filtrage  Les message LOG  Lire ses fichiers de logs
  • 4.
    4 Gestion des logs Présentation de Syslog  Syslog-ng est en quelque sorte la version améliorée de syslog. La grande nouveauté est la possibilité d'appliquer des filtres sur les messages de log générés. La partie log réseau a également été améliorée. Sysklog est une implémentation du protocol syslog plus ancienne mais encore utilisée sous certains UNIX.Composé de deux daemons: syslogd qui s'occupe du logging du système et klogd qui s'occupe du logging du noyau.
  • 5.
    Configuration 5 Le fichier de configuration de syslog-ng est /etc/syslog-ng/syslog-ng.conf. 5 mots clés définissent le comportement de syslog-ng : • options : définit les options de syslog-ng • source : définit les sources d'où syslog-ng récupèrera les messages de log • destination : définit l'emplacement d'écriture final des messages de log • filter : les filtres à appliquer à la source • log : élément qui va lier les sources, un ou plusieurs filtres et une ou plusieurs destinations
  • 6.
    La source 6 Ce mot clé va nous permettre de définir une ou plusieurs "entrée" dans le système de traitement de syslog-ng. Cette source contient plusieurs entrées de types différents. Tout d'abord, une entrée "internal()" spécifique à syslog- ng. Nous pouvons ensuite lire l'intégralité des messages de log depuis le fichier /dev/log qui n'est rien d'autre que le point d'entrée et de sortie des messages envoyés par la fonction syslog() des librairies C.
  • 7.
    7 Le kernel fournitun point de lecture de ses propres messages grâce au fichier /proc/kmsg. Si nous souhaitons que notre daemon syslog-ng agisse en tant que serveur réseau de logs, il suffit alors de placer la fonction "udp()". Comme indiqué dans le commentaire, ce paramètre agit comme l'option -r de l'ancien daemon syslogd.
  • 8.
    Le filtrage 8 Cette section est très importante et fait la force de syslog-ng.C'est ici que nous définissons les filtres qui seront appliqué (plus tard) aux messages sources. Il faut préciser ou non un ou plusieurs levels séparés par des "," qui correspondent au niveau du message (debuggage, warning, information..etc.) à une facility précisée. L'exemple suivant permet de récupérer tous les messages en provenance de la facility cron et applique une restriction sur le niveau du message en ne récupérant que les erreurs :
  • 9.
    Le filtrage 9 Les propriétés de filtrage
  • 10.
    Les messages LOG 10  Cette section permet tout simplement de relier les différents éléments de la configuration . Cette section fait une liaison avec les deux dernières sections c'est à dire la source, le filtre et la destination :
  • 11.
    Lire ses fichiersde logs 11 Pour lire les fichiers de logs d'un système, on peut utiliser n'importe quelle commande vue précédemment comme cat, head, less, more, etc ... Vous pouvez aussi utiliser votre éditeur de texte préféré qu'il soit en disponible en CLI ou en mode graphique. Certaines commandes peuvent aussi se révéler plus pratiques que d'autres pour lire les fichiers de logs comme tail qui permet d'afficher uniquement la fin du fichier de log. Vous pouvez aussi voir les logs en temps réel grâce à l'option -f de la commande tail.
  • 12.
    Chapitre 2 12 (Re)Construire ses propres packages Objectif 2  Objectifs  Avec le gestionnaire de packages RPM  Créer un package avec les sources d'un programme
  • 13.
    (Re)Construire ses proprespackages 13 Objectifs Pourquoi construire ou reconstruire ses packages ? Tout d'abord savoir construire ses paquets est un moyen d'intégrer dans son système Linux une application non supportée par défaut. Par exemple si je possède une distribution linux debian et que je souhaite installer un lecteur vidéo mais que je ne dispose que des sources de ce dernier, la meilleure solution est de générer un package DEB et de l'ajouter ensuite avec la commande dpkg. Les avantages sont nombreux, on peut ensuite facilement le désinstaller, le mettre à jour, le distribuer, ...
  • 14.
    Avec le gestionnairede packages RPM 14 Introduction Le format Red hat Package Manager (RPM), est une archive contenant les binaires d'un programme ainsi que des scripts d'installation pour ce dernier. Ces RPM sont créés à partir des sources d'une application qui est d'abord décompressée, patchée puis compilée. Le résultat de cette compilation est donc notre fameux fichier RPM ainsi qu'un fichier RPM source, par exemple :  Binaire RPM : mc-4.6.1.i586.rpm. Ici l'archive RPM contient les binaires compilés pour une architecture i586 du programme mc.  Source RPM : mc-4.6.1.src.rpm. Ici l'archive RPM contient les sources du programme mc ainsi que tous les fichiers, toute la configuration nécessaire pour la création du package RPM contenant les binaires.
  • 15.
    Pour finir ilest interressant de savoir que lors de la création d'un package RPM, divers 15 scripts sont exécutés pour automatiser la compilation et toutes les étapes qui l'accompagnent . Voici donc les différents répertoires et dossiers qui contiennent ces librairies, scripts :  /var/lib/rpm : Ce dossier contient plusieurs petites base de données fichiers qui indexent tout les packages rpm du système. Voici quelques exemples :  /var/lib/rpm/Packages : Base de données des packages installés  /usr/lib/rpm : Contient les librairies et scripts utilisés par les archives rpm, contient également la configuration par défaut utilisée pour la création de packages.  /usr/lib/rpm/rpmrc : configuration par défaut utilisé pour la création des packages RPM. On peut y définir l'architecture de sortie, par exemple i386, ou i586 ou 64 bits, ...  /usr/lib/rpm/macros : contient l'ensemble des macros (scripts), variables, appelés par défaut lors de la création d'un package.  /usr/lib/rpm/* tout le reste des fichiers sont des scripts et des librairies utilisés par le gestionnaire de package rpm.
  • 16.
    Recompiler un packageRPM 16 A présent que tout est prêt nous pouvons enfin créer des packages rpms. Notre premier test va être de recompiler un package RPM ce qui est très simple car il nous suffit d'utiliser le rpm source et pour cela, 2 choix s'offrent à nous. Soit simplement recompiler le package sans rien modifier ni patcher, à ce moment là on fera appel à la commande rpmbuild : Soit nous souhaitons modifier un peu le package avant de le recompiler, à ce moment là nous installons d'abord le package rpm source :
  • 17.
    Une fois installé,votre package de source est éclaté dans tous les dossiers que nous avons précédemment créé. Un fichier "package.spec" doit apparaître dans le dossier SPECS ainsi qu'une archive et tous les patchs du programme dans le dossier SOURCES. 17 Admettons à présent que nous souhaitons intégrer un nouveau patch à notre programme :  1. Copiez le dans le dossier SOURCES  2. Modifier le fichier package.spec pour ajouter ci-dessous les lignes qui sont en gras :  3. Enfin dernière étape, la compilation :
  • 18.
    Créer un packageavec les sources d'un 18 programme Dans cette dernière partie nous allons détailler comment générer un package rpm à partir des sources d'un programme. L'objectif est donc de créer nous-même un fichier de spec pour la commande rpmbuild. Ce dernier est organisé en plusieurs sections que voici:  Une section globale qui renseigne le nom du package, le fichier contenant les sources, sa version, ...  Une section où l'on précise les étapes de compilation et les éventuels patches  Une section où l'on précise comment installer le programme sur le système, les répertoires de destinations, les permissions, ...  Des sections post et pré installation où l'on peut lancer des scripts, effectuer diverses actions  Une section description et une section changelog pour renseigner le maximum d'informations à propos du package.
  • 19.
    La section globaledu fichier de spec 19 Voici toutes les options que l'on peut retrouver dans cette section : Name : le nom du package sans la version BuildRequires : la liste des packages nécessaires uniquement lors de la compilation Group : Utile pour le gestionnaire de package afin de classer le package dans un groupe (dépend de votre distribution). Requires : liste des packages requis uniquement pour l'utilisation de la forme compilé du package Version : version du programme que l'on souhaite compiler Release : version du package ( patchs, ... ) BuildRoot : répertoire utilisé pour la compilation du package Source : Url utilisé pour récupérer puis extraire le package dans le BuildRoot. On peut préciser une adresse ftp, http ou locale à la machine.
  • 20.
    Chapitre 1 20 opérations de sauvegarde Objectif 3  Concepts  Types de sauvegarde :  les utilitaires de sauvegarde :  Solutions de souvegarde :
  • 21.
    1-concepts : 21  La sauvegarde est une tâche importante. Elle doit être effectuée périodiquement sur des machines comportant des données sensibles.  Les opérations de sauvegarde sont réalisées afin de pouvoir :  restaurer la totalité d'un système en état de fonctionnement suite à un incident (disque en panne, feu, …) ;  restaurer une partie du système (un fichier ou un répertoire) suite à une fausse manipulation telle qu’une suppression accidentelle d'un fichier de configuration.
  • 22.
    2-types de sauvegarde: 22 Les sauvegardes sont de trois types :  sauvegarde complète : consiste à sauvegarder la totalité du système.  sauvegarde différentielle : consiste à ne sauvegarder que les fichiers modifiés en se référant à une sauvegarde complète précédemment effectuée.  sauvegarde incrémentale : consiste à ne sauvegarder que les fichiers modifiés depuisla dernière sauvegarde.
  • 23.
    3-Utilitaires de sauvegarde: Commande mt : La commande mt contrôle une bande magnétique. 23 Syntaxe : mt [-f périphérique] opération Avec : périphérique : le lecteur de la bande, par défaut c'est /dev/tape parmi les opérations possibles : rewind : rembobiner ; status : afficher l'état de la bande ; erase : effacer la bande ; offline : embobiner et éjecter ; fsf [n] : avancer de n fichiers ; bsf [n] : reculer de n fichiers.
  • 24.
    Commande tar : Lacommande tar sauvegarde des fichiers et des répertoires . Syntaxe : 24 tar cvf nom_archive Fichier Avec :  -c, --create : crée une archive ;  -x, --extract : extrait une archive ;  -t, --list : liste tous les fichiers de l'archive ;  -f, --file Fichier : précise le fichier archive qui peut être un fichier ordinaire ou un périphérique ;  -z, --gzip : (dé)compacte l'archive tar avec gzip ;  -j, --bzip2 : (dé)compacte l'archive tar avec bzip2 ;  -M, --multi-volume : crée une archive tar multivolumes ;  -v, --verbose : active le mode d'affichage détaillé.
  • 25.
    Commande cpio : Lacommande cpio sauvegarde sur la sortie standard les fichiers dont les noms sont fournis par l'entrée standard. 25 Syntaxe : cpio -option Avec :  -i : extrait les fichiers de l'archive ;  -o : crée une archive ;  -t : affiche une table du contenu de l'entrée ;  -B : utilise une taille de bloc d'entrée/sortie de 5120 octets ;  -c : utilise un vieux format d'archive portable ;  -v : active le mode d'affichage détaillé.
  • 26.
    Utilitaire rsync : rsync(remote synchronization) est un utilitaire de synchronisation de fichiers entre l’hôte local et un hôte distant. 26 Syntaxe : rsync -option Avec :  -v : active le mode d'affichage détaillé ;  -a : active le mode archive, identique à -rlptgoD ;  -z : compresse les données à envoyer ;  -e commande : spécifie un shell distant ;  -n : simule le fonctionnement de la commande ;  --delete : supprime les fichiers qui n'existent pas sur l’hôte émetteur.
  • 27.
    Commandes dump : Lacommande dump sauvegarde un système de fichiers de type Ext2/Ext3. 27 Syntaxe : dump -option Avec :  -Niveau : spécifie le niveau de l'archive. La valeur 0 précise une sauvegarde complète,une valeur différente de 0 précise une sauvegarde incrémentale ;  -u : mise à jour du fichier dumpdates ;  -f fichier : spécifie le fichier archive. Par défaut c'est /dev/st0. La valeur « - » est utilisée pour la sortie standard ;  -L étiquette : ajoute une étiquette dans l'en-tête de l'archive ;  -A fichier : crée un fichier contenant la liste des fichiers de l'archive.
  • 28.
    Commande restore : 28 La commande restore extrait des fichiers, des répertoires ou la totalité du système de fichiers d'une archive créée par dump. Syntaxe : restore -option Avec :  -i : lance la commande en mode interactif ;  -f fichier : spécifie le fichier archive ;  -r : extrait le contenu de toute l'archive dans le répertoire courant ;  -t : liste le contenu du fichier archive.
  • 29.
    Commande dd 29 La commande dd permet de faire une copie bloc par bloc. Elle est adaptée pour la duplication des périphériques de stockage tels qu'un disque, une partition, etc. Syntaxe : dd if=fichier-entrée of=fichier-sortie bs=taille count=nb Avec :  if : spécifie le fichier source, par défaut c'est le fichier entrée standard ;  of : spécifie le fichier destination, par défaut c'est le fichier sortie standard ;  bs : spécifie la taille des blocs, par défaut c'est 512 octets ;  count : spécifie le nombre de blocs à copier, par défaut c'est autant de blocs qu’en contient fichier-entrée.
  • 30.
    30 4-Solutions de sauvegarde: Les solutions de sauvegarde gèrent les opérations de sauvegarde, de restauration et de vérification de données de différents systèmes tels que Linux, MacOS, Windows, etc. Elles fonctionnent en réseau selon le modèle client/serveur en utilisant des protocoles de transfert de fichiers tels que NFS, SSH, SMB, etc. Ces solutions sont relativement faciles à utiliser, efficaces et offrent de nombreuses fonctions avancées de gestion de sauvegarde. Bacula, Amanda et BackupPC sont des solutions de sauvegarde libres distribuées sous licence GPL. Elles sont considérées comme des alternatives viables aux solutions de sauvegarde propriétaires.