Quelles sont les principales commandes d’administration Linux ?

Temps de lecture estimé : 7 minutes

Après avoir fait une petite revue des principales commandes Linux pour utiliser au quotidien son poste de travail, intéressons-nous de nouveau à la ligne de commande pour voir cette fois-ci quelles sont les principales commandes d’administration Linux. Ici encore, chaque aspect de l’administration d’un système pouvant faire l’objet d’un livre de la taille d’une bible ou presque, nous proposerons un aperçu très synthétique de quelques unes des principales commandes permettant l’administration courante de son système Linux.
Notons que pour la plupart d’entre elles, elles ne sont accessibles qu’au super utilisateur, de par leur orientation "administration du système". Aussi, elles devront être exécutées soit directement par l’utilisateur root, soit pour le compte de l’utilisateur root en préfixant la commande avec le mot-clé sudo, comme nous l’avons vu dans plusieurs tutoriels précédents.

La commande apt, pour installer / désinstaller des programmes et mettre à jour son système

Un des éléments qui fait la spécificité d'une distribution Linux est son système de gestion des packages logiciels, notamment en ligne de commande. C'est en partie par celui-ci que se manifestent les liens de filiation d'une distribution à une autre, comme entre Debian et son dérivé le plus célèbre, Ubuntu; ces deux distributions utilisant toutes deux le gestionnaire de paquet créé par et pour la distribution Debian : apt.

Nous avons déjà fait une présentation de cet outil ultérieurement, aussi je ne saurais que trop vous conseiller la lecture de notre article expliquant différentes méthodes pour installer des logiciels sous Linux, et en particulier son chapitre dédié aux méthodes utilisant la ligne de commande.

La commande systemctl pour gérer les démons

