Ceci est une ancienne révision du document !
Passage de Debian Stretch à Buster
Ayant la manip à faire sur pas mal de serveurs, et comme ce n'est pas une bonne idée d'automatiser les mises à jours majeures (chaque installation a ses particularités), ce qui suit est une recette résumant les consignes de mise à jour officielles de Debian.
- Réaliser un snapshot des VM (et prier sur les hyperviseurs).
- Lancer screen (ça va être long).
- Enregistrer la session.
script -t 2>~/upgrade-buster1.time -a ~/upgrade-buster1.script1sera à incrémenter si on redémarre, relance le script, etc.less -R ~/upgrade-buster1.scriptpermet de relire tranquillement ce qui a défilé.exità la fin de la mise à jour (ou si ça redémarre, ça exit aussi !).
- Encore sous Stretch, réaliser un
apt update && apt upgrade: plus c'est à jour, moins on a de soucis ensuite.apt autoremoveetapt cleancontribueront aussi à avoir une base propre. - Vérifier qu'il n'y a pas des sources alternatives
sudo aptitude search '~i(!~ODebian)'. dpkg --auditetapt-mark showholdpour vérifier qu'il n'y a pas des paquets gelés, avec des soucis, etc.- Modifier
/etc/apt/sources.list- Une seule ligne à présent,
deb http://deb.debian.org/debian buster main contrib non-free. Désactiver le reste.
apt update && apt upgrade(upgrade en deux temps) : ne met à jour que le minimum.apt full-upgrade- S'il y a besoin de geler des paquets :
apt-mark hold package_name. Mais geler des paquets risque de rajouter du bazar, donc à réserver en cas de rapport de bug vraiment inquiétant.
- Régler les problèmes s'il y en a, puis redémarrer la machine afin de prendre en compte le changement de noyau et le reste (et de vérifier si ça reboot, grub est parfois taquin).
- Vérifier que les services marchent correctement.
- Nettoyer les restes
dpkg -l | awk '/^rc/ { print $2 }'pour lister les paquets supprimés ayant laissé des fichiers de configurationapt purge $(dpkg -l | awk '/^rc/ { print $2 }')pour tous les purger uniquement si la liste présente des paquets donc la config ne nous intéresse pas.- Chercher et purger les paquets obsolètes
aptitude search '~o' && aptitude purge '~o'
PHP
Attention avec php et apache, il faut activer le module de la nouvelle version de php dans apache sinon tout plante.
sudo a2enconf php7.3-cgi sudo a2enmod php7.3 sudo service apache2 restart