--- categories: web title: Howto Migration Stretch vers Buster ... Release Notes amd64 : ## Debian Buster ? Debian Buster aka Debian 10 est une version majeure de Debian publiée le 6 Juillet 2019. Dans les changements notables de la distribution, on note : * Apache 2.4.25 → 2.4.38 * Nginx 1.10 → 1.14 * PHP 7.0 → 7.3 * MariaDB 10.1 → 10.3 * Postgresql 9.6 → 11 * OpenJDK 8 → 11 * Noyau Linux 4.9 → 4.19 * LXC 2 → 3 * CUPS 2.2.1 → 2.2.10 ## Actions préalables Nous conseillons quelques actions qui aideront en cas de problème. Sauvegarder localement certaines ressources (dans `/home/backup/stretch` par exemple) ~~~ # cat before-upgrade.sh cd /etc git add . git commit -am "Commit balai avant upgrade en Buster" mkdir -p /home/backup/stretch/ cd /home/backup/stretch cp -r /etc ./ mkdir -p var/lib/apt cp -r /var/lib/dpkg ./var/lib/ cp -r /var/lib/apt/extended_states ./var/lib/apt/ dpkg --get-selections "*" > ./current_packages.txt uptime > uptime.txt ps auwx > ps.out pstree -pan > pstree.out ss -tanpul > listen.out ~~~ ## Mise à jour du système Éditer les dépôts dans `/etc/apt/sources.list` et `/etc/apt/sources.list.d/*.list` pour remplacer _stretch_ par _buster_. ~~~ # cat /etc/apt/sources.list deb http://mirror.evolix.org/debian buster main deb http://mirror.evolix.org/debian/ buster-updates main deb http://security.debian.org/debian-security buster/updates main # cat /etc/apt/sources.list.d/evolix_public.list deb http://pub.evolix.net/ buster/ ~~~ ~~~ # sed -i 's/stretch/buster/g' /etc/apt/sources.list /etc/apt/sources.list.d/*.list ~~~ Si il y a des backports... **les désactiver** car en général ils ne sont plus nécessaires ! (si vraiment ils doivent être conservés, à mettre dans _/etc/apt/preferences.d/0-backports-defaults_ et s'assurer d'un pinning correct) Puis mettre à jour le cache APT avec la commande : ~~~ # apt update ~~~ Commencer par télécharger l'ensemble des paquets qui devront être installés (afin de limiter le temps effectif d'installation). ~~~ # apt dist-upgrade --download-only ~~~ Faire ensuite une mise à niveau "simple", pour appliquer les mises à jour triviales : ~~~ # apt upgrade ~~~ Attention, si MySQL/MariaDB est installé, il faut stopper les instances supplémentaires car non gérées lors de la mise à jour (et cela va casser avec *There is a MySQL server running, but we failed in our attempts to stop it*) : ~~~ # mysqld_multi stop ~~~ Ensuite, appliquer les mises à jour non triviales (nécessitant des changements de paquets dépendants, des suppressions…) afin d'avoir un œil plus précis sur ce qui sera fait, avant de valider : ~~~ # apt dist-upgrade ~~~ Puis lancer le nettoyage des vieux packages en lisant attentivement la liste… en cas de doute, réinstaller le paquet ! ~~~ # apt autoremove ~~~ Enfin, il faut redémarrer sur le nouveau noyau Linux installé : ~~~ # reboot ~~~ ## PATH / su Lorsque l'on utilise `su` cela ne change plus automatiquement le PATH. Soit il faut prendre l'habitude faire `su -`, soit il faut ajouter `ALWAYS_SET_PATH yes` dans le fichier `/etc/login.defs` (mais cela génère un message d'erreur pour un certain nombre d'applications...) Pour plus d'informations, voir `/usr/share/doc/util-linux/NEWS.Debian.gz` ou ## MariaDB ** ToDo ** > Remarque: MariaDB 10.2 a introduit un changement de la valeur de [`SQL_MODE`](https://mariadb.com/kb/en/library/sql-mode/), avec notamment l'ajout de `STRICT_TRANS_TABLES` qui vas rendre MariaDB plus strict sur les transactions. Il se peut que, dans certains cas, l'activation de ce mode soit problématique pour des applications assez anciennes. ## X.Org En cas de clavier/souris inactif, il peut être nécessaire d'ajouter l'utilisateur dans le groupe `input` ## PHP Il faut parfois forcer le passage à PHP 7.3 : ~~~ # apt remove libapache2-mod-php7.0 && a2enmod php7.3 && /etc/init.d/apache2 restart ~~~ puis nettoyer les anciens paquets php7.0-* ## Nautilus sous XFCE Si vous avez de la difficulté à ouvrir des fichiers dans Nautilus sous XFCE, cela peut venir d'un problème avec `exo-utils`. Un contournement est disponible ici :