cClaude.rocks ☕ Le blog

[Nouvelles technologies du libre, sciences et coups de gueule…]

Menu

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

኿


â„č 2006 - 2024 | 🏠 Accueil du domaine | 🏡 Accueil du blog