Mise à jour de Debian Bullseye vers Debian Bookworm

  1. On commence par sauvegarder ses données et configurations.
  2. On s’assure qu’on est à jour sur notre version actuelle de Debian 11.
    apt update
    apt full-upgrade
    apt --purge autoremove
  3. On met à jour les dépôts avec la nouvelle version de Debian 12 grâce au fichier /etc/apt/sources.list et ceux présents dans /etc/apt/sources.list.d/.
    • On remplace les termes bullseye par bookworm.
    • S’il y a la présence de la valeur non-free, on ajoute aussi la valeur non-free-firmware juste après.
  4. On peut maintenant lancer la mise à jour du système vers Debian 12.
    apt update
    apt upgrade
    apt full-upgrade
  5. On redémarre le système.
    reboot
  6. On termine par retirer les paquets qui ne sont plus utiles.
    apt --purge autoremove

Impacts de la version PHP 8.2

En mettant à jour vers Debian 12, la version de PHP embarquée passe de la 7.4 à la 8.2, ce qui peut entrainer des erreurs sur des services ou applications pas mises à jour, ou plus maintenues.

Nextcloud

Ma version actuelle de Nextcloud ne fonctionnait plus avec PHP 8.2 : elle n’était pas compatible. J’ai simplement téléchargé la version suivante compatible avec PHP 8.2 et remplacé le dossier du moteur de Nextcloud.

À partir de là, j’ai pu lancer la mise à jour via la ligne de commande, et tout est revenu en ordre.

Dynamic property

J’utilise un lecteur de flux RSS qui n’est (malheureusement) plus maintenu, mais qui fonctionne très bien. Sauf qu’il charge des propriétés dynamiques, ce qui est déprécié dans PHP 8.2 et entraine des erreurs comme « Creation of dynamic property is deprecated ».

En suivant la recommandation de PHP 8.2: Dynamic Properties are deprecated, j’ai préfixé les classes problématiques avec l’attribut #[AllowDynamicProperties], et me voilà reparti pour un tour.