Christophe Ti

(Christophe TREMBLAY-GUILLOUX)

Ingénieur système Linux – TJM: 630 € HT

L’impression d’être entouré ou conseillé par des soi-disant « Expert Linux » (avant qu’ils ne disparaissent du radar) ?

Christophe est l’ULTIME expert en système Linux, hébergement web et développement Puppet que vous garderez dans vos contacts… à vie.

Comment mettre à jour debian 11 vers 12 sur son VPS ?

Les conseils privés de Christophe Ti

Quelles sont les mystérieuses techniques que j’utilise pour vous fournir un serveur Linux Debian (ou hébergement web), fiable, performant et sécurisé, sans devoir monter la garde jour et nuit ?

Avant de mettre à jour debian 11 vers 12, voici quelques nouveautés à propos de Debian 12. Je vous conseille aussi de regarder la version complète rédigée par Debian.

1/ Quelles sont les nouveautés de Debian 12 utiles à savoir pour un VPS ?

1.1/ Voici la liste des paquets importants pour un VPS qui seront mis à jour s'ils sont installés :

Paquet

Version dans Debian 11

Version dans Debian 12

Apache

2.4.54

2.4.57

Dovecot

2.3.13

2.3.19

Exim

4.94

4.96

GnuPG

2.2.27

2.2.40

libc

2.31

2.36

Linux

5.10

6.1

MariaDB

10.5

10.11

Nginx

1.18

1.22

OpenLDAP

2.4.57

2.5.13

OpenSSH

8.4p1

9.2p1

Perl

5.32

5.36

PHP

7.4

8.2

Postfix

3.5

3.7

PostgreSQL

13

15

Python 3

3.9.2

3.11.2

systemd

247

252

1.2/ Remplacement du paquet NTP par NTPSEC

NTP est un protocole pour mettre à jour l’horloge du serveur.

Si vous avez déjà le paquet ntp, il sera remplacé par le paquet ntpsec qui est un dérivé du paquet ntp en sécurisé.

Si vous n’avez pas de démon ntp ou équivalent, ce sera le paquet systemd-timesyncd qui sera installé.

1.3/ Remplacement de Puppet 5 par Puppet 7

Attention : ne mettez pas à jour les serveurs qui ont l’agent puppet en version inférieur à 7 avant de mettre à jour le serveur qui a le puppetmaster.

Il faut toujours mettre à jour puppetmaster *avant* tous les autres serveurs.

1.4/ Remplacement (non forcé) de rsyslog par systemd-journald

C’est la partie désagréable pour les anciens.

Il est temps d’envisager de supprimer rsyslog au profit de systemd-journald et ses journaux binaires non lisibles par beaucoup d’outils que vous utilisez sûrement.

Après la migration à Debian 12, vous pouvez supprimer rsyslog avec ces commandes :

				
					apt-mark auto rsyslog
apt autoremove
				
			

Pour lire les journaux binaires, au lieu d’utiliser la commande tail (petit larme aux yeux), il faudra faire :

				
					journalctl -ef

				
			

Si vous gardez tout de même rsyslog (au moins pendant un temps), tous les logs seront écrits par défaut dans un seul fichier /var/log/syslog (les fichiers alternatifs peuvent être supprimés).

1.5/ Python3 : changement pour l'installation des paquets externes

Par défaut, il n’est pas autorisé d’installer des paquets python non packagé par Debian. Il est possible d’outre-passer cette interdiction.

Mais désormais, les paquets externes doivent être installés dans des environnements python isolés à l’aide de la commande pipx ou des environnements python (python -m venv).

2/ Comment mettre à jour Debian 11 vers 12 ?

Avant de mettre à jour, votre serveur doit être sauvegardé à distance, dans un autre datacenter. Et je conseille d’avoir aussi une copie chez un hébergeur indépendant et une copie chez soi.

ATTENTION : PHP 7.4 SERA REMPLAÇÉ PAR PHP 8.2 !!!

2.1/ Mettre à jour les fichiers source-list

Une nouvelle section de dépôt fait son apparition. Sur un serveur, en théorie, ça ne sera pas utile mais c’est possible de la mettre : non-free-firmware.

Dans les fichiers /etc/apt/sources.list ou /etc/apt/sources.list.d/*, remplacez bullseye par bookworm :

				
					deb http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware
deb http://deb.debian.org/debian bookworm-updates main contrib non-free non-free-firmware
deb http://security.debian.org bookworm-security main contrib non-free non-free-firmware

				
			

2.2/ Mise à jour de la liste des paquets disponibles

				
					apt update
				
			

2.3/ Mise à jour minimum

Ce processus permet de mettre à jour les paquets du système qui n’ajoute pas de nouvelles dépendances sur de nouveaux paquets ou qui n’en enlève pas :

				
					apt -o Apt::Get::Assume-Yes=true -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" upgrade --without-new-pkgs
				
			

2.4/ Vérification de l'espace disque avant mise à jour complète

Je conseille de nettoyer l’espace disque et de vérifier l’espace disponible avant la mis à jour complète :

				
					apt clean
apt --purge autoremove
apt -o APT::Get::Trivial-Only=true full-upgrade
				
			
				
					[ ... ]
XXX upgraded, XXX newly installed, XXX to remove and XXX not upgraded.
Need to get xx.xMB of archives. 
After this operation, AAAMB of additional disk space will be used.
				
			

S’il n’y a pas assez de place, il va s’afficher ce message :

				
					E: You don't have enough free space in /var/cache/apt/archives/.
				
			

2.5/ Mise à jour finale

				
					apt -o Apt::Get::Assume-Yes=true -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" full-upgrade
apt --purge autoremove
				
			

Si tout s’est bien passé :

				
					reboot
				
			

Quelle est la mystérieuse ingénierie qui me permet d'obtenir un serveur Linux fiable et performant, sans devoir monter la garde jour et nuit ?