{"id":2135,"date":"2022-02-06T17:37:52","date_gmt":"2022-02-06T16:37:52","guid":{"rendered":"https:\/\/blog.kodono.info\/wordpress\/?p=2135"},"modified":"2022-02-06T17:37:52","modified_gmt":"2022-02-06T16:37:52","slug":"mise-a-jour-dun-serveur-kimsufi-ovh-depuis-debian-10-buster-vers-debian-11-bullseye","status":"publish","type":"post","link":"https:\/\/blog.kodono.info\/wordpress\/2022\/02\/06\/mise-a-jour-dun-serveur-kimsufi-ovh-depuis-debian-10-buster-vers-debian-11-bullseye\/","title":{"rendered":"Mise \u00e0 jour d\u2019un serveur Kimsufi (OVH) depuis Debian 10 (Buster) vers Debian 11 (Bullseye)"},"content":{"rendered":"<p>Il faut r\u00e9guli\u00e8rement penser \u00e0 mettre \u00e0 jour son serveur Kimsufi.<\/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> pour cela.<\/p>\n<ol>\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>Pr\u00e9voir une connexion SSH depuis 2 emplacements si possible \u00e0 cause <a href=\"https:\/\/www.debian.org\/releases\/stable\/i386\/release-notes\/ch-information.fr.html#ssh-not-available\">d&#8217;un probl\u00e8me sur SSH<\/a> durant l&#8217;installation.<\/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>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 pouvez supprimer ces paquets 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;buster&#8221; de <code>\/etc\/apt\/sources.list<\/code> par des &#8220;bullseye&#8221; (on pourra par exemple utiliser <code>sed -i 's\/buster\/bullseye\/g' \/etc\/apt\/sources.list<\/code>)\n<p>On v\u00e9rifiera aussi les fichiers qui se trouvent dans <code>\/etc\/apt\/sources.list.d<\/code>, en modifiant par exemple <a href=\"https:\/\/mariadb.org\/download\/?t=repo-config&#038;d=Debian+11+%22Bullseye%22&#038;v=10.6&#038;r_m=mva\">la source pour MariaDB<\/a>.<\/p>\n<p>J&#8217;ai \u00e9galement d\u00fb remplacer la ligne <code>deb http:\/\/security.debian.org\/ bullseye\/updates main contrib non-free<\/code> de mon fichier <code>\/etc\/apt\/sources.list<\/code> par <code>deb http:\/\/security.debian.org\/debian-security bullseye-security main contrib non-free<\/code>.<\/p>\n<\/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-buster.time -a ~\/upgrade-buster.script<\/pre>\n<\/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<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 7.4 : <\/p>\n<pre class=\"brush:powershell\">apt-get install php7.4 php7.4-mysql<\/pre>\n<p>On s&#8217;assure ensuite de bien activer la bonne version, par exemple en passant de la v7.0 \u00e0 v7.4 :<\/p>\n<pre class=\"brush:powershel\">a2dismod php7.0\r\na2enmod php7.4<\/pre>\n<p>Et on red\u00e9marre Apache : <\/p>\n<pre class=\"brush:powershel\">systemctl restart apache2<\/pre>\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>Il faut r\u00e9guli\u00e8rement penser \u00e0 mettre \u00e0 jour son serveur Kimsufi. Je vais essayer d\u2019expliquer bri\u00e8vement les \u00e9tapes \u00e0 suivre pour cela. On v\u00e9rifie les probl\u00e8mes li\u00e9s \u00e0 la mise \u00e0 jour. Pr\u00e9voir une connexion SSH depuis 2 emplacements si possible \u00e0 cause d&#8217;un probl\u00e8me sur SSH durant l&#8217;installation. On va effectuer une mise \u00e0 [&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":[1,169,53],"tags":[146,172,161],"class_list":["post-2135","post","type-post","status-publish","format-standard","hentry","category-divers","category-francais","category-linux","tag-divers","tag-francais","tag-linux"],"_links":{"self":[{"href":"https:\/\/blog.kodono.info\/wordpress\/wp-json\/wp\/v2\/posts\/2135","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=2135"}],"version-history":[{"count":4,"href":"https:\/\/blog.kodono.info\/wordpress\/wp-json\/wp\/v2\/posts\/2135\/revisions"}],"predecessor-version":[{"id":2139,"href":"https:\/\/blog.kodono.info\/wordpress\/wp-json\/wp\/v2\/posts\/2135\/revisions\/2139"}],"wp:attachment":[{"href":"https:\/\/blog.kodono.info\/wordpress\/wp-json\/wp\/v2\/media?parent=2135"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.kodono.info\/wordpress\/wp-json\/wp\/v2\/categories?post=2135"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.kodono.info\/wordpress\/wp-json\/wp\/v2\/tags?post=2135"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}