Astuce : dpkg et les sélections de paquets

Sous Debian/Ubuntu et dérivés, l'outil dpkg permet de travailler avec des sélections de paquets. Voici un court tutoriel pour en tirer partie.

Exemple 1 : gagner du temps quand on réinstalle son système

On aura sûrement installé sur son système bon nombre de paquets en plus de l'installation de base, et supprimé certains. Au lieu de passer des heures à retrouver sa configuration, on pourra récupérer la liste des paquets sur l'ancien système, et les réinstaller automatiquement sur le nouveau système.

Pour cela, utilisons dpkg --get-selections sur l'ancien système pour récupérer la liste des paquets installés :

$ dpkg --get-selections > liste_paquets.txt

Le fichier contient une liste de nom de paquets, suivis du mot "install".

Sur le nouveau système, utilisons dpkg --clear-selections pour marquer tous les paquets pour la désinstallation, puis dpkg --set-selections pour sélectionner les paquets de la liste comme étant à installer :

# dpkg --clear-selections && dpkg --set-selections < liste_paquets.txt

Si rien ne se passe, c'est normal. dpkg se contente de "marquer" les paquets et ne lance aucune action. Ici, tous les paquets qui sont installés sur le nouveau système mais pas dans la liste seront marqués pour la désinstallation, et tous les paquets pas encore installés seront marqués pour l'installation. Si vous ne faites pas le --clear-selections, aucun paquet ne sera désinstallé.

Il faudra utiliser un autre programme, comme apt-get, pour effectuer les actions sur les paquets marqués. C'est la commande suivante qui permet cela :

# apt-get dselect-upgrade

Et voilà, votre nouveau système se retrouve avec exactement les mêmes paquets que l'ancien.

Exemple 2 : revenir en arrière après un changement intrusif

On utilise Ubuntu avec Gnome et on souhaite tester Kubuntu, qui utilise KDE, mais on voudrait pouvoir "revenir en arrière" s'il ne nous plaît pas. Le paquet kubuntu-desktop étant un paquet virtuel, il ne permet pas de faire ça de façon propre.

Nous allons donc d'abord sauver la liste des paquets avant l'installation du nouvel environnement :

$ dpkg --get-selections > avant.txt

On installe ensuite le nouvel environnement :

# apt-get install kubuntu-desktop

On teste Kubuntu mais dommage, ça ne nous plaît pas, on veut le supprimer complètement de la machine avec tous ses paquets.

# dpkg --clear-selections && dpkg --set-selections < avant.txt && apt-get dselect-upgrade

Comme on l'a vu dans l'exemple précédent, ces commandes vont marquer pour la désinstallation tous les paquets qui ne sont pas dans la liste, en l'occurence ceux installés par kubuntu-desktop. Résultat, votre système est maintenant revenu à son état d'avant l'installation de kubuntu-desktop !

Vus : 1771
Publié par Linalis : 17