<<TableOfContents()>>
## ||<#ff5050> {i} Buster, est maintenant en [[https://wiki.debian.org/fr/LTS/Buster|support à long terme (LTS) jusqu'en juin 2024]].||
## ||<#ff2020> {i} Buster n'est définitivement [[https://www.debian.org/News/2024/202406xx|plus supportée depuis juin 2024]].||

||<#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 Stretch (9.x) vers Debian Buster (10.x).

||<#ffcc00> /!\ '''ATTENTION :''' Cette page concerne la migration d'un serveur Debian déjà en 64 bits. /!\ <<BR>> <<BR>> Tous les serveurs Debian devant maintenant être installés en 64 bits (`amd64`). <<BR>> Or '''il n'est pas possible de changer d'architecture via une mise à jour standard'''. <<BR>> Si votre système est encore en 32 bits (`i386`), vous '''DEVEZ''' le réinstaller. ||

'''Pour connaître la technique conseillée pour installer Debian à l'AUF, consultez la page [[Debian]].'''

= Migration de Stretch vers Buster =
== 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/buster/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/buster/amd64/release-notes/ch-information.fr.html|les problèmes à connaître pour Buster]].
 . (!) 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 ('''et DEVREZ''') 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 ('''c'est important !! risque de régression à défaut !!'''), 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…

== iptables vs nftables vs ufw ==

Les `iptables` [[https://www.debian.org/releases/buster/amd64/release-notes/ch-whats-new.fr.html#nftables|disparaissent]] au profit de `nftables` (netfilter). Sauf que la migration n'est pas toujours évidente en cas de règles complexes…

Un palliatif temporaire est de lancer `update-alternatives --config iptables` et de choisir `iptables-legacy`. Cela permet de continuer à utiliser `iptables` pour le moment, jusqu'à ce que Debian décide de le retirer (possiblement dans la prochaine version).

Mais [[ProgFou|ma]] recommandation est soit de passer à `ufw` (quand il s'agit d'un hôte) qui simplifie grandement la maintenance et est supporté par Ansible, soit de vous mettre effectivement à `nftables` (quand il s'agit d'une passerelle/routeur/pare-feu).

== MySQL ==

Avec le passage à MariaDB, les configurations locales ne sont plus à faire dans `/etc/mysql/conf.d/local.cnf` mais plutôt dans `/etc/mysql/mariadb.conf.d/90-local.cnf`. Il faut donc penser à rapporter toutes ou parties des lignes du premier vers ce dernier.

Un point particulièrement important est la directive `bind-address` qui est bien lue depuis notre `/etc/mysql/conf.d/local.cnf` mais surchargée ensuite par celle dans `/etc/mysql/mariadb.conf.d/50-server.cnf` qui limite aux seuls accès locaux à la machine.

----