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.script
1
sera à incrémenter si on redémarre, relance le script, etc.less -R ~/upgrade-buster1.script
permet 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 autoremove
etapt clean
contribueront aussi à avoir une base propre. - Vérifier qu'il n'y a pas des sources alternatives
sudo aptitude search '~i(!~ODebian)'
. dpkg --audit
etapt-mark showhold
pour vérifier qu'il n'y a pas des paquets gelés, avec des soucis, etc.- Modifier
/etc/apt/sources.list
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
Pour FPM
a2enmod proxy_fcgi setenvif a2enconf php7.3-fpm