{"id":2413,"date":"2025-05-04T12:50:10","date_gmt":"2025-05-04T10:50:10","guid":{"rendered":"https:\/\/blog.kodono.info\/wordpress\/?p=2413"},"modified":"2025-05-04T12:56:59","modified_gmt":"2025-05-04T10:56:59","slug":"mise-a-jour-dun-serveur-kimsufi-ovh-depuis-debian-11-bullseye-vers-debian-12-bookworm","status":"publish","type":"post","link":"https:\/\/blog.kodono.info\/wordpress\/2025\/05\/04\/mise-a-jour-dun-serveur-kimsufi-ovh-depuis-debian-11-bullseye-vers-debian-12-bookworm\/","title":{"rendered":"Mise \u00e0 jour d\u2019un serveur Kimsufi (OVH) depuis Debian 11 (Bullseye) vers Debian 12 (Bookworm)"},"content":{"rendered":"<p>Cette mise \u00e0 jour est similaire \u00e0 ce qui a pu \u00eatre fait pr\u00e9c\u00e9demment.<\/p>\n<p>Je vais essayer d\u2019expliquer bri\u00e8vement <a href=\"https:\/\/www.debian.org\/releases\/stable\/i386\/release-notes\/ch-upgrading.fr.html\">les \u00e9tapes \u00e0 suivre<\/a>.<\/p>\n<ol>\n<li>D&#8217;abord s&#8217;assurer de la version actuelle de Debian avec la commande suivante :\n<pre class=\"brush:powershell\">lsb_release -a<\/pre>\n<\/li>\n<li>On v\u00e9rifie <a href=\"https:\/\/www.debian.org\/releases\/stable\/i386\/release-notes\/ch-information.fr.html\">les probl\u00e8mes li\u00e9s \u00e0 la mise \u00e0 jour<\/a>.<\/li>\n<li>Il est recommand\u00e9 d&#8217;utiliser le programme <code>\/usr\/bin\/script<\/code> pour enregistrer une transcription de la session de mise \u00e0 niveau. Ainsi, quand un probl\u00e8me survient, on a un enregistrement de ce qui s&#8217;est pass\u00e9. Pour d\u00e9marrer un enregistrement, taper :\n<pre class=\"brush:powershell\">script -t 2>~\/upgrade-debian.time -a ~\/upgrade-debian.script<\/pre>\n<\/li>\n<li>On va effectuer une mise \u00e0 jour des paquets avec <code>apt-get update &#038;& apt-get upgrade<\/code><\/li>\n<li>On va sauvegarder les donn\u00e9es :\n<pre class=\"brush:powershell\">mkdir \/root\/svg_special; cp -R \/var\/lib\/dpkg \/root\/svg_special\/; cp \/var\/lib\/apt\/extended_states \/root\/svg_special\/; dpkg --get-selections \"*\" > \/root\/svg_special\/dpkg_get_selection; cp -R \/etc \/root\/svg_special\/etc<\/pre>\n<\/li>\n<li>Si vous utilisez MariaDB, il peut \u00eatre bien de faire une sauvegarde compl\u00e8te des bases de donn\u00e9es :\n<pre class=\"brush:powershell\">mysqldump -u root -p --all-databases > \/root\/svg_special\/backup-bdd.sql<\/pre>\n<\/li>\n<li>Ensuite il est conseill\u00e9 d&#8217;utiliser <code>screen<\/code> pour pouvoir se reconnecter (avec <code>screen -r<\/code>) \u00e0 en cas de d\u00e9connexion :\n<pre class=\"brush:powershell\">screen<\/pre>\n<\/li>\n<\/li>\n<li>Le processus de mise \u00e0 niveau d\u00e9crit <a href=\"https:\/\/www.debian.org\/releases\/stable\/i386\/release-notes\/ch-upgrading.fr.html\">sur le site de Debian<\/a> a \u00e9t\u00e9 con\u00e7u pour des mises \u00e0 niveau des syst\u00e8mes \u00ab purs \u00bb sans paquet provenant d&#8217;autres sources. Pour une meilleure fiabilit\u00e9 du processus de mise \u00e0 niveau, vous pourriez vouloir supprimer ces paquets tiers du syst\u00e8me avant de commencer la mise \u00e0 niveau :\n<pre class=\"brush:bash\">aptitude search '~i(!~ODebian)'<\/pre>\n<\/li>\n<li>On peut \u00e9ventuellement purger les vieux paquets obsol\u00e8tes. Pour cela on va d&#8217;abord les lister, puis on peut les purger si tout semble bon:\n<pre class=\"brush:bash\">aptitude search '~o'\r\naptitude purge '~o'<\/pre>\n<\/li>\n<li>On peut lancer la commande <code>dpkg --audit<\/code> pour s&#8217;assurer que tout est bon avant la migration. On peut \u00e9galement taper <code>dpkg --get-selections \"*\" | more<\/code> et v\u00e9rifier qu&#8217;aucun paquet n&#8217;est en <em>on hold<\/em><\/li>\n<li>Maintenant il faut remplacer tous les &#8220;bullseye&#8221; de <code>\/etc\/apt\/sources.list<\/code> par des &#8220;bookworm&#8221;.<br \/>\nOn pourra par exemple utiliser la commande suivante : <\/p>\n<pre class=\"brush:powershell\">sed -i 's\/bullseye\/bookworm\/g' \/etc\/apt\/sources.list<\/pre>\n<p>Si vous utilisez le d\u00e9p\u00f4t &#8220;non-free&#8221; de Debian 11 (ouvrez le fichier <code>\/etc\/apt\/sources.list<\/code> pour voir si vous avez des lignes qui contiennent le mot-cl\u00e9 &#8220;non-free&#8221;), alors il y a une modification suppl\u00e9mentaire \u00e0 effectuer : il faut ajouter &#8220;<strong>non-free-firmware<\/strong>&#8221; \u00e0 la suite du mot-cl\u00e9 &#8220;non-free&#8221;.<br \/>\nPar exemple, la ligne <code>deb http:\/\/security.debian.org\/debian-security bookworm-security main contrib non-free<\/code> deviendra <code>deb http:\/\/security.debian.org\/debian-security bookworm-security main contrib non-free non-free-firmware<\/code><br \/>\nOn pourra par exemple utiliser la commande suivante : <\/p>\n<pre class=\"brush:powershell\">sed -i 's\/non-free\/non-free non-free-firmware\/g' \/etc\/apt\/sources.list<\/pre>\n<p>On v\u00e9rifiera aussi les fichiers qui se trouvent dans <code>\/etc\/apt\/sources.list.d<\/code> afin <strong>d&#8217;y effectuer les m\u00eames modifications<\/strong>.<\/li>\n<li>On passe aux choses s\u00e9rieuses, en commen\u00e7ant par mettre \u00e0 jour les listes des paquets :\n<pre class=\"brush:powershell\">apt-get update<\/pre>\n<\/li>\n<li>On va v\u00e9rifier qu&#8217;on a la place suffisante (un message explicite apparait sinon) :\n<pre class=\"brush:powershell\">apt -o APT::Get::Trivial-Only=true full-upgrade<\/pre>\n<\/li>\n<li>On va maintenant faire une mise \u00e0 jour minimale :\n<pre class=\"brush:powershell\">apt-get upgrade<\/pre>\n<\/li>\n<li>Et \u00e0 partir de l\u00e0 le syst\u00e8me va vous questionner&#8230; en g\u00e9n\u00e9ral choisir l&#8217;option par d\u00e9faut si vous ne savez pas quoi r\u00e9pondre<\/li>\n<li>Puis on continue avec\n<pre class=\"brush:powershell\">apt full-upgrade<\/pre>\n<\/li>\n<\/ol>\n<p>Cette derni\u00e8re \u00e9tape va durer un certain temps. Une fois termin\u00e9, vous pouvez red\u00e9marrer le serveur pour s&#8217;assurer que tout va bien.<\/p>\n<h3>PHP<\/h3>\n<p>Il est bien de v\u00e9rifier que la version actuelle de PHP est correctement utilis\u00e9e par Apache et qu&#8217;elle correspond \u00e0 ce qu&#8217;on veut. Pour cela on v\u00e9rifie la version avec:<\/p>\n<pre class=\"brush:powershell\">php -v<\/pre>\n<p>Ensuite on regarde les versions de PHP disponibles dans les modules d&#8217;Apache :<\/p>\n<pre class=\"brush:powershell\">ls -l \/etc\/apache2\/mods-available\/php*<\/pre>\n<p>Et on regarde celle activ\u00e9e :<\/p>\n<pre class=\"brush:powershell\">ls -l \/etc\/apache2\/mods-enabled\/php*<\/pre>\n<p>On regarde \u00e9galement dans le dossier des modules pour v\u00e9rifier quelle version on a : <\/p>\n<pre class=\"brush:powershell\">ls -l \/etc\/apache2\/modules\/libphp*<\/pre>\n<p>Si la version souhait\u00e9e est manquante dans les modules, alors on l&#8217;installe, par exemple pour la 8.4 : <\/p>\n<pre class=\"brush:powershell\">apt-get install php8.4 php8.4-mysql<\/pre>\n<p>On s&#8217;assure ensuite de bien activer la bonne version, par exemple en passant de la v7.4 \u00e0 v8.4 :<\/p>\n<pre class=\"brush:powershel\">a2dismod php7.4\r\na2enmod php8.4<\/pre>\n<p>Et on red\u00e9marre Apache : <\/p>\n<pre class=\"brush:powershel\">systemctl restart apache2<\/pre>\n<h3>MariaDB<\/h3>\n<p>Cela peut \u00eatre l&#8217;occasion de <a href=\"https:\/\/mariadb.org\/download\/?t=repo-config&#038;d=Debian+12+%22Bookworm%22&#038;v=11.4&#038;r_m=mva\">mettre \u00e0 jour MariaDB<\/a>. Si vous aviez un fichier <code>\/etc\/apt\/sources.list.d\/mariadb.list<\/code>, vous pouvez le supprimer et le remplacer par le fichier <code>mariadb.sources<\/code> comme indiqu\u00e9 dans la documentation de MariaDB.<\/p>\n<p>Puis, comme indiqu\u00e9 dans la doc : <\/p>\n<pre class=\"brush:powershel\">apt-get update\r\napt-get install mariadb-server<\/pre>\n<h3>Pour finir<\/h3>\n<p>Une fois les erreurs corrig\u00e9es, on va nettoyer tous les paquets avec :<\/p>\n<pre class=\"brush:powershell\">apt-get autoremove<\/pre>\n<p>Note : pour arr\u00eater <code>screen<\/code> on fait <code>CTRL + A<\/code> puis <code>k<\/code>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Cette mise \u00e0 jour est similaire \u00e0 ce qui a pu \u00eatre fait pr\u00e9c\u00e9demment. Je vais essayer d\u2019expliquer bri\u00e8vement les \u00e9tapes \u00e0 suivre. D&#8217;abord s&#8217;assurer de la version actuelle de Debian avec la commande suivante : lsb_release -a On v\u00e9rifie les probl\u00e8mes li\u00e9s \u00e0 la mise \u00e0 jour. Il est recommand\u00e9 d&#8217;utiliser le programme \/usr\/bin\/script [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_coblocks_attr":"","_coblocks_dimensions":"","_coblocks_responsive_height":"","_coblocks_accordion_ie_support":"","hide_page_title":"","footnotes":""},"categories":[23,169,53,20],"tags":[156,172,161,152],"class_list":["post-2413","post","type-post","status-publish","format-standard","hentry","category-debug","category-francais","category-linux","category-niveau-expert","tag-debug","tag-francais","tag-linux","tag-niveau-intermediaire"],"_links":{"self":[{"href":"https:\/\/blog.kodono.info\/wordpress\/wp-json\/wp\/v2\/posts\/2413","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.kodono.info\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.kodono.info\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.kodono.info\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.kodono.info\/wordpress\/wp-json\/wp\/v2\/comments?post=2413"}],"version-history":[{"count":8,"href":"https:\/\/blog.kodono.info\/wordpress\/wp-json\/wp\/v2\/posts\/2413\/revisions"}],"predecessor-version":[{"id":2421,"href":"https:\/\/blog.kodono.info\/wordpress\/wp-json\/wp\/v2\/posts\/2413\/revisions\/2421"}],"wp:attachment":[{"href":"https:\/\/blog.kodono.info\/wordpress\/wp-json\/wp\/v2\/media?parent=2413"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.kodono.info\/wordpress\/wp-json\/wp\/v2\/categories?post=2413"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.kodono.info\/wordpress\/wp-json\/wp\/v2\/tags?post=2413"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}