Dans les distributions Linux, les démons (daemons) sont ce que sont les services pour Windows. Ce sont des programmes, qui généralement démarrent automatiquement avec le système (donc sans interaction avec l'utilisateur), et qui ont des rôles soit de serveur (par exemple le démon d’un serveur web), soit participent à un aspect du fonctionnement du système (par exemple le démon qui gère la configuration réseau).
Il existe plusieurs systèmes de gestion des démons suivant les différentes distributions Linux (qui participent à certaines de leurs spécificités d’un certain point de vue), mais cela fait quelques années maintenant que le programme systemd (et sa commande principale systemctl) tend à se généraliser sur l’ensemble des distributions, et ainsi, tend à homogénéiser les méthodes d'initialisation et de gestion des démons entre les distributions.
Voyons quelques exemples sur le démon sshd, qui est le serveur SSH le plus couramment utilisé.

Consulter l’état d’un démon

sudo systemctl status ssh

commande systemctl status

Cette commande demande à systemd de nous donner des renseignements sur l’état d’un démon : démarré ou pas, son numéro de processus, les options passées à son démarrage etc...

Activer un démon

sudo systemctl enable ssh

commande systemctl enable

Cette commande demande à systemd, qui gère l’initialisation automatique de tous les processus, d’activer le démarrage automatique du serveur SSH.

Désactiver un démon

sudo systemctl disable ssh

commande systemctl disable

Cette commande demande à systemd de désactiver le démarrage automatique du serveur SSH.

Démarrer un démon

sudo systemctl start ssh

commande systemctl start

Cette commande demande à systemd de démarrer manuellement le serveur SSH.

Arrêter un démon

sudo systemctl stop ssh

commande systemctl stop

Cette commande demande à systemd d’arrêter manuellement le serveur SSH.

Redémarrer un démon

sudo systemctl restart ssh

commande systemctl restart

Cette commande demande à systemd d’arrêter puis démarrer manuellement le serveur SSH.

La commande ps, pour voir les processus en cours

La commande ps sert à lister les processus actuellement chargés dans la mémoire vive de l’ordinateur. Elle support de nombreuses options, mais les plus courantes sont dans la commande suivante :

ps aux

commande ps aux

Cette commande affiche tous les processus, de tous les utilisateurs en affichant leur nom, et qu'ils soient attachés ou non à un terminal virtuel.

La commande kill pour envoyer des signaux aux processus

Ces signaux peuvent être de multiples natures, mais le principal signal choisi lorsqu'on en vient à utiliser la commande kill est le signal qui demande au système de terminer autoritairement un processus quand celui-ci ne répond plus : typiquement que le programme qui a initié le processus est planté. Pour plus de détails sur la commande kill, je vous invite à lire notre article expliquant comment terminer un programme planté en utilisant la ligne de commande.

La commande shutdown pour éteindre la machine

Cette commande aurait très bien pu être citée dans l’article présentant les principales commandes pour utiliser son système Linux, puisque arrêter son système fait partie de son utilisation. Ceci dit, le choix a été fait de la présenter dans cet article, car l’arrêt du système avec la ligne de commande nécessite les privilèges du super utilisateur.
Nous allons voir ici quelques-unes de ses options les plus utiles.

Eteindre l’ordinateur

sudo shutdown -h now

Cette commande ordonne l’arrêt immédiat du système. Au terme de la procédure, ce dernier sera mis hors tension.

Redémarrer l’ordinateur

sudo shutdown -r now

Cette commande ordonne le redémarrage immédiat de l’ordinateur. A la fin de la procédure d’extinction, l’ordinateur procédera à une nouvelle initialisation du système d’exploitation.

Programmer l’arrêt de l’ordinateur à une heure donnée

Comme on l’a remarqué dans les deux commandes précédentes, le mot clé “now” a été spécifié pour préciser à la commande shutdown qu’elle doit être exécutée tout de suite. Cela sous-entend donc qu’on peut planifier l’exécution de la commande.
Cela se fait facilement de la manière suivante:

sudo shutdown -h 23:45

commande shutdown

Cette commande ordonne l’arrêt et la mise hors tension de l’ordinateur à 23h45. Ici la valeur horaire est absolue, on indique une heure précise. On pourrait très bien indiquer un intervalle séparant l’heure à laquelle la commande est tapée de l’exécution effective de celle-ci, comme ci-dessous:

sudo shutdown -h +90

Cette commande ordonne l’arrêt et la mise hors tension de l’ordinateur 90 minutes après l’heure actuelle.

Il est possible d’annuler un arrêt planifié avec la commande suivante:

sudo shutdown -c

Le cron et la commande crontab pour planifier des tâches

Voilà un élément fondamental des systèmes d’exploitation en général, et des distributions Linux en particulier. Le cron est le démon qui est chargé d’exécuter des tâches (des commandes, des scripts, des programmes...) à des heures planifiées. Il est important pour le système, car il se charge d’orchestrer des tâches répétitives comme vérifier si il existe des mises à jour ou faire tourner les fichiers de logs par exemple.
C’est la commande crontab qui est utilisée pour éditer les tables de planification des utilisateurs. Chaque utilisateur possède la sienne, car chaque utilisateur peut planifier des tâches, dans son domaine de privilèges.

Consulter la crontab d’un utilisateur

sudo crontab -l

commande crontab -l

Cette commande affiche la table de planification des tâches de l’utilisateur root (car nous avons préfixé la commande avec sudo).

Editer la crontab d’un utilisateur

sudo crontab -e

commande crontab -e

Cette commande ouvre en écriture la table de planification des tâches de l’utilisateur root, avec un éditeur de texte (souvent l’éditeur vi). Les directives y sont saisies en colonnes, représentant respectivement la minute, l’heure, le jour du mois , le mois de l’année, le jour de la semaine auxquels la tâches doit être exécutée. Une dernière colonne contient la commande elle-même.

Dans la copie d'écran ci-dessus, on voit que la crontab de root contient une seule tâche planifiée, qui est l'arrêt automatique de la machine tous les jours à 23h45 (le caractère "*" placé aux jours du mois, mois de l'année et jours de la semaine veut dire "tous").

Dans certaines distributions, telles que Debian ou Ubuntu par exemple, il existe en outre une crontab “globale” configurée par le fichier /etc/crontab, qui contient une colonne supplémentaire en plus des 6 citées précédemment, qui est une colonne qui contient le nom de l’utilisateur qui va exécuter la commande. Pour utiliser cette crontab, il suffit de placer ses fichiers de commandes dans les répertoires /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly ou /etc/cron.monthly suivant la récurrence souhaitée.

La commande grep, pour filtrer et trouver l’information

La commande grep sert à filtrer un flux d’information avec un motif qui représente l’information que l’on recherche. On a déjà vu un exemple de ce que la commande grep permet de faire lorsque nous avons vu comment terminer un programme récalcitrant avec la ligne de commande. En effet, lorsque l’on utilise la commande ps pour récupérer la liste des programmes en cours d’exécution, il n’est pas simple la plupart du temps de trouver le programme que l’on recherche dans la longue sortie de la commande. C’est là où grep peut nous aider, en n’affichant que les lignes de la sortie de la commande ps qui mentionnent le motif recherché, par exemple ici le nom d’un processus :

ps aux | grep gnome-terminal

commande ps aux | grep

Liste les programmes chargés en mémoire, mais n’affiche que les processus gnome-terminal. Notons l’utilisation du pipe " | " pour injecter la sortie de la commande ps dans l’entrée de la commande grep.

La commande grep peut également nous aider à rechercher un motif présent dans un ou plusieurs fichiers d’une arborescence :

grep -r admin /etc

commande grep pour chercher dans des fichiers

Cette commande recherche récursivement dans tous les sous-dossiers et fichiers du dossier /etc tous les mots contenant la chaîne "admin", et nous affiche pour chaque correspondance, la ligne contenant le mot ainsi que le nom du fichier dans lequel le motif a été trouvé.

Quelques commandes pour surveiller la consommation des ressources (top, iftop, iotop, df, free)

Voici enfin pêle-mêle quelques commandes permettant de surveiller comment sont utilisées les ressources de l’ordinateur.

La commande top pour surveiller la consommation processeur

top

commande top

Affiche une liste dynamique des processus, classés du haut vers le bas selon leur consommation en temps processeur décroissante.

La commande iftop pour surveiller le trafic réseau

sudo iftop -i ens18

commande iftop

Affiche une vue dynamique en graphique du trafic réseau passant par l’interface filaire nommée ens18. Notons que la commande iftop n'est pas installée par défaut dans Ubuntu, on l'installe avec la commande sudo apt install iotop .

La commande iotop pour surveiller les entrées / sorties disque

sudo iotop

commande iotop

Affiche une liste dynamique des processus, classés du haut vers le bas selon leur consommation en débit de lecture ou d’écriture sur le disque dur décroissante. Notons que la commande iftop n'est pas installée par défaut dans Ubuntu, on l'installe avec la commande sudo apt install iotop .

La commande df pour surveiller l’espace disque disponible

df -h

commande df -h

Affiche la liste des périphériques de type "bloc" (comme les disques durs), avec leur capacité totale, la quantité d’espace occupé et la quantité d’espace libre, de manière facilement lisible.

La commande free pour surveiller la quantité de mémoire vive consommée

free

commande free

Affiche la quantité de mémoire vive totale du système, ainsi que son taux d’occupation. Si le système possède du swap, df affiche également sa quantité totale et son taux d’occupation.

Laisser un commentaire

Les commentaires sont publiés après modération.

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.