{{tag>Noble 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 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 [[:reinstallation_ubuntu|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 [[:sudo|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 [[: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 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''((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.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 [[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.txt head -2 /media/DPKG/liste-des-paquets.txt accountsservice install acl install sudo umount /media/DPKG ===== Restauration ===== Si vous réinstallez une version identique, remplacez le fichier **sources.list** par le votre dans le dossier /etc/apt/. 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. Attention : la commande ''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 ===== * [[:Sauvegarde]] * [[:Reinstallation ubuntu]] (sans perdre son ''/home'') * Le logiciel **[[https://teejeetech.in|aptik]]** (en anglais) permet une sauvegarde et une restauration des sources ([[:PPA]]), 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]].//