Sauvegarde et restauration de la liste des paquets installés pour restauration, duplication ou migration

Cette méthode ne prend pas en compte les snap ou les flatpak.

Votre système est installé et vous avez ajouté au fil du temps des applications pour votre utilisation quotidienne. Ce tutoriel vous sera utile dans les cas suivants :

  • Vous souhaitez tout simplement sauvegarder la liste de vos applications au cas où vous devriez réinstaller entièrement votre système.
  • ou : la nouvelle version d'Ubuntu vient de sortir et vous aimeriez pouvoir l'installer sans passer par le gestionnaire de mises à jour, mais via une réinstallation du système puis des logiciels.
  • ou : vous souhaitez installer la même version d'Ubuntu sur un autre ordinateur et y placer également vos applications préférées.
  1. Niveau requis : être familiarisé avec le terminal,
  2. Avoir une connexion internet opérationnelle,
  3. Avoir configuré son fichier /etc/apt/sources.list (ou /etc/apt/sources.list.d ) pour les dépôts standards,
  4. Pour un changement de version ou un clonage sur un autre PC, si vous utilisiez des dépôts spécifiques, le fichier sources.list de la nouvelle version devra être adapté ainsi que les clés d'authentification correspondantes

Récupérez la liste des paquets installés sur le système :

dpkg --get-selections > liste-des-paquets

Cela crée un fichier "liste-des-paquets" dans le répertoire courant. Il contient la liste des paquets installés. Ce fichier est au format texte vous pouvez donc le consulter pour information

Si votre but est une sauvegarde pour une réinstallation

Sauvegardez ce fichier (ainsi que le sources.list) sur un support externe (usb, web, etc.)

Si votre but est un changement de version ou un clonage sur un autre PC

Éditez ce fichier et faites supprimer les paquets qui ne vous intéressent plus.

Ne conservez que vos paquets. Ceux que vous avez rajoutés et qui ne font pas partie de l'installation standard d'Ubuntu (les paquets systèmes, les paquets libxxxx, les paquets gnome-xxxxx, Firefox, et caetera). La liste des paquets de l'installation standard est disponible dans les fichiers «.manifest»1) fournis sur les dépôts des images iso. Ils contiennent une liste de lignes "nom du paquet - version du paquet".

Voici un extrait en exemple d'un fichier "liste-des-paquets" modifié :

goldendict					install
gparted						install
gparted-common					install
grep						install
grisbi						install
grisbi-common					install

Sauvegardez ce fichier (ainsi que le sources.list) sur un support externe (usb, web, etc.)

Vous pouvez aussi compléter par la liste des applications installées avec cette commande

ls /usr/share/applications | awk -F '.desktop' ' { print $1}'

Si votre but est de connaître les paquets que vous avez installés pour les remettre dans une autre version

Il est possible d'obtenir la liste des ajouts manuels. Rien ne garantit qu'ils sont encore supportés dans cette nouvelle version. Consulter cet échange.

apt-mark showmanual > ~/manual-installed.txt
initial=( $(zgrep -oP "(?<=Package: ).*" /var/log/installer/initial-status.gz) )
for p in ${initial[@]} ; do sed -i "/$p/d" ~/manual-installed.txt ; done

Il faut choisir l'option "essayer avant d'installer" et d'abord identifier la partition contenant le répertoire /var, faire un point de montage, l'autoriser en écriture, monter la partition et exécuter la recherche en précisant le bon répertoire.

Exemple

sudo mkdir             /media/DPKG
sudo mount  /dev/sdc3  /media/DPKG
sudo chown $USER:$USER /media/DPKG
dpkg --admindir=/media/DPKG/var/lib/dpkg --get-selections >/media/DPKG/liste-des-paquets
head -2 /media/DPKG/liste-des-paquets
accountsservice					install
acl						install
sudo umount /media/DPKG
Si vous réinstallez une version identique, remplacez le fichier sources.list par le votre.

Si vous changez de version, adaptez si besoin le fichier sources.list avec vos dépôts spécifiques.

Récupérez votre fichier « liste-des-paquets » puis entrez les commandes suivantes :

sudo apt update
sudo dselect update
sudo dpkg %%--set-selections%% < liste-des-paquets
sudo apt -u dselect-upgrade

Normalement vos applications préférées sont restaurées et si vous avez une sauvegarde de votre partition « home », vous pourrez également récupérer vos paramétrages spécifiques.

Attention : la commande « sudo dpkg --clear-selections » est potentiellement très dangereuse : elle modifie le fichier /var/lib/dpkg/status en positionnant tous les paquets sur « à supprimer » !

Si derrière est exécuté un « sudo apt -u dselect-upgrade » sans au préalable avoir fait un « sudo dpkg --set-selections < liste-des-paquets », on efface tous les paquets !

Pour s'en sortir en cas de « sudo dpkg --clear-selections » sans avoir un fichier « liste-des-paquets » complet et valide, la solution consiste à renommer « /var/lib/dpkg/status.old » en « /var/lib/dpkg/status » si cela vient d'arriver, ou bien d'aller chercher une sauvegarde créée automatiquement dans « /var/backups/ »

  • Reinstallation ubuntu (sans perdre son /home)
  • Le logiciel aptik (en anglais) permet une sauvegarde et une restauration des sources (ppas), des paquets installés (ou téléchargés) ainsi que des thèmes et icônes, avec interface graphique.

Contributeurs : ostaquet (L'auteur), bobil78, mr_jay_01, sylvainsjc, YoBoY, bioman, L'ami René (MAJ mise en page)+(Autres pages en lien avec les sujets), draco31.fr, pipou24, yanntech.


1)
typiquement, casper/filesystem.manifest dans l'image ubuntu-22.04.1-desktop-amd64.iso
  • tutoriel/comment_sauver_et_restaurer_la_liste_des_paquets.txt
  • Dernière modification: Le 10/11/2023, 16:12
  • par geole