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é :
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...)
> 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.
Garder en tête que Buster n'a pas le paquet PHPMyAdmin dans ses dépots principaux mais dans les dépots backports et que la version utilisée dans stretch n'est pas compatible avec les PHP 7.3.x. Il faut donc ajouter et configurer les dépots backports pour le mettre à jour.
Si des conteneurs LXC sont configurés, il faut installer lxc-templates et apparmor afin d'installer des configurations nécessaire à leur fonctionnement.
La commande iptables change entre Debian 9 et 10. Si on rencontre des soucis de firewall en cours de route on peut utiliser la commande `iptables-legacy` et éventuellement purger les tables de NAT avec `iptables-legacy -t nat -F`.
## libvirt
~~~
Errors were encountered while processing:
libvirt-daemon-system
~~~
Il faut stopper `virtlogd-admin.socket` puis relancer l'upgrade.
il faut autorisé le chemin **/etc/ceph/** dans la configuration de apparmor dans **/etc/apparmor.d/abstractions/libvirt-qemu** et rajouter ces lignes :
~~~
/etc/ceph/ r,
/etc/ceph/* r,
~~~
### Moniteur Ceph inaccessible avec une mise à jour du client en Ceph 14
Si un **ceph -s** ne répond pas suite a une mise à jour de Ceph en version 14, il faut vérifié que le port **3300** est bien accessible depuis le client vers le cluster Ceph.