PC1 - sauvegarde système et réinstallation complète EndeavourOS
Dernière mise à jour : 6 novembre 2026
1. Principe
/home/yannest déjà sauvegardé par borg (dépôt local sur le disque USB, dépôt distant sur la Storage Box).- Ce qui n’est pas dans
/home(paquets installés, configuration système, services, réseau, VMs) n’est sauvegardé nulle part : c’est ce qui rend une réinstallation pénible. - Solution : générer régulièrement un kit de restauration dans
~/restore-kit/. Comme il est dans/home/yann, ton borg actuel l’embarque sans rien changer.
⚠ Le piège à éviter. Si la passphrase du dépôt borg et la clé SSH de la Storage Box sont uniquement dans
/home/yann, tu ne pourras pas ouvrir la sauvegarde le jour où/homeest perdu. Garde-les aussi hors de/home: une entrée dans KeePassXC (clé SSH en pièce jointe) et une copie sur une autre machine. Vérifie-le avant tout le reste.
2. Ce qu’il faut sauvegarder en plus de /home
| Élément | Où | Pourquoi |
|---|---|---|
| Listes de paquets | pacman -Qqen, -Qqem, flatpak |
Réinstaller les mêmes applications |
| Services et timers activés | systemctl list-unit-files --state=enabled (système et --user) |
Retrouver les services (borg, cert home.arpa, cryptomator, libvirt…) |
| SDDM | /etc/sddm.conf, /etc/sddm.conf.d/ (dont 20-wayland.conf) |
Greeter Wayland, thème |
| Réseau | /etc/NetworkManager/system-connections/ |
Connexions enp6s0 (192.168.0.20), enp7s0, bridge br0 |
| Démarrage | /etc/kernel/cmdline, /etc/dracut.conf.d/ |
Options noyau (référence : ne pas restaurer telles quelles, le root=UUID change) |
| Montages | /etc/fstab |
Référence (les UUID changent) |
| Pacman | /etc/pacman.conf, /etc/pacman.d/hooks, /etc/makepkg.conf |
Dépôts et options |
| CA locale | /etc/ca-certificates/trust-source/anchors/ |
Racine homearpaCA.crt dans le magasin système |
| Libvirt | /etc/libvirt/, XML des VMs, /var/lib/libvirt/images/ |
VMs de virt-manager (images : volumineuses, à sauvegarder à part) |
| Tailscale | /var/lib/tailscale/ |
Identité du nœud (sinon nouvelle inscription sur Headscale) |
| VPN / pare-feu | /etc/mullvad-vpn/, /etc/nftables.d/, /etc/nftables.conf |
Si présents sur pc1 |
| SSH serveur | /etc/ssh/ |
Seulement si sshd tourne sur pc1 |
| Divers système | /etc/sudoers.d, /etc/udev/rules.d, /etc/modprobe.d, /etc/sysctl.d, /etc/environment, /etc/hosts, /etc/systemd/system, /etc/cups |
Réglages locaux |
| Logiciels hors paquets | /usr/local, /opt |
Par exemple cryptomator-cli s’il y est installé |
| Linger | /var/lib/systemd/linger/ |
Les services utilisateur qui tournent hors session |
| Identité utilisateur | id yann |
Retrouver l’UID (1000 normalement) et les groupes (wheel, libvirt…) |
| Secrets | KeePassXC | Passphrase borg, clé SSH Storage Box, mot de passe KWallet/Cryptomator |
À compléter par toi : le système de fichiers de / (findmnt /), l’emplacement des images de VM, les applications Flatpak éventuelles, ce que contient /opt.
3. Script : générer le kit de restauration
À enregistrer par exemple en ~/.local/bin/restore-kit.sh. Il demande sudo pour lire /etc et /var/lib.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#!/usr/bin/env bash
set -euo pipefail
KIT="$HOME/restore-kit"
mkdir -p "$KIT"
chmod 700 "$KIT"
date -Is > "$KIT/date.txt"
cat /etc/os-release > "$KIT/os-release.txt"
uname -r > "$KIT/noyau.txt"
id "$(id -un)" > "$KIT/id.txt"
# Paquets
pacman -Qqen > "$KIT/pkg-natifs.txt" # explicites, dépôts officiels
pacman -Qqem > "$KIT/pkg-aur.txt" # explicites, AUR / locaux
command -v flatpak >/dev/null && flatpak list --app --columns=application > "$KIT/flatpak.txt" || true
# Services
systemctl list-unit-files --state=enabled --no-legend > "$KIT/services-systeme.txt"
systemctl --user list-unit-files --state=enabled --no-legend > "$KIT/services-user.txt"
systemctl list-timers --all --no-legend > "$KIT/timers-systeme.txt"
systemctl --user list-timers --all --no-legend > "$KIT/timers-user.txt"
# Disques et partitions (référence)
lsblk -f > "$KIT/lsblk.txt"
findmnt --real > "$KIT/montages.txt"
sudo sgdisk --print /dev/nvme0n1 > "$KIT/partitions-nvme0n1.txt"
# Fichiers système (droits et attributs conservés)
FILES=(
/etc/sddm.conf /etc/sddm.conf.d
/etc/NetworkManager/system-connections
/etc/fstab /etc/kernel /etc/dracut.conf.d
/etc/pacman.conf /etc/pacman.d/hooks /etc/makepkg.conf
/etc/ca-certificates/trust-source/anchors
/etc/libvirt /etc/mullvad-vpn /etc/nftables.d /etc/nftables.conf
/etc/ssh /etc/sudoers.d /etc/udev/rules.d /etc/modprobe.d /etc/sysctl.d
/etc/environment /etc/hosts /etc/systemd/system /etc/cups
/var/lib/tailscale /var/lib/systemd/linger
/usr/local /opt
)
EXIST=()
for f in "${FILES[@]}"; do [ -e "$f" ] && EXIST+=("$f"); done
sudo tar --xattrs --acls -czpf "$KIT/systeme.tar.gz" "${EXIST[@]}"
sudo chown "$(id -un):$(id -gn)" "$KIT/systeme.tar.gz"
chmod 600 "$KIT/systeme.tar.gz"
echo "Kit généré dans $KIT :"
du -sh "$KIT"/* | sort -h
Remarques :
systeme.tar.gzcontient des secrets (mots de passe Wi-Fi, clé Tailscale) : il reste dans/home/yann, donc dans un dépôt borg chiffré. Ne l’envoie jamais ailleurs en clair.- Vérifie la taille avec
du -sh /usr/local /optavant la première exécution : si c’est gros, retire-les de la liste. - Lance le script à la main avant chaque sauvegarde importante, ou ajoute-le plus tard à ton enchaînement borg (le
sudodemande alors une règleNOPASSWDou un service root dédié). - Les images de VM (
/var/lib/libvirt/images/) ne sont pas dans le kit : sauvegarde-les séparément si elles comptent.
4. Répétition à blanc (recommandé)
Tu as le disque sda : installe-y EndeavourOS (installation séparée, avec sa propre partition EFI), puis déroule la procédure ci-dessous. C’est le seul moyen de savoir que la sauvegarde est exploitable avant d’en avoir besoin. Nettoie ensuite l’entrée de démarrage : sudo efibootmgr.
5. Procédure de réinstallation complète
5.1 Avant de commencer
- Vérifie que tu peux ouvrir le dépôt borg sans
/home: passphrase et clé SSH retrouvées dans KeePassXC ou sur une autre machine. - Prépare une clé USB avec une ISO EndeavourOS récente.
- Note l’UID :
id yann(doit être 1000) et les groupes (le fichier~/restore-kit/id.txtte les redonnera aussi).
5.2 Installation du système
- Démarre sur la clé, lance l’installateur.
- Nom d’utilisateur :
yann(même nom, UID 1000) et nom de machinepc1. - Partitionnement identique à l’actuel : une partition EFI de 2 Go montée sur
/efi, le reste en/. Chargeur : systemd-boot. Système de fichiers : celui de ton installation actuelle (findmnt /). - Redémarre sur le nouveau système, puis mets-le à jour :
sudo pacman -Syu.
5.3 Restaurer /home depuis borg
Fais-le sans lancer la session graphique : passe sur un TTY (Ctrl+Alt+F3), connecte-toi et installe borg si besoin (sudo pacman -S --needed borg).
Dépôt local (disque USB monté, par exemple sous /run/media/yann/FreeUSB2To) :
1
export BORG_REPO=/run/media/yann/FreeUSB2To/sauvegardes/borgbackup/pc1
Dépôt distant (Storage Box, clé SSH à remettre d’abord dans ~/.ssh/ depuis KeePassXC) :
1
2
export BORG_REPO=ssh://u694796@u694796.your-storagebox.de:23/./pc1
export BORG_RSH='ssh -i ~/.ssh/bx11-yann-02'
Puis :
1
2
3
4
5
borg list # choisir l'archive la plus récente et saine
borg list ::NOM_ARCHIVE | head # vérifier le début des chemins (home/yann/...)
cd /
sudo mv /home/yann /home/yann.new # met de côté le profil neuf
sudo -E borg extract --list --numeric-owner ::NOM_ARCHIVE home/yann
Si les chemins de l’archive ne commencent pas par home/yann, adapte le dernier argument. Si le déplacement de /home/yann échoue parce que tu es dedans, fais cd / d’abord.
Vérifie : ls -la /home/yann doit montrer tes dossiers, .config, .local, .ssh, restore-kit. Garde /home/yann.new jusqu’à la fin des vérifications.
5.4 Réinstaller les applications
1
2
3
4
cd ~/restore-kit
sudo pacman -S --needed - < pkg-natifs.txt
yay -S --needed - < pkg-aur.txt # yay est livré avec EndeavourOS
# si Flatpak : xargs -a flatpak.txt flatpak install -y
Si un paquet n’existe plus, pacman s’arrête : retire la ligne concernée du fichier et recommence.
5.5 Restaurer la configuration système (avec précaution)
1
2
mkdir ~/restore-kit/extrait
sudo tar -xzpf ~/restore-kit/systeme.tar.gz -C ~/restore-kit/extrait --xattrs --acls
Ne restaure pas en bloc sur / : copie fichier par fichier après lecture.
- À copier :
/etc/sddm.conf.d/,/etc/NetworkManager/system-connections/(droits600, propriétaire root),/etc/systemd/system/,/etc/sudoers.d/,/etc/udev/rules.d/,/etc/modprobe.d/,/etc/sysctl.d/,/etc/libvirt/,/etc/ca-certificates/trust-source/anchors/,/etc/mullvad-vpn/,/etc/nftables.d/. - À ne pas copier tel quel :
/etc/fstabet/etc/kernel/cmdline(les UUID du nouveau système sont différents ; reporte seulement les options utiles, commenowatchdog). /var/lib/tailscale/: à restaurer avant de démarrertailscaled, sinon réinscris le poste sur Headscale avec une nouvelle clé de pré-authentification.
Puis :
1
2
3
sudo update-ca-trust # racine homearpaCA
sudo systemctl daemon-reload
sudo nmcli connection reload
5.6 Réactiver les services
Compare avec ~/restore-kit/services-systeme.txt et services-user.txt.
1
2
3
4
5
6
7
sudo loginctl enable-linger yann # indispensable : services utilisateur hors session
sudo systemctl enable --now NetworkManager libvirtd tailscaled # à adapter à la liste
sudo usermod -aG libvirt,wheel yann # selon id.txt
# cartes à puce / clés Yubikey (KeePassXC, HMAC) :
sudo systemctl enable --now pcscd.socket
systemctl --user daemon-reload
systemctl --user enable --now borg-pc1.timer homearpa-cert.timer cryptomator-vault.service surveiller-media.service # adapte aux noms réels
Redémarre ensuite (reboot) et connecte-toi normalement.
5.7 Vérifications
- Connexion graphique OK (SDDM sous Wayland), deux écrans en 2560x1440.
- Réseau : enp6s0, enp7s0, bridge
br0, DNS Technitium. - KWallet s’ouvre (même mot de passe qu’avant) ; le coffre Cryptomator se monte dans
~/Coffre. - KeePassXC se déverrouille avec les clés matérielles.
tailscale status: le poste est visible dans le tailnet.- Les timers utilisateur existent :
systemctl --user list-timers. - Une sauvegarde borg manuelle réussit (
borg listmontre la nouvelle archive). - VMs :
virsh list --allet démarrage d’une VM. - HTTPS vers
*.home.arpasans avertissement dans les navigateurs. - Une fois tout validé, supprime
/home/yann.new.
6. Éviter la prochaine réinstallation
- Garde
linux-ltsinstallé comme noyau de secours (c’est déjà le cas). - Avant une grosse mise à jour : lis les actualités Arch (https://archlinux.org/news/), puis mets à jour les clés (
sudo pacman -Sy archlinux-keyring endeavouros-keyring) avant lepacman -Sucomplet. Ne fais jamais de mise à jour partielle. - Si une mise à jour échoue, note le message exact avant de forcer quoi que ce soit : la cause la plus fréquente est un trousseau de clés périmé ou un paquet en conflit, rarement irréparable.
- Pour pouvoir restaurer le système lui-même sans réinstaller, tu peux ajouter un
borg createde/avec exclusions (/proc,/sys,/dev,/run,/tmp,/mnt,/media,/home), comme tu le fais déjà sur cwwk. La restauration consiste alors à repartitionner, extraire l’archive et réinstaller le chargeur de démarrage. Plus lourd à mettre en place, mais plus rapide au moment de s’en servir.