$ carnet-linux
PHASE 2 · MODULE 08

Gestion des logiciels

Fini les installateurs téléchargés au hasard sur Internet : sous Linux, un gestionnaire de paquets installe, met à jour et désinstalle des dizaines de milliers de logiciels vérifiés, en une commande. Et quand il ne suffit pas, snap et flatpak prennent le relais.

⏱️ Lecture ~45 min 🧪 Pratique ~1 h 🎚️ Niveau débutant → intermédiaire
Tux

🎯 Ce que tu sauras à la fin

📦

Paquets

Comprendre paquets, dépôts et dépendances.

⚙️

apt

Installer, mettre à jour, chercher, désinstaller.

🧩

snap & flatpak

Choisir le bon format selon le logiciel.

🛡️

Sécurité

Dépôts de confiance, PPA et mises à jour automatiques.

Paquets et dépôts

▶ Vidéo · 1 min 30Installer un logiciel : apt et les dépôtsle gestionnaire de paquets d'Ubuntu
Animation réalisée pour ce cours. Voix off et musique générées par IA (Google Gemini et Lyria).
Paquet
Une archive (.deb sur Ubuntu) qui contient un logiciel, ses fichiers de configuration et la liste de ses dépendances.
Dépendance
Un autre paquet indispensable au fonctionnement (une bibliothèque, par exemple). Le gestionnaire les installe automatiquement.
Dépôt
Un serveur qui héberge des milliers de paquets, signés numériquement par la distribution.
Gestionnaire de paquets
L'outil qui télécharge, vérifie, installe et met à jour : apt sur Debian et Ubuntu, dnf sur Fedora, pacman sur Arch.

Les dépôts d'Ubuntu

ComposantContenuMaintenu par
mainLogiciels libres essentiels, supportés officiellementCanonical
universeLe reste des logiciels libres : des dizaines de milliers de paquetsLa communauté
restrictedPilotes propriétaires indispensables (cartes graphiques…)Canonical
multiverseLogiciels non libres ou soumis à des restrictions (codecs…)La communauté

Sur Ubuntu 24.04, la liste des dépôts est dans /etc/apt/sources.list.d/ubuntu.sources :

user@ubuntu:~$ cat /etc/apt/sources.list.d/ubuntu.sources
Types: deb
URIs: http://fr.archive.ubuntu.com/ubuntu/
Suites: noble noble-updates noble-backports
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg

Types: deb
URIs: http://security.ubuntu.com/ubuntu/
Suites: noble-security
...

Signed-By indique la clé qui garantit l'authenticité des paquets : si un paquet a été modifié en route, apt refuse de l'installer.

apt au quotidien

CommandeEffet
sudo apt updateTélécharge la liste à jour des paquets disponibles. N'installe rien.
sudo apt upgradeMet à jour tous les paquets installés
sudo apt full-upgradeIdem, en acceptant d'ajouter ou retirer des paquets si nécessaire (changement de noyau…)
sudo apt install paquetInstalle un paquet et ses dépendances
sudo apt remove paquetDésinstalle, en gardant les fichiers de configuration
sudo apt purge paquetDésinstalle et supprime la configuration système
sudo apt autoremoveSupprime les dépendances devenues inutiles
apt search motCherche dans les noms et descriptions
apt show paquetDescription, version, taille, dépendances
apt list --installed / --upgradablePaquets installés / à mettre à jour
user@ubuntu:~$ apt search "system monitor" 2>/dev/null | head -4
btop/noble 1.3.0-1 amd64
  Modern and colorful command line resource monitor that shows usage and stats
user@ubuntu:~$ sudo apt install btop
Les NOUVEAUX paquets suivants seront installés :
  btop
0 mis à jour, 1 nouvellement installés, 0 à enlever et 0 non mis à jour.
Après cette opération, 1 237 ko d'espace disque supplémentaires seront utilisés.
user@ubuntu:~$ apt show btop 2>/dev/null | grep -E '^(Version|Depends|Installed-Size)'
apt ou apt-get ?

apt est la version moderne et conviviale (barre de progression, couleurs) : idéale au terminal. apt-get et apt-cache, plus anciens, ont une sortie stable : on les préfère dans les scripts. Les deux utilisent les mêmes dépôts et la même base.

Sous le capot : dpkg

apt télécharge et résout les dépendances ; c'est dpkg qui installe réellement les fichiers .deb. Il reste très utile pour interroger le système :

user@ubuntu:~$ dpkg -l | grep openssh              # le paquet est-il installé ?
ii  openssh-client  1:9.6p1-3ubuntu13  amd64  secure shell (SSH) client
user@ubuntu:~$ dpkg -L btop | head -3              # quels fichiers a-t-il installés ?
user@ubuntu:~$ dpkg -S /usr/bin/ls                    # à quel paquet appartient ce fichier ?
coreutils: /usr/bin/ls
user@ubuntu:~$ sudo apt install ./logiciel.deb       # installer un .deb téléchargé (avec ses dépendances)

Dans dpkg -l, les deux lettres ii signifient « souhaité : installé, état : installé ». rc désigne un paquet supprimé dont il reste la configuration (à nettoyer avec purge).

