Sommaire
Merci de bien vouloir compléter ces informations avec vos Problèmes rencontrés lors de migrations en fin de page ! |
Cette page présente la migration de Debian Jessie (8.x) vers Debian Stretch (9.x).
ATTENTION : Cette page concerne la migration d'un serveur Debian déjà en 64 bits. |
Pour connaître la technique conseillée pour installer Debian à l'AUF, consultez la page Debian.
Migration de Jessie vers Stretch
Commencez par vérifier que votre système est à jour !
vérifiez vos sources apt dans /etc/apt/sources.list
lancez apt-get update ; apt-get upgrade
intégrez les éventuels changements que vous trouverez avec find /etc -name "*.dpkg*" -o -name "*.ucf*"
valider toutes les modifications de config' en attente (= commit pré-migration), cf suivi de config'
lisez la section « Problèmes rencontrés lors de migrations » ci-dessous, à vérifier avant la migration
Suivez la procédure officielle de mise à jour !
Il faut absolument lire les notes de publications. Cela vous évitera la plupart des problèmes possibles. Si vous hésitez à mettre à jour un serveur en production, contactez d'abord la liste Tech@AuF afin que nous étudions ensemble les problèmes potentiels.
Il est également fortement recommandé de lire les problèmes à connaître pour Stretch.
Pendant la migration, quand on vous propose de choisir entre votre ancienne configuration et celle proposée par Debian, dans la plupart des cas il est préférable de choisir cette dernière (celle de Debian) pour éviter une interruption de la mise à jour faute de configuration valide. Vous pourrez de toutes façons ré-intégrer vos modifications ensuite à partir des fichier .dpkg-old ou .ucf-old (ou de votre dernière sauvegarde).
Attention : il s'agit d'intégrer les modifications de l'ancienne configuration et non pas simplement recopier l'ancien fichier de configuration ! Ce dernier pourrait ne plus être compatible avec la nouvelle version et rendre alors le système inutilisable.
Finalisez la mise à jour
une nouvelle fois, intégrez les éventuels changements que vous trouverez avec find /etc -name "*.dpkg*" -o -name "*.ucf*"
cherchez s'il reste des paquets non-Debian : aptitude search ~i\!~Odebian
aptitude affichera la liste des paquets installés qui ne sont pas originels d'une archive Debian officielle
valider toutes les modifications de config' résultantes (= commit post-migration), cf suivi de config'
utiliser l'outil check-support-status (fournit par le paquet debian-security-support) pour vérifier quels paquets installés ne bénéficient plus du support de sécurité de Debian
Problèmes rencontrés lors de migrations : À LIRE AVANT DE MIGRER !!
Grub
Le système démarre maintenant en mode graphique par défaut.
Pour rester en mode texte, configurer le paramètre suivant dans /etc/default/grub :
GRUB_CMDLINE_LINUX="vga=normal nomodeset"
Puis lancer update-grub pour mettre à jour la configuration.
KVM
Le paquet libvirt-bin a été séparé en deux :
libvirt-daemon-system
libvirt-clients
Vous installeriez uniquement le premier paquet lorsqu'il vous faut gérer voter hyperviseur à distance.
Linux
ATTENTION : Pour éviter tout problème lors de la migration vers Stretch, il faut rouler une version 3.16.43 ou ultérieure du noyau Linux.
Pour cela il suffit d'avoir bien fait toutes les mises à jour jusqu'à Debian 8.8. Mais il faut aussi que le noyau soit actif (en plus d'être installé) au moment de la migration et donc redémarrer le système au besoin.
Pour vérifier la version active du noyau Linux : cat /proc/version
MySQL
MariaDB est maintenant la variante par défaut de MySQL, en version 10.1 ! . Plus de détails ici https://www.debian.org/releases/stretch/amd64/release-notes/ch-whats-new.fr.html#mariadb-replaces-mysql
Dans le cas où la migration de MySQL vers MariaDB se serait interrompue pour cause d'erreur (paquets laissés non configurés à la fin du dist-upgrade), vérifier /var/log/mysql/error.log, corriger les soucis indiqués le cas échéant (probablement dans /etc/mysql/conf.d/local.cnf), puis poursuivre la migration avec :
dpkg --configure --pending service mysql restart mysql_upgrade
Ne pas oublier de rapporter vos ajustements de configuration spécifiques depuis /etc/mysql/conf.d/local.cnf vers /etc/mysql/mariadb.conf.d/90-local.cnf (la partie Unicode est maintenant là par défaut, inutile de la reprendre).
PHP
ATTENTION : Ne surtout pas migrer un serveur web utilisant PHP sans s'être assuré au préalable de la compatibilité avec la version 7 !
rsyslog
On passe officiellement au nouveau format de fichier configuration.
Par exemple la configuration suivante (service de log à distance) :
$ModLoad imudp $UDPServerRun 514
devient maintenant :
module(load="imudp") input(type="imudp" port="514")
Les fichiers dans le dossier /etc/rsyslog.d/ doivent aussi être nommés avec l'extension .conf.
Nagios
Nagios cède sa place à Icinga.
radvd
Si jamais le daemon radvd ne se lance pas au démarrage du serveur et si effectivement il est désactivé1, il faut l'activer à l'aide de la commande systemctl enable radvd .
Réseau
Un certain nombre d'outils réseaux habituels (arp, ifconfig, iptunnel, nameif, netstat et route) ne sont plus installés par défaut, puisqu'on peut utiliser ceux venant avec iproute2 (ip et ss) à la place. Pour plus de détails voir https://www.debian.org/releases/stretch/amd64/release-notes/ch-information.fr.html#iproute2
Même dans le cas où vous resteriez avec les outils d'origine (paquet net-tools), leur comportement n'est plus exactement le même et les scripts basés dessus ne vont plus fonctionner comme prévu, sans que le problème soit forcément visible immédiatement.
En d'autres termes, il vaut mieux s'habituer dès maintenant à ne plus utiliser ces outils.
APT
En cas de souci avec APT — qui ne devraient se présenter que pour des configurations particulières — voir https://www.debian.org/releases/stretch/amd64/release-notes/ch-information.fr.html#apt-issues
python-moinmoin et mod_wsgi sur 32-bit
La version de mod_wsgi livrée avec Stretch (4.5.11-1) a un bogue, uniquement sur les plateformes 32-bit, qui bloque les POST HTTP dépassant 10 Kio dans MoinMoin (constaté sur les grosses pages de WikiTeki après migration).
Ce problème a déjà été corrigé à la source dans la version 4.5.15, mais cette correction n'a pas encore été appliquée sur Stretch.
En attendant, vous pouvez utiliser la version 4.5.17-1+b2 de Buster, qui a été ajoutée sur notre dépôt APT.
apt-dater
La version de apt-dater livrée avec Stretch (1.0.3) a un bug sur la détection et l'affichage du raccourci clavier à utiliser pour quitter une session tmux.
L'affichage indique -T -T alors qu'il devrait indiquer ctrl+a q. De plus, il est souhaitable de pouvoir utiliser juste la touche 'q' pour quitter (comme avant le passage à tmux).
Ces problèmes ont déjà été corrigés à la source dans la version 1.0.4, mais cette correction n'a pas encore été appliquée sur Stretch.
En revanche il est possible de corriger temporairement (jusqu'à la prochaine mise à jour de apt-dater) le problème en utilisant les commandes suivantes (sous root) :
TMUX_HINT="/usr/local/lib/apt-dater_tmux-hint-1.0.4" cp -af /usr/lib/x86_64-linux-gnu/apt-dater/tmux-hint "$TMUX_HINT" sed -i -e '/\ttm_/d' -e '/ press /i \\ttmux bind-key -T root q kill-pane' -e '/ press /s/\$tm_pref \$tm_kill/'\''q'\''/' "$TMUX_HINT" for x in con ins upg ; do ln -nfs "$TMUX_HINT" "/etc/apt-dater/post-${x}.d/tmux-hint" ; done
Préparation de la prochaine migration vers Debian Buster
systemd (220-7) unstable; urgency=medium The mechanism for providing stable network interface names changed. Previously they were kept in /etc/udev/rules.d/70-persistent-net.rules which mapped device MAC addresses to the (arbitrary) name they got when they first appeared (i. e. mostly at the time of installation). As this had several problems and is not supported any more, this is deprecated in favor of the "net.ifnames" mechanism. With this most of your network interfaces will get location-based names. If you have ifupdown, firewall, or other configuration that relies on the old names, you need to update these by Debian 10/Ubuntu 18.04 LTS, and then remove /etc/udev/rules.d/70-persistent-net.rules. Please see /usr/share/doc/udev/README.Debian.gz for details about this. -- Martin Pitt <mpitt@debian.org> Mon, 15 Jun 2015 15:30:29 +0200
Retour de la commande systemctl is-enabled radvd (1)