{{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]].//