PPA et dépôts tiers

Certains logiciels ne sont pas dans les dépôts officiels, ou dans une version trop ancienne. Deux solutions :

🧑‍🔧

Un PPA

Personal Package Archive : un dépôt hébergé sur Launchpad par un développeur ou une équipe.

sudo add-apt-repository ppa:auteur/nom
🏢

Le dépôt de l'éditeur

Docker, Google Chrome, VS Code… publient leur propre dépôt, avec leur clé de signature.

/etc/apt/sources.list.d/
Un dépôt tiers = une confiance totale

Les paquets s'installent avec les droits de root : ajouter un dépôt, c'est autoriser son auteur à exécuter n'importe quoi sur ta machine, à chaque mise à jour. N'ajoute que des dépôts d'éditeurs reconnus, et retire ceux qui ne servent plus : sudo add-apt-repository --remove ppa:auteur/nom.

deb, snap ou flatpak ?

▶ Vidéo · 1 min 30deb, snap ou flatpak ?trois façons d'installer, trois philosophies
Animation réalisée pour ce cours. Voix off et musique générées par IA (Google Gemini et Lyria).
deb (apt)snapflatpak
Porté parDebian / UbuntuCanonicalLa communauté (Flathub)
DépendancesPartagées avec le systèmeEmbarquéesEmbarquées (environnements partagés)
IsolationNonOui (confinement)Oui (bac à sable)
Mises à jourAvec apt upgradeAutomatiquesflatpak update
VersionsFigées pendant la vie de la distributionRécentesRécentes
Place, démarrageLéger, rapidePlus lourd, 1er démarrage plus lentPlus lourd
Idéal pourOutils système, ligne de commande, serveursApplications de bureau, outils de développementApplications de bureau, toutes distributions
user@ubuntu:~$ snap list                              # les snaps installés (firefox en fait partie)
user@ubuntu:~$ snap find "video editor"
user@ubuntu:~$ sudo snap install vlc
user@ubuntu:~$ sudo snap refresh                      # forcer la mise à jour maintenant

user@ubuntu:~$ sudo apt install flatpak               # flatpak n'est pas installé par défaut sur Ubuntu
user@ubuntu:~$ flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
user@ubuntu:~$ flatpak install flathub org.gimp.GIMP

La logithèque graphique d'Ubuntu (App Center) propose à la fois des snaps et des paquets deb : regarde la source indiquée sur la fiche de chaque logiciel.

Dernier recours : compiler depuis les sources

Quand un logiciel n'existe dans aucun format, on peut le construire à partir de son code source. La recette classique :

user@ubuntu:~$ sudo apt install build-essential        # compilateur gcc, make…
user@ubuntu:~$ tar xf logiciel-1.2.tar.gz && cd logiciel-1.2
user@ubuntu:~/logiciel-1.2$ ./configure                   # vérifie l'environnement, prépare la compilation
user@ubuntu:~/logiciel-1.2$ make                          # compile
user@ubuntu:~/logiciel-1.2$ sudo make install              # installe, en général dans /usr/local
Ce que tu perds

Un logiciel compilé à la main échappe au gestionnaire de paquets : pas de mises à jour automatiques (donc pas de correctifs de sécurité), et une désinstallation parfois difficile. Lis toujours le fichier README ou INSTALL du projet, et garde ce choix pour les vrais cas particuliers.

Les mises à jour automatiques

Ubuntu installe les correctifs de sécurité tout seul, chaque jour, grâce au service unattended-upgrades. Pour vérifier ce qui a été fait :

user@ubuntu:~$ systemctl status unattended-upgrades | head -3
● unattended-upgrades.service - Unattended Upgrades Shutdown
     Loaded: loaded (/usr/lib/systemd/system/unattended-upgrades.service; enabled; preset: enabled)
user@ubuntu:~$ less /var/log/apt/history.log            # l'historique de toutes les installations
user@ubuntu:~$ ls /var/run/reboot-required 2>/dev/null && echo "Redémarrage nécessaire"

Une mise à jour du noyau ne prend effet qu'au redémarrage : le fichier /var/run/reboot-required apparaît alors.

Glossaire du module

Paquet (.deb)
Archive d'un logiciel prête à installer, avec ses dépendances déclarées.
Dépôt
Serveur de paquets signés.
apt
Gestionnaire de paquets de Debian et Ubuntu.
dpkg
L'outil bas niveau qui installe les fichiers .deb.
PPA
Dépôt personnel hébergé sur Launchpad.
snap
Format de Canonical : autonome, isolé, mis à jour automatiquement.
flatpak
Format communautaire équivalent, multi-distributions, catalogue Flathub.
Compilation
Transformer un code source en programme exécutable.
unattended-upgrades
Service qui installe automatiquement les correctifs de sécurité.

🧠 Quiz : as-tu tout retenu ?

