Cours

Linux Leçon 5

Paquets, services et processus

Installer un logiciel, démarrer un service, surveiller ce qui tourne : le quotidien d'un serveur.

25 min

À la fin de cette leçon, tu sauras

  • Installer et mettre à jour avec apt
  • Gérer un service avec systemctl
  • Surveiller les processus et l'espace disque

Installer des logiciels : apt

Sur Debian et Ubuntu, les logiciels s'installent depuis des dépôts officiels avec apt :

sudo apt update              # met à jour la liste des logiciels disponibles
sudo apt upgrade             # installe les mises à jour
sudo apt install nginx       # installe un logiciel
sudo apt remove nginx        # le désinstalle

Astuce : lance toujours apt update avant apt install, sinon apt risque de chercher une version qui n'existe plus.

Les services : systemctl

Un service est un programme qui tourne en permanence en arrière-plan : un serveur web, une base de données, SSH… On les gère avec systemctl :

sudo systemctl status nginx      # est-il en marche ? (q pour quitter)
sudo systemctl start nginx       # démarre
sudo systemctl stop nginx        # arrête
sudo systemctl restart nginx     # redémarre (après un changement de config)
sudo systemctl enable nginx      # le lance automatiquement au démarrage
journalctl -u nginx -n 50        # ses 50 derniers messages

Surveiller la machine

top              # les processus en direct, triés par CPU (q pour quitter)
ps aux | grep php
kill 1234        # demande au processus n°1234 de s'arrêter
df -h            # l'espace disque, en unités lisibles
free -h          # la mémoire

Chaque processus a un numéro, le PID, visible avec ps ou top. kill l'arrête proprement ; kill -9 le force, en dernier recours seulement.

Les utilisateurs

Sur un serveur, chaque personne a son compte, et on ne travaille jamais directement en root : on utilise sudo au besoin. sudo adduser tom crée un utilisateur, sudo usermod -aG sudo tom lui donne le droit d'utiliser sudo.

À toi de jouer

Tu dois installer le serveur web apache2 sur un serveur Debian. Tape dans le terminal les commandes pour :

  1. mettre à jour la liste des logiciels ;
  2. installer apache2 ;
  3. faire en sorte qu'il démarre automatiquement au démarrage de la machine ;
  4. vérifier qu'il est bien en marche.
eleve@cours: ~
  • sudo apt update met à jour la liste
  • sudo apt install installe apache2
  • systemctl enable le lance au démarrage
  • systemctl status vérifie son état
  • La mise à jour est faite avant l'installation
Bloqué ? Voir une solution
sudo apt update
sudo apt install apache2
sudo systemctl enable apache2
sudo systemctl status apache2

Quiz

1Que fait sudo systemctl enable nginx ?
2Quelle commande montre l'espace disque libre ?
3Pourquoi lancer apt update avant apt install ?