La gestion des paquets sous Debian

Un billet qui mérite bien sa place car il très important de savoir manipuler les paquets et dépôts de sa distribution (ici Debian mais c’est aussi ses dérivés tels que Mint, Ubuntu, Kubuntu …)

1. Rappel sur les dépôts et paquets

Un dépôt de paquets est un gros miroir de fichiers sur internet (ou en local dans votre infrastructure cf. article Miroir de paquets debian/ubuntu) qui contient des paquets qui vont vous permettre d’installer des applications sur votre système.

Un paquet debian est un fichier qui possède l’extension deb.  Lorsque vous utilisez un gestionnaire de paquets il télécharge simplement un fichier deb et l’installe.

Pour gérer les dépôts auxquels vous êtes reliés aller visiter votre fichier /etc/apt/sources.list. Il devrait ressembler à ceci (avec des dépots différents si vous en avez choisi d’autres à l’installation de votre système) :

#
# deb cdrom:[Debian GNU/Linux 5.0.1 _Lenny_ - Official i386 DVD Binary-1 20090413-00:33]/ lenny contrib main
 
#deb cdrom:[Debian GNU/Linux 5.0.1 _Lenny_ - Official i386 DVD Binary-1 20090413-00:33]/ lenny contrib main
 
deb http://mir1.ovh.net/debian/ lenny main
deb-src http://mir1.ovh.net/debian/ lenny main
 
deb http://security.debian.org/ lenny/updates main contrib
deb-src http://security.debian.org/ lenny/updates main contrib
 
deb http://volatile.debian.org/debian-volatile lenny/volatile main contrib
deb-src http://volatile.debian.org/debian-volatile lenny/volatile main contrib

2. Installer un paquet

Pour installer un paquet sur un système basé Debian il faut utiliser aptitude (basé sur apt-get). Nous n’utilisons plus apt-get depuis Debian Sarge car aptitude permet de ne pas « péter » son système à cause de dépendances. La syntaxe à utiliser pour installer est aptitude install <paquet>.

Exemple pour installer un serveur SSH (openssh-server)

aptitude install openssh-server

Votre paquet se télécharge et s’installe sur votre système. Si des dépendances sont nécessaires, elles seront automatiquement installées.

[nice_info]Si vous avez votre fichier deb, vous pouvez l’installer directement avec dpkg de la manière suivante[/nice_info]

dpkg -i mon_paquet.deb

3. Désinstaller un paquet

Pour désinstaller un paquet avec aptitude, la commande à utiliser est aptitude remove <paquet>

Exemple : Désinstallation de nano (éditeur de texte à mon goût bidon :p ) :

aptitude remove nano

Votre paquet est désinstallé.

[nice_info]Si vous avez installé via dpkg votre paquet, vous pouvez le désinstaller via la commande suivante[/nice_info]

dpkg -r mon_paquet.deb

4. Mettre à jour la liste des paquets disponible sur les miroirs

Il est important de mettre à jour la liste des paquets disponibles sur le miroir que vous utilisez afin d’obtenir toujours la liste actuelle à l’aide de la commande aptitude update :

aptitude update

5. Mettre à jour vos paquets installées

Lorsque vous souhaitez mettre à jour les paquets installés sur votre système, vous n’avez qu’une seule commande à entrer :

aptitude safe-upgrade

6. Vider le cache aptitude

Comme expliqué dans l’introduction du billet, lorsque vous installez un paquet il télécharge un (ou plusieurs fichiers deb) qui restent dans le cache d’aptitude. Il peut être bien de vider ce cache afin de récupérer un peu d’espace disque (/var/cache/apt/archives). Il y a une commande pour celà :

aptitude clean

7. Astuces

En tant qu’Administrateur Debian, je vous propose un petit coup de pouce. Si vous connaisez l’auto-completion linux sachez qu’elle est disponible pour la liste des paquets, pour ceci, lisez mon billet sur l’auto-complétion debian. Lorsque vous saisirez aptitude install apa et appuierez (une ou deux fois) sur « TAB » la liste sera affichée

exemple :

root@archimede:~# aptitude install apache
apache                  apache2-dev             apache2-mpm-perchild    apache2-src             apache-common
apache2                 apache2-doc             apache2-mpm-prefork     apache2-suexec          apache-perl
apache2.2-common        apache2-mpm             apache2-mpm-threadpool  apache2-suexec-custom   apache-ssl
apache2-common          apache2-mpm-event       apache2-mpm-worker      apache2-threaded-dev    apachetop
<!--more-->apache2-dbg             apache2-mpm-itk         apache2-prefork-dev     apache2-utils           apache-utils

8. RTFM

Ceci est une liste de commandes non-exhaustive pour gérer vos paquets Debian, n’hésitez pas à consulter le manuel d’aptitude et de dpkg. Il existe d’autres commandes comme permettre de télécharger seulement le fichier deb à partir d’aptitude …