{"id":827,"date":"2011-12-29T01:24:33","date_gmt":"2011-12-29T00:24:33","guid":{"rendered":"http:\/\/blog.kodono.info\/wordpress\/?p=827"},"modified":"2012-01-18T07:14:22","modified_gmt":"2012-01-18T06:14:22","slug":"mettre-a-jour-debian-lenny-vers-squeeze-retour-dexperience","status":"publish","type":"post","link":"https:\/\/blog.kodono.info\/wordpress\/2011\/12\/29\/mettre-a-jour-debian-lenny-vers-squeeze-retour-dexperience\/","title":{"rendered":"Mettre \u00e0 jour Debian Lenny vers Squeeze [retour d&#8217;exp\u00e9rience]"},"content":{"rendered":"<p>J&#8217;ai un serveur d\u00e9di\u00e9 chez OVH (un &#8220;Kimsufi&#8221;) et j&#8217;ai voulu faire la mise \u00e0 jour de Debian Lenny vers Squeeze.<\/p>\n<p>Vous trouverez toutes les informations n\u00e9cessaires sur cette page : <a href=\"http:\/\/www.debian.org\/releases\/stable\/i386\/release-notes\/ch-upgrading.fr.html\">http:\/\/www.debian.org\/releases\/stable\/i386\/release-notes\/ch-upgrading.fr.html<\/a>. Je vous conseille de suivre chaque \u00e9tape tr\u00e8s attentivement.<\/p>\n<p>Attention car chez OVH on peut se retrouver avec une modification, que j&#8217;explique un peu plus bas, \u00e0 faire dans \/etc\/init.d\/fixudev sur les headers manquants (<a href=\"http:\/\/refspecs.linuxfoundation.org\/LSB_3.1.0\/LSB-Core-generic\/LSB-Core-generic\/initscrcomconv.html\">d\u00e9tails sur les headers des fichiers de init.d<\/a>)&#8230;. vous devrez aussi v\u00e9rifier les autres scripts que vous avez pu mettre vous-m\u00eame dans \/etc\/init.d pour vous assurer qu&#8217;ils poss\u00e8dent tous un en-t\u00eate sinon vous aurez un message d&#8217;erreur durant la mise \u00e0 jour.<\/p>\n<p>Voici un bref r\u00e9sum\u00e9 des \u00e9tapes \u00e0 suivre (tout ce qui commence par # est une commande \u00e0 taper) :<\/p>\n<pre class=\"brush: vb\"># apt-get update &#038;& apt-get upgrade\r\n' une fois que votre syst\u00e8me est \u00e0 jour, v\u00e9rifier que vous avez bien la derni\u00e8re version du noyau mise \u00e0 disposition par OVH\r\n' pour cela visitez http:\/\/guide.ovh.com\/KernelInstall qui explique ce qu'il faut faire (deux fichiers \u00e0 t\u00e9l\u00e9charger puis un update-grub et un reboot!)\r\n' je vous conseille les versions avec grsec pour plus de s\u00e9curit\u00e9 (elles sont not\u00e9es \"-grs-\")\r\n' si vous n'\u00eates pas s\u00fbr du noyau que vous avez actuellement, vous pouvez le savoir en tapant:\r\n# uname -a\r\n' maintenant il va falloir faire une sauvegarde de votre machine, et en particulier :\r\n' le r\u00e9pertoire \/etc\/\r\n' le r\u00e9pertoire \/home\/\r\n' le r\u00e9pertoire qui contient vos sites web\r\n' vos bases SQL\r\n' ensuite, comme indiqu\u00e9 dans le tutoriel, vous devez sauvegarder certains \u00e9l\u00e9ments qui pourraient nous servir en cas de probl\u00e8me :\r\n# mkdir svg_special; cp -R \/var\/lib\/dpkg svg_special\/; cp \/var\/lib\/apt\/extended_states svg_special\/; dpkg --get-selections \"*\" > svg_special\/dpkg_get_selection\r\n' avant de continuer, il va falloir bidouiller le fichier \/etc\/init.d\/fixudev puisqu'il n'est pas conforme et va vous cr\u00e9er une erreur dans la suite\r\n' voici par quoi vous devez le remplacer :<\/pre>\n<pre class=\"brush: bash\">#! \/bin\/sh\r\n### BEGIN INIT INFO\r\n# Provides:          fixudev\r\n# Required-Start:\r\n# Required-Stop:\r\n# Default-Start:     S\r\n# Default-Stop:\r\n# Short-Description: remove fixed relation between MAC address and name of network device (00:15:f2:90:3e:a0 -> eth0)\r\n# Description:       remove fixed relation between MAC address and name of network device (00:15:f2:90:3e:a0 -> eth0)\r\n### END INIT INFO\r\n\r\ncase \"$1\" in\r\n  start)\r\n    # example:\r\n    # # PCI device 0x1106:0x3065 (via-rhine)\r\n    # SUBSYSTEM==\"net\", DRIVERS==\"?*\", ATTRS{address}==\"00:15:f2:90:3e:a0\", NAME=\"eth0\"\r\n\r\n    for interface in `ifconfig -a | grep -e \"^eth\"|cut -d' ' -f1`; do\r\n            MAC=`ifconfig $interface | grep -e \"^$interface\"|cut -d' ' -f11 | sed s\/\\:\/\\\\\\\\\\\\\\\\:\/g`\r\n    # removes actual mac\r\n    #       for file in `grep -i \"$MAC\" \/etc\/udev\/rules.d\/*|sort|uniq|cut -d':' -f1`; do\r\n    #               perl -ni -e \"print unless \/$MAC\/\" ${file} &#038;& \\\r\n    #                       echo \"removed HW address ${MAC} from ${file} (${interface})\"\r\n    #       done\r\n\r\n    # removes *ANY* mac\r\n            for file in `grep -re \"^SUBSYSTEM==\\\"net\\\".*NAME=\\\"${interface}\\\"$\" \/etc\/udev\/|sort|uniq|cut -d':' -f1`; do\r\n                    sed -i -e \"\/^SUBSYSTEM==\\\"net\\\".*NAME=\\\"${interface}\\\"$\/d\" ${file} &#038;& \\\r\n                            echo \"removed HW address from ${file} (${interface})\"\r\n            done\r\n    done\r\n    ;;\r\n  stop)\r\n    ;;\r\n\r\n  status)\r\n    echo \"Nothing here\";\r\n    ;;\r\n\r\n  restart|reload)\r\n    $0 start\r\n    ;;\r\n  *)\r\n    echo \"Usage: fixudev start\"\r\n    exit 1\r\nesac\r\nexit 1<\/pre>\n<pre class=\"brush: vb\">\r\n' maintenant il est conseill\u00e9 d'utiliser screen pour pouvoir se reconnecter (avec screen -r) \u00e0 en cas de d\u00e9connexion\r\n# screen\r\n' il existe un bug avec splashy c'est pourquoi il est dit de le purger\r\n# apt-get purge splashy\r\n' si la commande ci-dessous ne retourne rien, alors c'est bon, mais dans tous les cas consultez http:\/\/www.debian.org\/releases\/stable\/i386\/release-notes\/ch-upgrading.fr.html#package-status\r\n# dpkg --audit\r\n' maintenant il faut remplacer tous les \"lenny\" de \/etc\/apt\/sources.list par des \"squeeze\"\r\n' voici ce que \u00e7a donne chez moi :\r\n' deb http:\/\/ftp.fr.debian.org\/debian squeeze main non-free\r\n' deb ftp:\/\/mir1.ovh.net\/debian\/ squeeze main contrib non-free\r\n' deb-src ftp:\/\/mir1.ovh.net\/debian\/ squeeze main contrib non-free\r\n' deb http:\/\/security.debian.org\/ squeeze\/updates main contrib non-free\r\n' deb-src http:\/\/security.debian.org\/ squeeze\/updates main contrib non-free\r\n\r\n' il est recommand\u00e9 d'utiliser script qui permettra de sauvegarder ce qu'on va faire maintenant (qui pourra \u00eatre utile en cas de probl\u00e8me)\r\n# script -t 2>\/root\/upgrade-squeeze1.time -a \/root\/upgrade-squeeze1.script\r\n' on commence par mettre \u00e0 jour les listes des paquets\r\n# apt-get update\r\n' on va v\u00e9rifier qu'on a la place suffisante (un message explicite apparait sinon)\r\n# apt-get -o APT::Get::Trivial-Only=true dist-upgrade\r\n' on va maintenant d'abord faire une mise \u00e0 jour minimale\r\n# apt-get upgrade\r\n' l\u00e0 il va vous questionner... en g\u00e9n\u00e9ral choisissez l'option par d\u00e9faut si vous ne savez pas quoi r\u00e9pondre\r\n' \u00e0 noter qu'un nouveau php.ini va \u00eatre cr\u00e9er, et il est conseill\u00e9 d'y jeter un oeil pour voir les nouvelles options\r\n\r\n' une fois cette \u00e9tape un peu longue termin\u00e9e, il faut installer udev :\r\n# apt-get install udev\r\n' maintenant on teste pour voir si tout s'est bien pass\u00e9\r\n# reboot\r\n\r\n' [...]\r\n\r\n' normalement le serveur red\u00e9marre sans probl\u00e8me\r\n' on recommence \u00e0 lancer screen et on sauvegarde les \u00e9tapes suivantes avec script\r\n# screen\r\n# script -t 2>\/root\/upgrade-squeeze2.time -a \/root\/upgrade-squeeze2.script\r\n' maintenant on peut faire une mise \u00e0 jour compl\u00e8te !\r\n# apt-get dist-upgrade\r\n\r\n' chez moi il a supprim\u00e9 mysql et j'ai \u00e9t\u00e9 oblig\u00e9 de le r\u00e9installer :\r\n# apt-get install mysql-server mysql-client php5-mysql\r\n' un dernier reboot pour s'assurer que tout fonctionne normalement\r\n# reboot\r\n' et enfin on va nettoyer tous les paquets\r\n# apt-get autoremove<\/pre>\n<p>Si vous tombez sur ce genre de message :<\/p>\n<blockquote><p>Impossible de migrer vers le nouveau syst\u00e8me de d\u00e9marrage<br \/>\nDes tests ont montr\u00e9 que des probl\u00e8mes existent dans le syst\u00e8me de d\u00e9marrage qui emp\u00eachent la migration vers la nouvelle s\u00e9quence de d\u00e9marrage\u00a0:<br \/>\ninsserv: warning: script &#8216;XXXX&#8217; missing LSB tags and overrides, insserv: warning: script &#8216;YYYY&#8217; missing LSB tags and overrides,<br \/>\nSi le probl\u00e8me indiqu\u00e9 concerne une modification locale, vous devrez le r\u00e9parer vous-m\u00eame. Si c&#8217;est un bogue dans un paquet, il devrait \u00eatre signal\u00e9 dans le syst\u00e8me de suivi des bogues (BTS) et corrig\u00e9 dans le paquet. Veuillez lire<br \/>\n\u00ab\u00a0http:\/\/wiki.debian.org\/LSBInitScripts\/DependencyBasedBoot\u00a0\u00bb pour plus d&#8217;informations sur les m\u00e9thodes de r\u00e9solution des probl\u00e8mes emp\u00eachant la transition.<br \/>\nUne fois que les probl\u00e8mes ont \u00e9t\u00e9 corrig\u00e9s, vous pouvez r\u00e9essayer la migration avec la commande \u00ab\u00a0dpkg-reconfigure sysv-rc\u00a0\u00bb.<\/p><\/blockquote>\n<p>C&#8217;est que vous devez aller modifier manuellement les fichiers correspondant \u00e0 XXXX et YYYY qui se trouvent dans <code>\/etc\/init.d\/<\/code>. L&#8217;origine est que l&#8217;en-t\u00eate sp\u00e9cial est manquante, ainsi que les fonctions start\/stop.<br \/>\nLe squelette de votre fichier devrait \u00eatre :<\/p>\n<pre class=\"brush: bash\">\r\n#! \/bin\/sh\r\n### BEGIN INIT INFO\r\n# Provides:          nom de votre script\r\n# Required-Start:\r\n# Required-Stop:\r\n# Default-Start:     S\r\n# Default-Stop:\r\n# Short-Description: Une description du script\r\n# Description:       Une description du script\r\n### END INIT INFO\r\n\r\ncase \"$1\" in\r\n  start)\r\n    # votre code\r\n    echo \"XXXX started!\"\r\n    ;;\r\n  stop)\r\n    echo \"XXXX stopped...\"\r\n    ;;\r\n\r\n  status)\r\n    echo \"Nothing here\";\r\n    ;;\r\n\r\n  restart|reload)\r\n    $0 stop\r\n    $0 start\r\n    ;;\r\n  *)\r\n    echo \"Usage: XXXX {start|stop|restart|status}\"\r\n    exit 1\r\nesac\r\nexit 1<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>J&#8217;ai un serveur d\u00e9di\u00e9 chez OVH (un &#8220;Kimsufi&#8221;) et j&#8217;ai voulu faire la mise \u00e0 jour de Debian Lenny vers Squeeze. Vous trouverez toutes les informations n\u00e9cessaires sur cette page : http:\/\/www.debian.org\/releases\/stable\/i386\/release-notes\/ch-upgrading.fr.html. Je vous conseille de suivre chaque \u00e9tape tr\u00e8s attentivement. Attention car chez OVH on peut se retrouver avec une modification, que j&#8217;explique un [&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":[53,20],"tags":[77,126,161,155],"class_list":["post-827","post","type-post","status-publish","format-standard","hentry","category-linux","category-niveau-expert","tag-debian","tag-howto","tag-linux","tag-niveau-expert"],"_links":{"self":[{"href":"https:\/\/blog.kodono.info\/wordpress\/wp-json\/wp\/v2\/posts\/827","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=827"}],"version-history":[{"count":12,"href":"https:\/\/blog.kodono.info\/wordpress\/wp-json\/wp\/v2\/posts\/827\/revisions"}],"predecessor-version":[{"id":837,"href":"https:\/\/blog.kodono.info\/wordpress\/wp-json\/wp\/v2\/posts\/827\/revisions\/837"}],"wp:attachment":[{"href":"https:\/\/blog.kodono.info\/wordpress\/wp-json\/wp\/v2\/media?parent=827"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.kodono.info\/wordpress\/wp-json\/wp\/v2\/categories?post=827"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.kodono.info\/wordpress\/wp-json\/wp\/v2\/tags?post=827"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}