Sauvegarde et restauration de la liste des paquets installés pour restauration, duplication ou migration
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 sauvegarder la liste de vos applications au cas où vous devriez réinstaller entièrement votre système.
- 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.
- Vous souhaitez déployer la même version d'Ubuntu sur un autre ordinateur et y installer également vos applications préférées.
Pré-requis
- Niveau requis : être familiarisé avec le terminal,
- Avoir une connexion internet opérationnelle,
- Avoir les droits d'administration,
- Avoir configuré son fichier
/etc/apt/sources.list
(et les fichiers présents dans/etc/apt/sources.list.d
) pour les dépôts standards, - 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. - Avoir installé le paquet
dselect
.
Sauvegarde depuis le système actuel
Récupérez la liste des paquets installés sur le système :
dpkg --get-selections > liste-des-paquets.txt
Cela crée un fichier liste-des-paquets.txt
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, etc.). 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.txt
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
Sauvegarde depuis un support d'installation
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.txt head -2 /media/DPKG/liste-des-paquets.txt accountsservice install acl install sudo umount /media/DPKG
Restauration
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.txt
puis entrez les commandes suivantes :
sudo apt update sudo dselect update sudo dpkg %%--set-selections%% < liste-des-paquets.txt 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.
sudo dpkg --clear-selections
est potentiellement très dangereuse : elle modifie le fichier /var/lib/dpkg/status
en marquant tous les paquets comme « à 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.txt
, on efface tous les paquets !
Pour s'en sortir en cas de sudo dpkg --clear-selections
sans avoir un fichier liste-des-paquets.txt
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/
.
Voir aussi
- Reinstallation ubuntu (sans perdre son
/home
)
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.
/casper/filesystem.manifest
dans l'image ubuntu-22.04.1-desktop-amd64.iso