Si vous envisager de sauvegarder la liste des paquets installĂ©s sur votre systĂšme dans le but de pouvoir le rĂ©installer Ă lâidentique, comme cela a Ă©tĂ© vu dans le billet : đŠ Lister et enregistrer les paquets installĂ©s sur votre Linux, vous devez Ă©galement penser Ă sauvegarder les ppa qui ont Ă©tĂ© ajoutĂ©s et plus gĂ©nĂ©ralement lâensemble des sources utiliser par le gestionnaire de paquets.
Fichiers de configuration
Les fichiers de configuration des dépÎts sources de la commande apt se trouve dans :
- Le fichier
/etc/apt/sources.list
- et dans le répertoire
/etc/apt/sources.list.d/
Notez que sous Linux-Mint le fichier /etc/apt/sources.list
devrait ĂȘtre vide et le rester :
Exemple sous Linux-Mint :
ll /etc/apt/sources.list
On constate une taille de 0 octet.
-rw-r--r-- 1 root root 0 juil. 9 2020 /etc/apt/sources.list
Sous dâautres distributions, il contient les dĂ©pĂŽts de base du systĂšme. Par exemple sous RaspiOS, il nây a que les dĂ©pĂŽts Debian :
Exemple sous RaspiOSÂ :
cat /etc/apt/sources.list
deb http://deb.debian.org/debian bullseye main contrib non-free
deb http://security.debian.org/debian-security bullseye-security main contrib non-free
deb http://deb.debian.org/debian bullseye-updates main contrib non-free
# Uncomment deb-src lines below then 'apt-get update' to enable 'apt-get source'
#deb-src http://deb.debian.org/debian bullseye main contrib non-free
#deb-src http://security.debian.org/debian-security bullseye-security main contrib non-free
#deb-src http://deb.debian.org/debian bullseye-updates main contrib non-free
De maniÚre générale, vous ne devriez pas modifier le fichier /etc/apt/sources.list.d/
sauf pour activer lâaccĂšs au code source.
Ce quâil faut sauvegarder
Vous pouvez sauvegarde lâintĂ©gralitĂ© du dossier /etc/apt/
qui ne devrait pas ĂȘtre trĂšs lourd ; car cela permettra dâembarquer la configuration d'apt ainsi que les clĂ©s contenues dans /etc/apt/keyrings/
.
Cependant, je vous encourage Ă faire le mĂ©nage surtout lors dâune rĂ©installation.
Une bonne idĂ©e est de sauvegarder la procĂ©dure dâajout des dĂ©pĂŽts.
Construire une sauvegarde intelligente
On peut partir de la liste des fichiers donnant la liste des dĂ©pĂŽts du systĂšme ; cette liste sâobtient comme suit :
find /etc/apt/ -type f -regex '.*/sources.list.*' -name '*.list'
Pour voir rapidement lâensemble de la configuration (incluant les commentaires)Â :
find /etc/apt/ -type f -regex '.*/sources.list.*' -name '*.list' -print -exec cat {} \;
Pour ne voir que les entrées utiles :
find /etc/apt/ -type f -regex '.*/sources.list.*' -name '*.list' -print -exec grep '^deb ' {} \;
Cette version nâinclut pas le nom de fichier dans le rĂ©sultat, elle affiche les fichiers qui nâont pas de configuration active.
Il est possible dâĂȘtre plus compact en supprimant le drapeau -print
.
/etc/apt/sources.list.d/official-package-repositories.list
deb http://packages.linuxmint.com wilma main upstream import backport #id:linuxmint_main
deb http://archive.ubuntu.com/ubuntu noble main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu noble-updates main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu noble-backports main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu/ noble-security main restricted universe multiverse
/etc/apt/sources.list.d/nodesource.list
/etc/apt/sources.list.d/wfg-0ad-noble.list
deb [signed-by=/etc/apt/keyrings/wfg-0ad-noble.gpg] https://ppa.launchpadcontent.net/wfg/0ad/ubuntu noble main
/etc/apt/sources.list.d/signal-xenial.list
/etc/apt/sources.list.d/nextcloud-devs-client-focal.list
/etc/apt/sources.list.d/vscode.list
/etc/apt/sources.list.d/google-earth-pro.list
/etc/apt/sources.list.d/virtualbox.list
deb [arch=amd64] http://download.virtualbox.org/virtualbox/debian noble contrib
/etc/apt/sources.list
grep -r --include '*.list' '^deb ' /etc/apt/sources.list /etc/apt/sources.list.d/
Cet version est plus compact (le début de la ligne correspondant au fichier de provenance de la configuration), mais ne permet pas de voir les fichiers « vides » (les fichiers sans configuration active).
/etc/apt/sources.list.d/official-package-repositories.list:deb http://packages.linuxmint.com wilma main upstream import backport #id:linuxmint_main
/etc/apt/sources.list.d/official-package-repositories.list:deb http://archive.ubuntu.com/ubuntu noble main restricted universe multiverse
/etc/apt/sources.list.d/official-package-repositories.list:deb http://archive.ubuntu.com/ubuntu noble-updates main restricted universe multiverse
/etc/apt/sources.list.d/official-package-repositories.list:deb http://archive.ubuntu.com/ubuntu noble-backports main restricted universe multiverse
/etc/apt/sources.list.d/official-package-repositories.list:deb http://security.ubuntu.com/ubuntu/ noble-security main restricted universe multiverse
/etc/apt/sources.list.d/wfg-0ad-noble.list:deb [signed-by=/etc/apt/keyrings/wfg-0ad-noble.gpg] https://ppa.launchpadcontent.net/wfg/0ad/ubuntu noble main
/etc/apt/sources.list.d/virtualbox.list:deb [arch=amd64] http://download.virtualbox.org/virtualbox/debian noble contrib
Reconstruire les dépÎts
Vous pouvez également choisir de créer un script pour reconstruire les dépÎts, par exemple :
find /etc/apt/ -type f -regex '.*/sources.list.*' -name '*.list' -exec grep '^deb ' {} \; |
while read -r entry ; do \
if grep -qF 'http://ppa.launchpad.net/' <<<"${entry}" ; then \
sed -E 's,^http://ppa.launchpad.net/([^/]*)/([^/]*)/.*$,sudo apt-add-repository ppa:\1/\2,g' <<<"${entry}"
else \
sed -E -e 's,^(.*)(#.*|$),\1,g' -e 's/^[[:blank:]]*//;s/[[:blank:]]*$//' -e "s,^(.*)$,sudo apt-add-repository '\1',g" <<<"${entry}"
fi
done
Ce qui produira un script de restauration partielle :
sudo apt-add-repository 'deb http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware'
sudo apt-add-repository 'deb http://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware'
sudo apt-add-repository 'deb http://deb.debian.org/debian bookworm-updates main contrib non-free non-free-firmware'
sudo apt-add-repository 'deb [arch=arm64 signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro main'
sudo apt-add-repository 'deb http://archive.raspberrypi.org/debian/ bookworm main'
Dans cet exemple, on note quâil faudra avoir sauvegardĂ© le fichier /etc/apt/keyrings/nodesource.gpg
et lâavoir restaurĂ© avant dâexĂ©cuter le script de restauration.
Liens
- ComplĂ©ment au billet đŠ Lister et enregistrer les paquets installĂ©s sur votre Linux
኿