Fiche APT

1. Introduction

Sous Debian 13 Trixie et Ubuntu, APT (Advanced Package Tool) permet de gérer l’installation, la mise à jour et la suppression des logiciels. Cet outil constitue le cœur de l’administration système sur les distributions basées sur Debian.

Dans un contexte BTS CIEL ou SIO, tu vas utiliser APT pratiquement tous les jours :

  • pour installer des services réseau ;
  • pour maintenir des serveurs ;
  • pour appliquer des correctifs de sécurité ;
  • pour automatiser des déploiements ;
  • pour ajouter des dépôts logiciels.

Cette fiche t’explique :

  • le fonctionnement d’APT ;
  • la gestion des dépôts ;
  • les clés GPG ;
  • les bonnes pratiques de sécurité ;
  • les méthodes de dépannage ;
  • les erreurs fréquentes rencontrées en administration Linux.

2. Sommaire

  1. Introduction
  2. Sommaire
  3. Comprendre le fonctionnement d’APT
  4. Installer APT et préparer le système
  5. Architecture des dépôts Debian et Ubuntu
  6. Gestion des paquets
  7. Gestion des dépôts logiciels
  8. Gestion des clés GPG
  9. Mise à jour et maintenance du système
  10. Fichiers importants
  11. Bloc de configuration complet Debian 13
  12. Exemples concrets
  13. Commandes utiles et dépannage
  14. Logs et analyse des erreurs
  15. Sécurité et bonnes pratiques
  16. Erreurs fréquentes
  17. Pour aller plus loin
  18. Liens utiles et ressources pédagogiques
  19. Propositions de TP

3. Comprendre le fonctionnement d’APT

APT signifie :

Advanced Package Tool

APT agit comme une couche de gestion des paquets .deb.

Le système repose sur :

  • les dépôts logiciels ;
  • les index de paquets ;
  • les dépendances ;
  • les signatures GPG ;
  • l’outil dpkg.

3.1 Différence entre apt et dpkg

OutilFonction
dpkgInstalle un paquet .deb local
aptGère les dépôts et les dépendances
apt-cacheRecherche des informations
apt-markGère les paquets automatiques
aptitudeInterface avancée optionnelle

3.2 Fonctionnement global

Dépôts → Téléchargement index → Résolution dépendances → Téléchargement paquets → Installation

3.3 Cycle classique d’administration

sudo apt update
sudo apt upgrade
sudo apt autoremove

Explications

CommandeFonction
apt updateSynchronise les index
apt upgradeMet à jour les paquets
apt autoremoveSupprime les dépendances inutiles

4. Installer APT et préparer le système

APT est installé par défaut sous Debian et Ubuntu.

4.1 Vérifier qu’APT fonctionne

apt --version

4.2 Vérifier la connectivité réseau

ping deb.debian.org

4.3 Vérifier la résolution DNS

resolvectl status

Sous certains serveurs minimalistes :

cat /etc/resolv.conf

5. Architecture des dépôts Debian et Ubuntu

5.1 Dépôts Debian 13

Debian 13 utilise :

  • main
  • contrib
  • non-free-firmware
  • non-free

Exemple officiel Debian 13

Fichier :

/etc/apt/sources.list

Configuration :

deb https://deb.debian.org/debian trixie main contrib non-free-firmware non-free
deb https://security.debian.org/debian-security trixie-security main contrib non-free-firmware non-free
deb https://deb.debian.org/debian trixie-updates main contrib non-free-firmware non-free

Explications

ÉlémentRôle
debDépôt binaire
https://Dépôt sécurisé
trixieVersion Debian 13
mainLogiciels libres
contribDépendances non libres
non-freeLogiciels propriétaires
non-free-firmwareFirmwares propriétaires

5.2 Dépôts Ubuntu

DépôtDescription
mainSupport Canonical
universeLogiciels communautaires
restrictedPilotes propriétaires
multiverseLogiciels non libres

5.3 Arborescence des dépôts

/etc/apt/
├── apt.conf.d/
├── keyrings/
├── preferences.d/
├── sources.list
└── sources.list.d/

6. Gestion des paquets

6.1 Mettre à jour les index

sudo apt update

Cette commande :

  • télécharge les listes de paquets ;
  • vérifie les signatures GPG ;
  • synchronise les dépôts.

6.2 Mettre à jour les paquets

sudo apt upgrade

Mise à jour complète

sudo apt full-upgrade

Différences

CommandeFonction
upgradeNe supprime pas de paquets
full-upgradePeut supprimer/remplacer

6.3 Installer un paquet

sudo apt install nginx

Installer plusieurs paquets

sudo apt install nginx mariadb-server php-fpm

6.4 Supprimer un paquet

sudo apt remove nginx

Les fichiers de configuration restent présents.

