Connaître son système Linux
Sur Linux, plus que sur Windows, vous devez prendre l'habitude de lancer un terminal en parallèle de votre utilisation du bureau graphique.
Il s'agît de systèmes d'exploitation où règne encore une forme d'équité entre l'usage d'un environnement de bureau et de la ligne de commande.
Vous allez commencer ici à appréhender doucement un système Linux.
D'abord avec un environnement de bureau, puis plus tard avec un environnement exclusivement en CLI lorsque vous aborderez les serveurs.
Une seule règle à retenir : l'usage d'un environnement de bureau sur un serveur est INTERDIT !
La majeure partie des informations et des opérations que vous devrez mener en administration système ne se mène qu'en utilisant des commandes (CLI).
Tout système linux possède un utilisateur "root", omnipotent, et des utilisateurs plus standards, auxquels on peut octroyer des droits supplémentaires.
Certaines des commandes ci-dessous ne produisent pas les mêmes résultats, selon que vous êtes root ou un utilisateur standard.
Plusieurs outils vous permettre de revêtir le costume de "root", en octroyant à un utilisateur standard la possibilité d'exécuter des commandes que seul "root" peut normalement exécuter (sudo, doas etc..)
Nous apprendrons à configurer cela plus loin.
En attendant, testez et apprenez à vous servir des commandes ci-dessous.
Nom d'hôte de l'ordinateur
- hostname : Affiche le nom d'hôte de la machine.
- cat /etc/hostname : Affiche également le nom d'hôte défini dans le fichier dédié.
- uname -n : Autre moyen d'obtenir le nom d'hôte.
Informations sur le système (distribution, version)
- lsb_release -a : Affiche la version d'Ubuntu (ou autre distribution basée sur Debian/Ubuntu).
- cat /etc/os-release : Fournit des informations sur la distribution (Nom, version, etc.).
Version du noyau
- uname -r : Version du noyau Linux en cours.
- uname -a : Informations plus complètes (noyau, machine, etc.).
Heure et date du système
- date : Affiche l'heure et la date courante.
- timedatectl : Montre l'heure, le fuseau horaire, l'état de la synchronisation NTP, etc.
Informations matérielles et périphériques
Inventaire général du matériel
- lshw (nécessite souvent sudo) : Inventaire complet du matériel (CPU, RAM, stockage, réseau, etc.).
- inxi -F (si inxi est installé) : Résumé complet du système (matériel, pilotes, système, etc.).
Périphériques spécifiques
- lspci : Liste les périphériques PCI (carte réseau, carte graphique, etc.).
- lsusb : Liste les périphériques USB connectés.
- lsblk : Affiche une vue arborescente des périphériques de stockage (disques, partitions, clés USB).
- lscpu : Informations détaillées sur le CPU (architecture, nombre de cœurs, threads, etc.).
- lsmem (sur certaines distributions) : Informations sur la mémoire.
- lsmod : Liste les modules du noyau chargés (pilotes).
Détails mémoire
- free -h : Affiche la quantité de RAM utilisée, libre, cache, etc. en format lisible (Mo, Go).
- cat /proc/meminfo : Détails bruts sur la mémoire et son utilisation.
- sudo lshw -class memory : Montre des informations détaillées sur la RAM (type, taille par barrette, etc.).
Détails stockage
- df -h : Affiche l'espace disque utilisé et disponible sur les partitions montées.
- fdisk -l (sudo) : Liste les disques, partitions et leurs types.
- blkid (sudo) : Affiche l'UUID et le type de système de fichiers des partitions.
- sudo lshw -class disk -class storage : Informations détaillées sur les disques (fabricant, interface, etc.).
Informations réseau
Adresses IP, interfaces
- ip a ou ip addr : Affiche les interfaces réseau et leurs adresses IP.
- ifconfig (obsolète mais parfois encore disponible) : Ancienne méthode pour voir les interfaces et IP.
- nmcli device show : Avec NetworkManager, montre les infos sur les interfaces.
Routes et passerelle
- ip route : Affiche la table de routage, y compris la passerelle par défaut.
- route -n (commande plus ancienne) : Affiche la table de routage.
DNS
- cat /etc/resolv.conf : Liste les serveurs DNS résolveurs utilisés par le système.
Test de connectivité
- ping adresse : Tester la connectivité vers une machine distante.
- traceroute adresse : Suivre le chemin pris par les paquets à travers le réseau.
- dig domaine ou nslookup domaine : Résoudre des noms de domaine, obtenir les enregistrements DNS.
Analyse du trafic réseau
- ss -tulpn : Liste les sockets ouverts (TCP/UDP), ports, programmes associés.
- netstat -tulpn (nécessite parfois net-tools) : Équivalent ancien pour lister les connexions.
Processus, mémoire système et performance
Liste des processus
- ps -ef ou ps aux : Liste les processus en cours.
- top : Affiche en temps réel les processus, leur consommation CPU et RAM.
- htop (si installé) : Variante de top avec interface plus interactive.
Utilisation CPU & RAM dynamique
- top ou htop : Donnent une vue en temps réel.
- vmstat : Donne des statistiques sur la mémoire, CPU, E/S disque.
- iostat (nécessite sysstat) : Statistiques sur les E/S disque et CPU.
- dstat : Outil combinant plusieurs stats (CPU, RAM, disque, réseau).
Informations sur le noyau, les modules et les pilotes
Modules du noyau
- lsmod : Liste les modules chargés.
- modinfo nom_du_module : Fournit des infos sur un module (fichier, description, paramètres).
- lspci -v : Voir quels modules/pilotes sont utilisés par quels périphériques PCI.
Journaux du système & noyau
- dmesg : Affiche les messages du noyau depuis le démarrage.
- journalctl : Affiche les journaux gérés par systemd (dont ceux du noyau), journalctl -b pour depuis le dernier démarrage, journalctl -k pour messages noyau.
Informations sur l'environnement et le système de packages
Variables d'environnement
- env ou printenv : Liste toutes les variables d'environnement.
- echo $VARIABLE : Afficher la valeur d'une variable spécifique.
Informations sur les paquets (Ubuntu/Debian)
- apt list --installed : Liste les paquets installés.
- apt show nom_du_paquet : Affiche les informations détaillées d'un paquet (version, dépendances, description).
- dpkg -l : Liste les paquets installés (sortie plus verbeuse mais moins structurée qu'apt list).
Architecture du système
- uname -m : Affiche l'architecture CPU (x86_64, arm, etc.).
- dpkg --print-architecture : Affiche l'architecture du système (pour la gestion des paquets).
Outils graphiques
- Moniteur Système (Gnome System Monitor) : Permet de voir les ressources (CPU, RAM, disque), les processus, l'historique du réseau via une interface graphique.
- Informations Système : Dans Paramètres > À propos, on retrouve le nom de la machine, la version d'Ubuntu, le type de processeur, la mémoire installée, etc.
- Logiciels & Mises à jour > Pilotes Additionnels : Permet de basculer entre pilotes libres et propriétaires (carte graphique, Wi-Fi, etc.).
Jetez également un œil aux commandes Linux indispensables sur Debian.
Vous devez maîtriser ces commandes.