S’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.)
Faire ensuite une mise à niveau sans nouveaux paquets, pour appliquer les mises à jour triviales :
~~~
# apt upgrade --without-new-pkgs
~~~
Faire ensuite une mise à niveau avec nouveaux paquets mais sans désinstallations :
~~~
# apt upgrade --with-new-pkgs
~~~
**TODO: à vérifier**
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 full-upgrade
~~~
Puis lancer le nettoyage des vieux paquets 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é :
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 <http://bugs.debian.org/918754>
**S'il y a plusieurs instances**, il faut l'exécuter pour chacune avec le port en argument : `mysql_upgrade -p <PORT>`
Si vous rencontrez cette erreur :
~~~
Instance 3307: slave query error: Access denied; you need (at least one of) the SUPER, SLAVE MONITOR privilege(s) for this operation
~~~
C'est que vous avez oublié d'exécuter `mysql_upgrade -p <PORT>` sur une instance ou ne s'est pas terminé correctement. En effet, les permissions de monitoring ont changé entre MariaDB 10.3 et 10.5 et `mysql_upgrade` les met à jour automatiquement.
Ce changement fait que lors de la mise à jour de MariaDB 10.3 à 10.5, le fichier `.mysql_history` est effacé, on sauvegardera le fichier avant la mise à jour :
PHPMyAdmin a fait son retour dans les paquets Debian. Si vous l'aviez installé par les sources en Debian 10, vous pouvez le désinstaller et remettre le paquet.
Si des conteneurs LXC sont configurés, il faut installer `lxc-templates` et `apparmor` afin d'installer des configurations nécessaires à leur fonctionnement.
Cela ne pose pas de problème en soi pour LXC, qui supporte cgroupv2 sous Bullseye **mais** cela peut provoquer des problèmes pour les conteneurs dont l'init dépend de cgroupv1 (tel que Debian 8), dans le cas où le support pour ces conteneurs est nécessaire il faut modifier la ligne de commande du noyau Linux **de l'hôte** en changeant `/etc/default/grub`:
Si ProFTPd bloque à la mise à jour, il faut vérifier la syntaxe de la configuration avec `proftpd -t`. Si le souci vient de `IdentLookups`, on peut appliquer ce diff :
~~~{.diff}
@@ -10,7 +10,10 @@ Include /etc/proftpd/modules.conf
# Set off to disable IPv6 support which is annoying on IPv4 only boxes.
UseIPv6 on
# If set on you can experience a longer connection delay in many cases.
Pour que `shelldap` demande la saisie du mot de passe, il est nécessaire de modifier la configuration (généralement `~/.shelldap.rc`), en ajoutant la ligne suivante :
## Check_rabbitmq en erreur, module requests introuvable
Le check rabbitmq que nous utilisons pour notamment le check icinga `rab_connection_count` est en python2, et certains module python2 ne sont plus disponible en debian 11 :
~~~
Traceback (most recent call last):
File "/usr/local/lib/nagios/plugins/check_rabbitmq", line 6, in <module>
import requests
ImportError: No module named requests
~~~
Pour le check `rab_connection_count` nous n'avons pas besoin des appels au modules request, on peux donc commenter le module dans le script `/usr/local/lib/nagios/plugins/check_rabbitmq``:
Il est possible que certains paquets (notamment les paquets php en `phpX.Y-*`) ne soient pas supprimés par le `apt autoremove` lors de la mise à jour alors qu'ils ne sont plus dans les dépôts Debian. Il est possible de lister et supprimer ces paquets avec les commandes suivantes :