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 -s pour tester avant installation
  • Privilégier apt plutôt que dpkg pour la gestion des dépendances

Liens utiles