6.5 Supprimer totalement

sudo apt purge nginx

APT supprime :

  • les paquets ;
  • les configurations associées.

6.6 Nettoyer les dépendances

sudo apt autoremove

6.7 Nettoyer le cache

sudo apt clean

Répertoire concerné

/var/cache/apt/archives/

6.8 Rechercher un paquet

apt search wireshark

6.9 Afficher les informations d’un paquet

apt show nginx

6.10 Afficher la politique des versions

apt policy nginx

Très utile pour :

  • comprendre les priorités ;
  • vérifier le dépôt utilisé ;
  • analyser un problème de version.

7. Gestion des dépôts logiciels

7.1 Ajouter un dépôt moderne

Sous Debian 13, il faut utiliser :

  • /etc/apt/sources.list.d/
  • /etc/apt/keyrings/
  • signed-by=

Exemple Docker Debian 13

Création du dépôt :

sudo nano /etc/apt/sources.list.d/docker.list

Contenu :

deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian trixie stable

7.2 Pourquoi éviter le fichier principal

Évite de modifier directement :

/etc/apt/sources.list

Utiliser un fichier dédié :

  • simplifie la maintenance ;
  • facilite les audits ;
  • réduit les erreurs.

8. Gestion des clés GPG

8.1 Répertoire recommandé

/etc/apt/keyrings/

8.2 Ajouter une clé GPG

curl -fsSL https://download.docker.com/linux/debian/gpg | \
sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

8.3 Modifier les permissions

sudo chmod a+r /etc/apt/keyrings/docker.gpg

8.4 Pourquoi apt-key est déprécié

apt-key :

  • donne une confiance globale ;
  • augmente les risques ;
  • ne limite pas les clés aux dépôts concernés.

Debian 13 recommande fortement :

  • signed-by=
  • des clés séparées ;
  • /etc/apt/keyrings/

9. Mise à jour et maintenance du système

9.1 Installer les mises à jour automatiques

sudo apt install unattended-upgrades

9.2 Fichier de configuration

/etc/apt/apt.conf.d/50unattended-upgrades

9.3 Activer les mises à jour automatiques

sudo dpkg-reconfigure unattended-upgrades

9.4 Vérifier les services systemd

systemctl status unattended-upgrades

10. Fichiers importants

/etc/apt/sources.list
/etc/apt/sources.list.d/
/etc/apt/keyrings/
/etc/apt/preferences
/etc/apt/preferences.d/
/etc/apt/apt.conf.d/
/var/lib/apt/lists/
/var/cache/apt/archives/
/var/log/apt/
/var/log/dpkg.log

11. Bloc de configuration complet Debian 13

Installation Docker sécurisée Debian 13

# Création du répertoire des clés
sudo mkdir -p /etc/apt/keyrings

# Téléchargement clé GPG Docker
curl -fsSL https://download.docker.com/linux/debian/gpg | \
sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

# Permissions lecture
sudo chmod a+r /etc/apt/keyrings/docker.gpg

# Création dépôt Docker
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] \
https://download.docker.com/linux/debian trixie stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# Mise à jour index APT
sudo apt update

# Installation Docker
sudo apt install docker-ce docker-ce-cli containerd.io

12. Exemples concrets

12.1 Installer Apache

sudo apt install apache2

Ports utilisés

ServicePort
HTTPTCP 80
HTTPSTCP 443

Configuration UFW

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

12.2 Installer MariaDB

sudo apt install mariadb-server

Port utilisé

ServicePort
MariaDBTCP 3306

Cas local uniquement

sudo ufw deny 3306/tcp

Cas accès distant

sudo ufw allow from 192.168.1.10 to any port 3306 proto tcp

12.3 Installer Wireshark

sudo apt install wireshark

Pendant l’installation :

  • Debian demande si les utilisateurs non root peuvent capturer du trafic ;
  • le système configure le groupe wireshark.

13. Commandes utiles et dépannage

13.1 Vérifier les dépôts actifs

grep -r "^deb" /etc/apt/

13.2 Corriger les dépendances cassées

sudo apt --fix-broken install

13.3 Corriger une installation interrompue

sudo dpkg --configure -a

13.4 Réinstaller un paquet

sudo apt install --reinstall openssh-server

13.5 Vérifier les clés GPG

gpg --show-keys /etc/apt/keyrings/docker.gpg

13.6 Supprimer un dépôt défectueux

sudo rm /etc/apt/sources.list.d/docker.list

Puis :

sudo apt update

14. Logs et analyse des erreurs

14.1 Logs importants

/var/log/apt/history.log
/var/log/apt/term.log
/var/log/dpkg.log

14.2 Lire les logs

sudo less /var/log/apt/history.log

14.3 Rechercher les erreurs

