{{tag>Jammy système administration tutoriel sauvegarde paquet dépôts}}
----
====== 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 [[:reinstallation_ubuntu|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.
===== Pré-requis =====
- Niveau requis : être familiarisé avec [[:terminal|le terminal]],
- Avoir une connexion internet opérationnelle,
- Avoir les [[:sudo|droits d'administration]],
- Avoir configuré son fichier **/etc/apt/sources.list** (ou /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 [[:depots|dépôts]] spécifiques, le fichier [[:sources.list]] de la nouvelle version devra être adapté ainsi que les [[:tutoriel:comment_modifier_sources_maj#gerer_les_cles_d_authentification|clés d'authentification]] correspondantes
- Avoir [[:tutoriel:comment_installer_un_paquet|installé le paquet]] **[[apt>dselect]]**
===== Sauvegarde depuis le système opérationnel=====
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»((typiquement, //casper/filesystem.manifest// dans l'image ubuntu-22.04.1-desktop-amd64.iso)) 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 [[https://forum.ubuntu-fr.org/viewtopic.php?pid=22717307#p22717307|é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
head -2 /media/DPKG/liste-des-paquets
accountsservice install
acl install
sudo umount /media/DPKG
===== Restauration =====
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/'' »
===== Voir aussi =====
* [[:Sauvegarde]]
* [[:Reinstallation ubuntu]] (sans perdre son /home)
* Le logiciel **[[https://teejeetech.in|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 : [[utilisateurs:ostaquet]] (L'auteur), [[utilisateurs:bobil78]], [[utilisateurs:mr_jay_01]], [[utilisateurs:sylvainsjc]], [[utilisateurs:YoBoY]], [[utilisateurs:bioman]], [[utilisateurs:lami|L'ami René]] (MAJ mise en page)+(Autres pages en lien avec les sujets), [[utilisateurs:draco31.fr]], [[utilisateurs:pipou24]], [[utilisateurs:yanntech]].//