>
## ||<#ff5050> {i} Stretch, est maintenant en [[https://wiki.debian.org/fr/LTS/Stretch|support à long terme (LTS) jusqu'en juin 2022]].||
## ||<#ff2020> {i} Stretch n'est définitivement [[https://www.debian.org/News/2022/202206xx|plus supportée depuis juin 2022]].||
||<#ffff50>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).
||<#ffcc00> /!\ '''ATTENTION :''' Cette page concerne la migration d'un serveur Debian déjà en 64 bits. /!\ <
> <
> Tous les serveurs Debian devant maintenant être installés en 64 bits (`amd64`). <
> Or '''il n'est pas possible de changer d'architecture via une mise à jour standard'''. <
> Si votre système est encore en 32 bits (`i386`), vous devriez plutôt envisager de le réinstaller. ||
'''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 [[Git/SuiviDeConfiguration|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 [[http://www.debian.org/releases/stretch/amd64/release-notes/ch-upgrading.fr.html|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 [[https://www.debian.org/releases/stretch/amd64/release-notes/ch-information.fr.html|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 [[Git/SuiviDeConfiguration|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 !! =
## . Aucun problème rencontré pour le moment…
== 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, [[https://www.debian.org/releases/stretch/amd64/release-notes/ch-information.fr.html#pie-is-now-default|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é<>, 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 [[https://bugs.debian.org/866180|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 [[DépôtAPT|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 Mon, 15 Jun 2015 15:30:29 +0200
}}}
----