Debian - Aptitude

Un article de Wiki.OmBreNoiRe.net.

Vous être en train de lire Comment installer un serveur sécurisé sur Debian.

Sommaire Install Aptitude Locales SSHd Shorewall 6wall DHCP3-server Bind9 VsFTPd Apache/MySQL Mail BackupManager

Sommaire


À noter !
aptitude remplace désormais définitivement apt considéré comme désuet (deprecated) car gérant moins bien les dépendances qu'aptitude

Introduction

Ce qui différencie le plus une distribution d'une autre, c'est le mode d'installation des paquets (programmes). Sous Debian, rien de plus simple grâce à aptitude.

Cet utilitaire, gère les dépendances, c'est à dire qu'il installe les programmes dont il a besoin pour fonctionner de façon automatique. En plus du mode en ligne de commande, il existe un mode avec interface graphique ne nécessitant pas X et parfaitement utilisable par SSH.

Vous devez connaitre cet utilitaire, c'est pourquoi, je vais un peu détailler son utilisation (vraiment un peu).

Attention !
L'utilisation d'aptitude est réservée au root, en conséquence, agissez calmement :)

Fichier de configuration : /etc/apt/sources.list

Pour aptitude, il suffit de renseigner uniquement un fichier /etc/sources.list qui contient la liste des mirroirs Debian. C'est à dire les serveurs sur lesquels se trouvent les paquets (programmes).

Fichier : /etc/apt/sources.list
# Archive officielle
deb http://ftp2.fr.debian.org/debian/ etch main contrib non-free
#deb-src http://ftp2.fr.debian.org/debian/ etch main contrib non-free

# Mise a jour de securite
deb http://security.debian.org/ etch/updates main contrib
#deb-src http://security.debian.org/ etch/updates main contrib

Le premier mot de chaque ligne, deb ou deb-src, indique le type de l'archive : deb pour les paquets binaires, ce sont les paquets pré-compilés que l'on utilise habituellement, ou deb-src pour les paquets sources, qui sont les sources originales du programme.

http://ftp2.fr.debian.org/debian/ pointe vers un mirroir officiel. http://security.debian.org/ pointe vers le serveur des mises à jour de sécurité.

Les lignes débutant par # sont des commentaires et donc seront ignorées par aptitude. Les deb-src seront donc ignorées sur une installation par défaut car ils n'ont d'utilité que si vous souhaitez compilé à partir des sources (si besoin très spécifique).

Commandes de base en ligne de commande

  • Pour récupérer le catalogue (ne charge pas les paquets, juste les entêtes afin de savoir quels programmes sont disponibles et avec quelles versions) :
root@monordi:~# aptitude update
  • Pour mettre à jour les paquets installés (télécharge les nouvelles versions, et les installe) :
root@monordi:~# aptitude dist-upgrade
À noter !
Il existe la commande aptitude update, je ne vous la recommande pas : dist-upgrade réalise un update + une recherche et correction des dépendances, ce qui est donc mieux et évite les incohérences.
  • Pour installer un paquet donc on connait le nom :
root@monordi:~# aptitude install lenomdupaquet
  • Pour supprimer un paquet donc on connait le nom :
root@monordi:~# aptitude remove lenomdupaquet
  • Pour purger (suppression + efface fichiers configurations) un paquet donc on connait le nom :
root@monordi:~# aptitude purge lenomdupaquet

Interface graphique d'aptitude

Lancer l'interface

root@monordi:~# aptitude

Manipulation de l'interface :

Interface d'aptitude (depuis une session SSH)
Interface d'aptitude (depuis une session SSH)

Commande clavier

  • Pour faire un aptitude update :
  • Pour faire un aptitude upgrade :
  • Pour installer un paquet :
  • Pour supprimer un paquet sans supprimer les fichiers de configuration :
  • Pour purger un paquet (supprimer le paquet ET les fichiers de configuration) :
  • Pour valider la sélection (installer / supprimer / purger) : (2 fois : 1- pour valider 2-pour installer)
  • Pour rechercher un paquet : (et pour les autres occurrences)
  • Pour rechercher un paquet dans le sens inverse : (et pour les autres occurrences)

