====== 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 [[https://www.debian.org/releases/buster/armhf/release-notes/ch-upgrading.fr.html|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'' et ''apt 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'' et ''apt-mark showhold'' pour vérifier qu'il n'y a pas des paquets gelés, avec des soucis, etc.
- Modifier ''/etc/apt/sources.list''
* Voir https://debian-facile.org/doc:system:apt:sources.list:buster
- ''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 configuration
* ''apt 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