1. Que fait sudo apt update ?
C'est apt upgrade qui installe les nouvelles versions.
2. Différence entre remove et purge ?
Les fichiers de ton dossier personnel ne sont jamais touchés par apt.
3. Comment savoir à quel paquet appartient /usr/bin/ls ?
dpkg -S cherche le paquet propriétaire d'un fichier (ici coreutils).
4. Quel format se met à jour automatiquement en arrière-plan ?
snapd vérifie et applique les mises à jour plusieurs fois par jour.
5. Pourquoi être prudent avec les PPA ?
Ajouter un dépôt, c'est autoriser son auteur à modifier ton système à chaque mise à jour.
6. Comment installer proprement un fichier logiciel.deb téléchargé ?
Le ./ indique un fichier local ; apt installe aussi ses dépendances.
7. Que fait sudo apt autoremove ?
Le cache se vide avec sudo apt clean.
8. Inconvénient principal d'un logiciel compilé depuis les sources ?
C'est à toi de surveiller et d'appliquer les correctifs.
Réponds aux questions pour voir ton score.

🚀 Mission pratique

À faire dans la machine virtuelle

Coche chaque étape une fois faite : sa correction s'affiche juste en dessous.

  • ✅ Correction
    $ cat /etc/apt/sources.list.d/ubuntu.sources
    Components: main restricted universe multiverse

    Sur une installation mise à jour depuis une ancienne version, la liste peut aussi se trouver dans /etc/apt/sources.list.

  • ✅ Correction
    $ sudo apt update
    ...
    12 paquets peuvent être mis à jour. Exécutez « apt list --upgradable » pour les voir.
    $ apt list --upgradable
  • ✅ Correction
    $ apt search monitor | grep -i btop
    $ apt show btop
    $ sudo apt install btop
    $ btop          # q pour quitter
  • ✅ Correction
    $ dpkg -L btop | grep bin
    /usr/bin/btop
    $ dpkg -S /usr/bin/ls
    coreutils: /usr/bin/ls
  • ✅ Correction
    $ sudo apt remove btop
    $ dpkg -l btop | tail -1
    rc  btop  1.3.0-1  amd64  Modern and colorful command line resource monitor...
    $ sudo apt purge btop
    $ dpkg -l btop
    dpkg-query: aucun paquet ne correspond à btop

    Si btop n'avait pas de fichier de configuration système, il peut disparaître dès le remove : c'est normal.

  • ✅ Correction
    $ snap list
    Nom                        Version   Révision  Suivi             Éditeur      Notes
    bare                       1.0       5         latest/stable     canonical✓   base
    core22                     2024…     …         latest/stable     canonical✓   base
    firefox                    13x.0     …         latest/stable/…   mozilla✓     -
    gnome-42-2204              0+git…    …         latest/stable     canonical✓   -
    snapd                      2.6x      …         latest/stable     canonical✓   snapd
    ...

    Firefox, le magasin d'applications et les environnements d'exécution (core22, gnome-42-2204…) sont installés par Ubuntu.

  • ✅ Correction
    $ sudo snap install vlc
    $ which vlc
    /snap/bin/vlc
    $ sudo snap remove vlc

    Les commandes des snaps sont dans /snap/bin, un dossier présent dans le PATH (module 09).

  • ✅ Correction
    $ sudo apt install flatpak
    $ flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
    $ flatpak search gimp
    GNU Image Manipulation Program   …   org.gimp.GIMP   …   flathub

    Pour que les applications flatpak apparaissent dans le menu, une déconnexion/reconnexion peut être nécessaire.

  • ✅ Correction
    $ grep -E '^(Start-Date|Commandline)' /var/log/apt/history.log | tail -4
    Start-Date: 2026-10-26  10:12:04
    Commandline: apt install btop
    $ ls /var/run/reboot-required 2>/dev/null && echo "Redémarrage nécessaire" || echo "Pas besoin de redémarrer"
  • ✅ Correction
    $ df -h / | tail -1
    $ sudo apt autoremove
    $ du -sh /var/cache/apt/archives
    $ sudo apt clean
    $ df -h / | tail -1

    clean vide le cache des paquets téléchargés : ils seraient de toute façon re-téléchargés si besoin.

💬 Questions fréquentes

Les questions qui reviennent le plus souvent sur ce module, avec leurs réponses.

« Impossible d'obtenir le verrou /var/lib/dpkg/lock-frontend »

Un autre programme utilise déjà le gestionnaire de paquets : souvent les mises à jour automatiques, juste après le démarrage, ou une autre fenêtre de terminal. Attends quelques minutes et réessaie. Ne supprime jamais le fichier de verrou à la main : tu risquerais de corrompre la base des paquets.

« Paquets cassés » ou « dépendances non satisfaites »

Souvent après une installation interrompue. Essaie dans l'ordre : sudo apt --fix-broken install, puis sudo dpkg --configure -a, puis sudo apt update && sudo apt upgrade. Si un PPA est en cause, retire-le.

Pourquoi Firefox est-il un snap sur Ubuntu ?

Depuis Ubuntu 22.04, Mozilla et Canonical distribuent Firefox en snap : les mises à jour arrivent directement de Mozilla, le jour de leur sortie, et le navigateur est isolé du système. Le prix à payer est un premier démarrage un peu plus lent.