Installation de programmes sous Debian
De Travail-Ivan 2
Installation de programmes sous Debian
Modes d'installation
Sous Linux, il existe plusieurs façons d'installer des programmes :
- Via le gestionnaire de paquets de la distribution (méthode recommandée)
- À la main via une compilation (pour les programmes non packagés)
- Avec snap (pour les applications universelles)
- Avec un binaire déjà compilé (installations spécifiques)
- Avec Docker (hors sujet)
Notion de paquet
Définition
- Les applications Linux sont livrées sous forme de paquets à installer
- Ces paquets sont gérés par le système de paquetage de la distribution (package management)
- Un paquet contient :
- Le produit à installer
- Les règles d'installation
- Les dépendances du paquet
Systèmes principaux de paquets
- RPM (RedHat Package Manager)
- Extension : .rpm
- DPKG (Debian Package)
- Extension : .deb
Gestion des dépôts
- Les paquets sont disponibles sur des dépôts (repository) ou via CD/DVD
- Les dépôts peuvent être mirorés sur le réseau local
- Un dépôt gère plusieurs versions d'une distribution
- Recommandation : Privilégier l'installation via le système de packaging de la distribution
Configuration des dépôts
Le fichier sources.list
Le fichier /etc/apt/sources.list est le fichier principal de configuration des sources de paquets. Il indique au système où trouver les paquets à installer.
Pour les dépôts secondaires, créer des fichiers .list dans /etc/apt/sources.list.d/. Par exemple :
- /etc/apt/sources.list.d/php.list pour des dépôts PHP additionnels
Exemple de sources.list
deb http://ftp.fr.debian.org/debian/ buster main contrib non-free deb-src http://ftp.fr.debian.org/debian/ buster main deb http://security.debian.org/debian-security buster/updates main deb-src http://security.debian.org/debian-security buster/updates main deb http://ftp.fr.debian.org/debian/ buster-updates main deb-src http://ftp.fr.debian.org/debian/ buster-updates main
Structure d'une ligne de dépôt
Chaque ligne du fichier sources.list suit la syntaxe suivante :
- Type :
- deb : pour les paquets binaires
- deb-src : pour les paquets sources
- URI : adresse du dépôt (http://, ftp://, file://...)
- Version : nom de code de la distribution (ex: buster)
- Catégories :
- main : logiciels libres supportés par Debian
- contrib : logiciels libres avec dépendances non-libres
- non-free : logiciels non-libres
Gestion des paquets avec APT
Commandes de base
| Commande | Description | Exemple d'utilisation |
|---|---|---|
apt update |
Met à jour la liste des paquets disponibles dans les dépôts. À exécuter régulièrement et avant toute installation. | sudo apt update
|
apt search <terme> |
Recherche tous les paquets contenant le terme spécifié dans leur nom ou description | apt search nginx
|
apt show <paquet> |
Affiche les informations détaillées d'un paquet (version, dépendances, description...) | apt show mysql-server
|
apt install <paquet> |
Installe un paquet et toutes ses dépendances | sudo apt install htop
|
apt install -s <paquet> |
Simule l'installation sans rien modifier (utile pour tester) | apt install -s firefox
|
apt remove <paquet> |
Désinstalle un paquet | sudo apt remove vim
|
apt purge <paquet> |
Désinstalle un paquet et ses fichiers de configuration | sudo apt purge apache2
|
Commandes de mise à jour
| Commande | Description | Exemple d'utilisation |
|---|---|---|
apt upgrade |
Met à jour tous les paquets installés vers leur dernière version disponible | sudo apt upgrade
|
apt dist-upgrade |
Met à jour la distribution complète, peut ajouter ou supprimer des paquets si nécessaire | sudo apt dist-upgrade
|
apt full-upgrade |
Similaire à dist-upgrade, privilégié dans les versions récentes | sudo apt full-upgrade
|
DPKG : Gestionnaire de paquets bas niveau
| Commande | Description | Exemple d'utilisation |
|---|---|---|
dpkg -l |
Liste tous les paquets installés sur le système | grep php |
dpkg -i <fichier.deb> |
Installe un paquet local .deb (Attention : ne gère pas les dépendances) | sudo dpkg -i telegram.deb
|
dpkg -S <fichier> |
Trouve le paquet qui a installé un fichier spécifique | dpkg -S /usr/bin/python3
|
dpkg -L <paquet> |
Liste tous les fichiers installés par un paquet | dpkg -L bash
|
dpkg -r <paquet> |
Supprime un paquet (conserve les fichiers de configuration) | sudo dpkg -r chromium
|
Outils de configuration
dpkg-reconfigure
Permet de reconfigurer un paquet déjà installé :
sudo dpkg-reconfigure <paquet>
Exemple : Reconfigurer le fuseau horaire
sudo dpkg-reconfigure tzdata
update-alternatives
Gère les liens symboliques déterminant les commandes par défaut du système.
Syntaxe :
update-alternatives --config <nom-du-lien>
Exemple : Changer l'éditeur de texte par défaut
sudo update-alternatives --config editor
Interface graphique
Synaptic
- Interface graphique complète pour la gestion des paquets
- Fonctionnalités :
- Recherche de paquets
- Installation/désinstallation
- Mise à jour du système
- Gestion des dépôts
- Installation :
sudo apt install synaptic
Bonnes pratiques
- Mettre à jour régulièrement le cache des paquets (
apt update) - Vérifier les dépendances avant installation
- Sauvegarder le fichier sources.list avant modification
- Utiliser
apt install -spour tester avant installation - Privilégier apt plutôt que dpkg pour la gestion des dépendances