Déploiement de Debian 11
· 2 minutes de lecture
Comment nous avons mis à niveau tous nos containers LXC vers Debian Bullseye
astuce
Avant toute chose, si jamais le container à migrer est une Debian "complexe" (beaucoup de services, de configurations spécifiques etc.), ne pas hésiter à garder la note de mise à niveau officielle ouverte dans un coin.
zfs set sync=disabled tank/data/subvol-{ID}-disk-0
(désactiver les écritures synchrones pour booster APT)pct snapshot {ID} pre_upgrade
pct enter {ID}
apt purge etckeeper
apt update && apt full-upgrade
find /etc -name '*.dpkg-*' -o -name '*.ucf-*' -o -name '*.merge-error' | xargs rm -v
(nettoyage/etc
)sed -i 's/ftp/deb/g' /etc/apt/sources.list
(se brancher sur les nouveaux CDN)sed -i 's/buster/bullseye/g' /etc/apt/sources.list && sed -i 's/bullseye\/updates/bullseye-security/g' /etc/apt/sources.list
- vérifier les sources tierces si des changements sont nécessaires (buster -> bullseye) dans
/etc/apt/sources.list.d/
apt update
apt upgrade --without-new-pkgs
apt full-upgrade
apt autoremove
- si besoin et s'il n'est pas fourni par APT, mettre à jour le service manuellement
git init /etc
- entrer
puis
string=$'[remote "origin"]\\
url = https://git.felinn.org/FELINN/{service}.felinn.org.git\\
fetch = +refs/heads/*:refs/remotes/origin/*\\
[branch "main"]\\
remote = origin\\
merge = refs/heads/main'sed -i '$a\'"${string}"'' /etc/.git/config
nvim /etc/.gitignore
- adapter le gitignore à partir de cet exemple :
*
!.gitignore
!*/
!zsh/zshrc
!git/config
!php/8.0/fpm/php.ini
!php/8.0/fpm/pool.d/www.conf
!mysql/mariadb.conf.d/50-server.cnf
!nginx/sites-available/talk.felinn.org.conf
!flarum/* cd /etc && git add . && git commit -m "end etckeeper // post upgrade"
git branch main && git switch main
git push
(ne marchera pas simain
existe déjà, auquel cas autoriserforce push
sur la branche dans Gitlab puis utilisergit push --force
)reboot
- vérifier que tout fonctionne
pct delsnapshot {ID} pre_upgrade
zfs inherit sync tank/data/subvol-{ID}-disk-0