Maintenance du système
Maintenance du système
Ce chapitre traite de l’installation d’applications à partir des sources, des outils de sauvegarde et de restauration, ainsi que des commandes et fichiers permettant de transmettre des informations aux utilisateurs.
1. Compilation et installation de programmes à partir des sources
L’objectif de cette section est de vous apprendre à :
-
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
L’objectif de cette section est de vous apprendre à :
-
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....
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é...
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.
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 une sauvegarde.
b. Répertoires...
Informer les utilisateurs
Cette partie 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...