Signification de la lettre en début de ligne

Lettre Signification
i le paquet est installé et toutes ses dépendances sont satisfaites
c le paquet a été supprimé mais ses fichiers de configuration sont toujours présents sur le système
p le paquet et tous ses fichiers de configuration ont été supprimés, ou le paquet n'a jamais été installé
v le paquet est virtuel
B le paquet a des dépendances cassées
A le paquet a été automatiquement installé

Notions avancées

Installer une version antérieure d'un paquet

Oh combien pratique en cas de paquet bugué !

root@monordi:~# aptitude install lenomdupaquet=versionprécise

Par exemple :

root@monordi:~# aptitude install vlc-nox=0.8.6-svn20061012.debian-5etch1

Pour empêcher la mise à jour d'un paquet

Permet de garder une version d'un paquet à la version voulue

root@monordi:~# echo lenomdupaquet hold | dpkg --set-selections

La même chose si l'on ne connait pas exactement le nom du paquet

root@monordi:~# dpkg --get-selections >list_paquet

Editer alors le fichier avec emacs par exemple, et remplacer install par hold, exemple :

Fichier : list_paquet original
[...]
vim-common                                      install
vim-runtime                                     install
vim-tiny                                        install
vsftpd                                          install
w3m                                             install
[...]
Fichier : list_paquet modifié
[...}
vim-common                                      install
vim-runtime                                     install
vim-tiny                                        install
vsftpd                                          hold
w3m                                             install
[...]

On vient donc de mettre hold à vsftpd, il faut ensuite taper :

root@monordi:~# dpkg --set-selections < list_paquet

root@monordi:~# apt-get -u dselect-upgrade

Pour faire l'inverse

Il faut faire la même procédure, en remettant install à la place de hold.

Avec l'interface graphique

  • Pour garder un paquet à une certaine version (empêcher les mises à jour) : touche =
  • Le processus inverse : touche :
À noter !
Dans ce cas, en début de ligne apparait un h (pour hold). Par ailleurs, je conseille plutôt la méthode en ligne de commande qui permet de garder en dur l'information.

Sauvegarde / Restauration liste paquet

On vient un peu de le voir de façon indirecte.

Pour sauvegarder

root@monordi:~# dpkg --get-selections > sauvegarde_paquets

Pour restaurer

root@monordi:~# dpkg --set-selections < sauvegarde_paquets

root@monordi:~# apt-get -u dselect-upgrade

Miroirs et clé GPG

Afin de s'assurer que les paquets proviennent bien de Debian (ou d'un autre auteur pour des dêpots non officiels), on utilise désormais la reconnaissance par la clé de cryptage GPG. Il n'est pas nécessaire de se créer sa propre clé, il faut juste enregistré la clé du dépôt.

Normalement vous allez vite ressentir le besoin d'ajouter cette clé à cause d'une erreur :

root@monordi:~# aptitude update W: GPG error: ftp://ftp.fr.debian.org Etch Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 0123456789ABCDEF

Le problème se corrige très facilement, il suffit de recopier la PUBKEY dans les commandes suivantes :

root@monordi:~# gpg --keyserver pgpkeys.mit.edu --recv-key 0123456789ABCDEF

root@monordi:~# gpg -a --export 0123456789ABCDEF | sudo apt-key add -

root@monordi:~# aptitude update

Conclusion : avant de passer à l'étape suivante

Maintenant que vous maîtrisez aptitude, je vous laisse mettre à jour le catalogue et installer la nouvelle version de tous les paquets.

Une fois ceci terminer, vous pouvez passer à l'étape 3 - les locales.

Affichages
Boîte à outils