sudo grep -i error /var/log/apt/term.log

14.4 Vérifier les mises à jour automatiques

journalctl -u unattended-upgrades

14.5 Ce qu’on peut analyser

ÉlémentExemple
InstallationDate et version
Dépendances casséesPaquet manquant
Dépôt inaccessibleDNS ou réseau
Clé invalideSignature absente

15. Sécurité et bonnes pratiques

15.1 Utiliser uniquement des dépôts fiables

Évite :

  • les dépôts inconnus ;
  • les scripts copiés sans vérification ;
  • les dépôts non signés.

15.2 Préférer HTTPS

Exemple recommandé :

https://deb.debian.org/

15.3 Ne jamais désactiver les signatures

Évite :

Acquire::AllowInsecureRepositories

15.4 Nettoyer régulièrement

sudo apt autoremove
sudo apt clean

15.5 Éviter les distributions mixtes

Ne mélange pas :

  • stable ;
  • testing ;
  • unstable.

Le système deviendrait rapidement instable.

15.6 Sauvegarder les dépôts avant modification

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

16. Erreurs fréquentes

16.1 NO_PUBKEY

Cause :

  • clé GPG absente.

Solution :

  • ajouter la clé correcte.

16.2 Hash Sum mismatch

Cause :

  • cache APT corrompu.

Correction :

sudo rm -rf /var/lib/apt/lists/*
sudo apt update

16.3 Failed to fetch

Causes possibles :

  • DNS ;
  • IPv6 ;
  • proxy ;
  • dépôt hors ligne.

16.4 Dépendances cassées

sudo apt --fix-broken install

16.5 Lock frontend

Cause :

  • autre processus APT en cours.

Diagnostic :

ps aux | grep apt

17. Pour aller plus loin

Tu peux approfondir :

  • le pinning APT ;
  • les miroirs locaux ;
  • les dépôts privés ;
  • la création de paquets .deb ;
  • les snapshots Debian ;
  • les backports ;
  • les dépôts internes d’entreprise.

18. Liens utiles et ressources pédagogiques

Documentation officielle Debian APT

https://wiki.debian.org/Apt

Pourquoi :

  • documentation officielle Debian ;
  • bonnes pratiques ;
  • architecture des dépôts.

Manuel officiel sources.list

https://manpages.debian.org/trixie/apt/sources.list.5.en.html

Pourquoi :

  • syntaxe complète ;
  • options avancées ;
  • signed-by.

Debian 13 Trixie

https://www.debian.org/releases/trixie

Pourquoi :

  • documentation officielle Debian 13 ;
  • nouveautés ;
  • procédures d’installation.

Documentation Ubuntu APT

https://help.ubuntu.com/community/AptGet/Howto

Pourquoi :

  • nombreux exemples pratiques ;
  • administration Ubuntu.

OpenClassrooms Linux

https://openclassrooms.com/fr/courses/43538-reprenez-le-controle-a-laide-de-linux

Pourquoi :

  • excellent support débutant ;
  • commandes Linux essentielles.

OpenClassrooms Administration Linux

https://openclassrooms.com/fr/courses/7262431-administrez-un-systeme-linux

Pourquoi :

  • administration serveur moderne ;
  • maintenance Linux professionnelle.

RFC HTTPS

https://datatracker.ietf.org/doc/html/rfc2818

Pourquoi :

  • compréhension des connexions HTTPS sécurisées.

19. Propositions de TP

TP 1 — Installation d’un serveur web

Objectifs :

  • installer Apache ;
  • ouvrir les ports ;
  • analyser les logs.

Travail demandé :

  • installer apache2 ;
  • vérifier le service ;
  • consulter les journaux ;
  • tester UFW.

TP 2 — Ajouter un dépôt tiers sécurisé

Objectifs :

  • ajouter Docker ;
  • gérer une clé GPG ;
  • comprendre signed-by=.

Travail demandé :

  • créer un fichier .list ;
  • ajouter une clé ;
  • installer Docker.

TP 3 — Dépannage APT

Objectifs :

  • corriger des dépendances ;
  • analyser les erreurs ;
  • comprendre les logs.

Travail demandé :

  • casser volontairement un dépôt ;
  • provoquer une erreur GPG ;
  • corriger le problème.

TP 4 — Mises à jour automatiques

Objectifs :

  • sécuriser un serveur ;
  • automatiser les correctifs.

Travail demandé :

  • installer unattended-upgrades ;
  • activer les mises à jour automatiques ;
  • analyser les journaux systemd.

TP 5 — Gestion avancée des paquets

Objectifs :

  • comprendre les dépendances ;
  • manipuler les versions.

Travail demandé :

  • installer plusieurs versions ;
  • utiliser apt policy ;
  • tester apt-mark.

Retour en haut