Maintenance du système
Prérequis et objectifs
1. Prérequis
Les connaissances nécessaires à la certification LPIC-1 :
Édition de fichiers.
Commandes de gestion de répertoires et de fichiers.
Partitions et systèmes de fichiers.
2. Objectifs
À la fin de ce chapitre, vous serez en mesure de :
Compiler et installer un programme exécutable à partir de son code source.
Sauvegarder et restaurer fichiers, répertoires et systèmes de fichiers.
Mettre en œuvre des outils de communication pour informer les utilisateurs d’événements concernant le système.
Maintenance du système
Ce sujet est divisé en trois parties de poids différents.
1. Compilation et installation de programmes à partir des sources
Poids |
2 |
Objectifs |
Compiler et installer un programme exécutable à partir de son code source. Cet objectif inclut l’extraction de sources depuis un fichier archive. |
a. Compétences principales
-
Extraire les fichiers sources de fichiers générés par des outils standards de compression et d’archivage.
-
Comprendre l’utilisation de base de la commande make pour compiler des programmes.
-
Passer des paramètres à un script de configuration.
-
Connaître les emplacements par défauts des fichiers sources.
b. Éléments mis en œuvre
-
/usr/src/
-
gunzip
-
gzip
-
bzip2
-
xz
-
tar
-
configure
-
make
-
uname
-
install
-
patch
2. Sauvegardes
Poids |
3 |
Objectifs |
Mettre en œuvre les outils système pour sauvegarder les données importantes. |
a. Compétences principales
-
Connaître les répertoires à inclure dans les sauvegardes.
-
Connaissances de base des solutions de sauvegarde réseau comme Amanda, Bacula, Bareos et BackupPC.
-
Connaître les avantages et inconvénients des médias de sauvegarde, bandes, CD enregistrables, disques et autres.
-
Effectuer des sauvegardes manuelles et partielles.
-
Vérifier l’intégrité des sauvegardes.
-
Effectuer des restaurations...
Compilation et installation de programmes à partir des sources
Les distributions Linux disposent de mécanismes prenant en charge l’installation de paquets logiciels à partir de dépôts (repositories) disponibles sur le réseau. Cela permet une gestion complète des éléments logiciels mis en œuvre sur le système : liste, mise à jour, désinstallation.
Cependant, il est parfois nécessaire d’installer un logiciel à partir de ses fichiers sources, en copiant ces derniers sur le système local, puis en les compilant afin de générer les programmes exécutables correspondants.
Cette procédure ne devrait être utilisée qu’en dernier recours, quand aucun paquet logiciel pour la distribution n’existe pour le programme à installer ou pour la version souhaitée. En effet, ce type d’installation n’est pas pris en charge par le gestionnaire de logiciels standard, qui ne conserve donc pas trace de l’élément installé et ne pourra ni le mettre à jour ni le désinstaller.
De même, il peut être nécessaire d’appliquer des correctifs (patches) à certains logiciels installés, en particulier s’ils sont liés à des problèmes de sécurité.
1. Installation à partir de fichiers sources
Pour faciliter l’installation d’une application à partir de ses fichiers sources, une procédure standard de compilation a été mise en place dans le cadre du projet GNU (Gnu is Not Unix). Elle uniformise cette opération pour les différents logiciels open source et permet à des utilisateurs non développeurs de la mener à bien.
Ce type d’installation nécessite généralement la présence sur le système des outils de développement (paquet logiciel "build-essential" pour les distributions de type Debian, groupe logiciel "Development Tools" pour les distributions de type Red Hat).
a. Récupération des sources
Généralement, les fichiers sources d’une application sont mis à disposition en téléchargement, sous la forme d’un fichier d’archive compressé (tarball file).
La première...
Sauvegardes
La sauvegarde des systèmes et des données qu’ils gèrent est l’une des responsabilités qui incombent à l’administrateur système. Les procédures à mettre en place et le choix des outils dépendent de nombreux facteurs souvent complexes à appréhender.
Dans le cadre de la certification LPIC2, nous allons étudier différentes commandes et utilitaires Linux permettant d’effectuer des sauvegardes et des restaurations, totales ou partielles, et évoquer quelques applications spécialisées dans ce domaine.
1. Que faut-il sauvegarder ?
Les sauvegardes concernent différents éléments : les données des utilisateurs, celles des applications (fichiers, bases de données), les fichiers exécutables et de configuration des logiciels installés, les fichiers exécutables et de configuration du système d’exploitation. Ces différents éléments ne nécessitent pas les mêmes stratégies de sauvegarde (fréquence, type de sauvegarde, supports à utiliser) ni les mêmes outils de sauvegarde.
a. Systèmes de fichiers
La plupart des systèmes Linux structurent leur arborescence globale de répertoires et de fichiers en associant différents systèmes de fichiers. L’un des avantages de cette organisation est de permettre des sauvegardes autonomes des différents systèmes de fichiers. On peut presque tous les démonter et les sauvegarder séparément. S’ils sont dans des volumes logiques LVM ou dans des systèmes de fichiers qui le permettent, on peut utiliser la technique des instantanés (snapshots) pour sauvegarder leur état au moment de la sauvegarde.
Cependant, certains répertoires nécessaires au démarrage du système ne peuvent être situés dans des systèmes de fichiers autres que celui de la racine. C’est le cas en particulier du répertoire /etc, contenant des fichiers de configuration essentiels, et du répertoire /bin qui contient des exécutables indispensables pour initialiser le système (par exemple, le programme shell /bin/sh). On ne peut donc pas démonter le système de fichiers qui les contient pour faire...
Informer les utilisateurs
Ce sujet expose différents moyens de communication permettant à l’administrateur système d’informer les utilisateurs connectés ou désireux de le faire, à propos d’éléments ou d’événements du système.
Ces outils sont de moins en moins utilisés, car la plupart des systèmes fonctionnent en mode client/serveur et il y a donc peu d’utilisateurs connectés sur un serveur via un terminal.
1. Les fichiers /etc/issue et /etc/issue.net
Le contenu de ces fichiers est affiché à l’écran du terminal avant la connexion de l’utilisateur.
Le contenu de /etc/issue s’affiche, avant la demande d’identification, sur les terminaux locaux à la machine (y compris les consoles virtuelles). Ce fichier peut contenir des séquences de caractères ayant une signification particulière, parmi lesquelles :
\d |
Date. |
\s |
Nom du système. |
\n |
Nom réseau du système. |
\r |
Version du système. |
Le contenu de /etc/issue.net s’affiche, avant la demande d’identification, sur les terminaux connectés via telnet. Cependant, utiliser ce protocole de connexion est vivement déconseillé pour des raisons de sécurité.
Par défaut, les connexions via ssh n’affichent pas le contenu de ce fichier. Il est possible de modifier la configuration du serveur ssh pour qu’il utilise ce fichier. Il faut pour cela modifier la ligne "Banner" du fichier de configuration de ssh, /etc/ssh/sshd_config.
Banner /etc/issue.net
Il faut ensuite redémarrer le serveur sshd.
Malheureusement, le serveur sshd n’interprète pas les séquences spéciales du fichier issue.net.
Exemple
On met en place un fichier bannière pour les connexions ssh sur le serveur srvrh RHEL 8.5 :
vi /etc/issue.net
Bienvenue sur le serveur srvrh (RHEL 8.5).
L'accès est réservé aux personnes autorisées.
vi /etc/ssh/sshd_config
[...]
#Banner none
Banner /etc/issue.net
[...]
On redémarre le serveur sshd :
systemctl reload sshd
On se connecte au serveur srvrh RHEL 8.5 depuis un système distant...
Validation des acquis : questions/réponses
Répondez à ces questions ouvertes, comparables à celles qui pourront vous être posées lors de la certification, mais ces dernières seront sous forme de QCM ou demandant une réponse courte saisie au clavier.
1. Questions
1 Quelle commande permet de restaurer le fichier d’archive myprog.tar.bz2 ?
2 Quelle commande permet d’obtenir des informations à propos du système local, parmi lesquelles le type de système installé et la version du noyau ?
3 Lors d’une installation à partir des fichiers sources, quelle commande peut générer le fichier Makefile ?
4 Lors d’une installation à partir des fichiers sources, comment nettoyer le répertoire de compilation des fichiers générés ?
5 Est-il nécessaire de sauvegarder le répertoire /dev ?
6 Quel est l’avantage de la commande rsync par rapport à une copie inter-systèmes via ssh (scp) ?
7 Pourquoi faut-il restaurer une sauvegarde de niveau 0 avant une sauvegarde de niveau 1 ?
8 Quelle commande permet de copier un disque dur sur un autre disque dur ?
9 Quelle option permet de lister le contenu d’une archive TAR sans la restaurer ?
10 Quelle est la différence entre les fichiers spéciaux /dev/st0 et /dev/nst0 ?
11 La commande shutdown peut-elle être annulée avant...
Travaux pratiques
Ces travaux pratiques proposent deux ateliers mettant en œuvre certains des points abordés dans ce chapitre. Pour chaque atelier un exemple commenté de réalisation est à adapter suivant la configuration de vos systèmes.
1. Installation d’une application à partir des fichiers sources
On décide d’installer un jeu en mode semi-graphique, open source, à partir de ses fichiers sources, pour le mettre à disposition des utilisateurs.
Commandes et fichiers utiles
-
wget
-
tar
-
make
Manipulations
1. |
Téléchargez sur un système Linux l’archive des fichiers sources du programme nsnake, une application open source de jeu en mode semi-graphique. On peut la trouver à l’URL suivante : https://sourceforge.net/projects/nsnake/files/GNU-Linux/nsnake-3.0.1.tar.gz |
2. |
Restaurez l’archive dans un répertoire de connexion utilisateur. |
3. |
Installez l’application à partir des fichiers sources. Testez son fonctionnement. |
Résumé des commandes et résultat à l’écran
1. |
Téléchargez sur un système Linux l’archive des fichiers sources du programme nsnake, une application open source de jeu en mode semi-graphique. On peut la trouver à l’URL suivante : https://sourceforge.net/projects/nsnake/files/GNU-Linux/nsnake-3.0.1.tar.gz |
On décide d’installer l’application sur le serveur srvdebian (distribution Debian 11) avec le compte utilisateur pba.
On utilise la commande wget pour télécharger le fichier d’archive indiqué :
pba@srvdebian:~$ wget https://sourceforge.net/projects/nsnake/files/
GNU-Linux/nsnake-3.0.1.tar.gz
--2022-08-29 15:30:47-- https://sourceforge.net/projects/nsnake/files/
GNU-Linux/nsnake-3.0.1.tar.gz
Résolution de sourceforge.net (sourceforge.net)... 172.64.153.13, 104.18.34.243
Connexion à sourceforge.net (sourceforge.net)|172.64.153.13|:443... connecté.
requête HTTP transmise, en attente de la réponse… 301 Moved Permanently
Emplacement : https://sourceforge.net/projects/nsnake/files/GNU-Linux/
nsnake-3.0.1.tar.gz/ [suivant]
--2022-08-29 15:30:47-- https://sourceforge.net/projects/nsnake/files/
GNU-Linux/nsnake-3.0.1.tar.gz/
Réutilisation de la connexion existante à sourceforge.net:443. ...