Il faut régulièrement penser à mettre à jour son serveur Kimsufi.
Je vais essayer d’expliquer brièvement les étapes à suivre pour cela.
- On va effectuer une mise à jour des paquets avec
apt-get update && apt-get upgrade
- Il peut être intéressant de vérifier la version de son kernel afin d’avoir la dernière recommandée. On va vérifier la version actuelle avec
uname -r
qu’on peut comparer sur https://tracker.debian.org/pkg/linux. Si on a un noyau OVH, il est recommandé de passer sur une version classique (voir cette discussion). Ensuite, on fait:apt-get install linux-image-amd64 update-grub reboot
Après le redémarrage, on peut vérifier la version du kernel avec
uname -r
- Si vous avez une version personnalisée de MariaDB, vous pouvez vérifier que vous avez la dernière mise à jour pour Stretch
- On va sauvegarder les données :
mkdir /root/svg_special; cp -R /var/lib/dpkg /root/svg_special/; cp /var/lib/apt/extended_states /root/svg_special/; dpkg --get-selections "*" > /root/svg_special/dpkg_get_selection; cp -R /etc /root/svg_special/etc
- Ensuite il est conseillé d’utiliser
screen
pour pouvoir se reconnecter (avecscreen -r
) à en cas de déconnexion :screen
- Le processus de mise à niveau décrit sur le site de Debian a été conçu pour des mises à niveau des systèmes « purs » sans paquet provenant d’autres sources. Pour une meilleure fiabilité du processus de mise à niveau, vous pouvez supprimer ces paquets du système avant de commencer la mise à niveau :
aptitude search '~i(!~ODebian)'
- On peut éventuellement purger les vieux paquets obsolètes. Pour cela on va d’abord les lister, puis on peut les purger si tout semble bon:
aptitude search '~o' aptitude purge '~o'
- On peut lancer la commande
dpkg --audit
pour s’assurer que tout est bon avant la migration. On peut également taperdpkg --get-selections "*" | more
et vérifier qu’aucun paquet n’est en on hold - Maintenant il faut remplacer tous les « stretch » de
/etc/apt/sources.list
par des « buster » (on pourra par exemple utilisersed -i 's/stretch/buster/g' /etc/apt/sources.list
), ce qui va donner chez moi :deb http://ftp.fr.debian.org/debian buster main non-free deb http://debian.mirrors.ovh.net/debian/ buster main deb-src http://debian.mirrors.ovh.net/debian/ buster main deb http://security.debian.org/ buster/updates main deb-src http://security.debian.org/ buster/updates main deb http://ftp.debian.org/debian buster-backports main deb http://debian.mirrors.ovh.net/debian buster-updates main deb-src http://debian.mirrors.ovh.net/debian buster-updates main
On vérifiera aussi les autres fichiers qui peuvent se trouver dans
/etc/apt/sources.list.d
, en modifiant par exemple la source pour MariaDB. - Il est recommandé d’utiliser le programme
/usr/bin/script
pour enregistrer une transcription de la session de mise à niveau. Ainsi, quand un problème survient, on a un enregistrement de ce qui s’est passé. Pour démarrer un enregistrement, taper :script -t 2>~/upgrade-stretch.time -a ~/upgrade-stretch.script
- On passe aux choses sérieuses, en commençant par mettre à jour les listes des paquets :
apt-get update
- On va vérifier qu’on a la place suffisante (un message explicite apparait sinon) :
apt -o APT::Get::Trivial-Only=true full-upgrade
- On va maintenant faire une mise à jour minimale :
apt-get upgrade
- Et à partir de là le système va vous questionner… en général choisir l’option par défaut si vous ne savez pas quoi répondre
- Puis on continue avec
apt full-upgrade
Cette dernière étape va durer un certain temps. Une fois terminé, vous pouvez redémarrer le serveur pour s’assurer que tout va bien.
Il est bien de vérifier que la version actuelle de PHP est correctement utilisée par Apache. Pour cela on vérifie la version avec:
php -v
Ensuite on regarde les versions de PHP disponibles dans les modules d’Apache :
ls -l /etc/apache2/mods-available/php*
Et on regarde celle activée :
ls -l /etc/apache2/mods-enabled/php*
Si la version ne correspond pas, alors on désactive la version actuellement gérée par Apache2 puis on active la dernière. Par exemple de PHP 7.0 à PHP 7.4 :
a2dismod php7.0 a2enmod php7.4
Et on redémarre Apache :
systemctl restart apache2
Il pourrait aussi être nécessaire d’installer php7.4-mysql
:
apt-get install php7.4-mysql
Dans mon cas j’ai un serveur qui utilise Tomcat8 avec une vieille version de Java (« 1.8.0_265 ») contre la 1.11 qui a été installé pendant la mise à jour (on le voit avec java -v
). La 1.8 n’est pas disponible pour Duster, donc j’ai suivi ces conseils :
apt-get update apt-get install software-properties-common
Puis dans /etc/apt/sources.list.d/jdk8.list
j’ai mis :
deb http://security.debian.org/debian-security stretch/updates main
Et ensuite :
apt-get update apt-get install openjdk-8-jdk
Ensuite il faut modifier $JAVA_HOME
… Pour cela on modifier d’abord /etc/environment
en y mettant JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/
ainsi que /etc/default/tomcat8
Des erreurs sur PHPMyAdmin peuvent survenir dû au passage à PHP 7.4. Il est recommandé de mettre à jour PHPMyAdmin. On va d’abord vérifier qu’on a une source buster-backports dans /etc/apt/sources.list
. Dans mon cas j’ai pu mettre à jour comme cela :
apt-get upgrade php-tcpdf php-twig apt-get install -t buster-backports php-twig apt-get install phpmyadmin Une fois les erreurs corrigées, on va nettoyer tous les paquets avec :apt-get autoremoveOn arrête
screen
en faisantCTRL + A
puisk
.
Merci beaucoup, ce tuto m’a permis de mettre à jour mon serveur sans encombre (super de pouvoir enregistrer l’installation), et de régler quelques soucis ensuite (php). Merci !
Merci, le tuto m’a bien servit! J’ai une nouvelle LTS fonctionnelle pour au moins 2 ans!