Articles avec le tag ‘Netinstall’
20100609 – Quelles leçons pourrions nous tirer d’une mise à jour foireuse d’une Debian Sid
Éviter de présenter simultanément la mise à jour des paquets importants du système avec celle des gros gestionnaires de fenêtres (KDE et Gnome) (message aux mainteneurs Debian si par un heureux hasard l’un d’eux nous lisait) :
Comme je l’ai lu ailleurs, je suis d’accord pour dire qu’une Debian Sid représente un bon compromis entre stabilité et fraîcheur des mises à jours (quotidienne, contrairement aux distros classiques qui font des pas de plusieurs mois mais vous offrent en contre-partie un assemblage testé).
Sauf qu’en plus de ces mises à jours quotidiennes des paquets, en moyenne une fois par an vous tombe dessus une avalanche de paquets liés à de nouvelles versions de KDE ou Gnome. Le souci c’est qu’au milieu de ces innombrables paquets viennent se mêler des mises à jours simultanées de paquets importants qu’il est difficile/pénible de dissocier du reste (du fait des dépendances entre paquets).
Pour exemple, lors de cette récente migration vers KDE 4.4.4, j’ai dénombré ces mises à jour simultanées (paquets importants) : bsdutils, dpkg, e2fslibs, e2fsprogs, grub2, grub-common, grub-pc, initramfs-tools, initscripts, libc6, libc-bin, libcomerr2, liblzma2, libpopt0, libsepol1, libss2, libssl0.9.8, libtasn1-3, libuuid1, locales, mount, sysvinit-utils, sysv-rc, udev, util-linux, vim-common, vim-tiny, xz-utils et je dois en oublier un ou deux encore … sans parler des mises à jour de versions dérivées du noyau 2.6.32 (nous ne sommes pas arrivé au 2.6.35
.
En mettant tout çà à jour d’un coup, nous mettons toutes les chances de notre côté d’arriver à un beau plantage au milieu de nulle part, avec des paquets à moitié configurés, sans accès Xorg, sans accès internet, avec une console aride comme principal outil, nous offrant aussi le plaisir indescriptible du retour au papier et au bon vieux crayon pour noter les messages importants lorsqu’on en a le temps (si vous avez en plus des soucis avec les locales – ce qui a été en plus mon cas cette fois-ci).
Ajoutez que dans bien des cas, le système ne démarre plus, que cette console est celle obtenue à partir d’un CDROM de récupération/netinstall Debian, avec un bash minimaliste (où la ré-édition des lignes est parfois foireuse), que nano l’éditeur de texte ne fonctionne pas dans certains cas (contrairement à vi qui est encore plus aride
, qu’après chaque test de démarrage infructueux il faut reprendre le démarrage à partir du CDROM, recommencer éventuellement le paramétrage réseau (si vous souhaitez installer éventuellement d’autres paquets complémentaires), recommencer les montages, que le changement de version de paquet à l’aide de la commande dpkg nécessite de saisir des noms de paquets à rallonge, etc …et vous obtenez un tableau assez fidèle
.
L’autre souci c’est qu’au lieu de vous retrouver avec une piste de recherche (vous venez de mettre à jour 2 paquets importants la veille : vous constatez un dysfonctionnement, pas besoin d’aller chercher plus loin pour réparer), vous vous retrouvez avec autant de pistes potentielles que de paquets en rapport.
Certains dirons qu’une Debian Sid est faite pour les tests (en plus de la version ‘Expérimentale’). C’est à la fois vrai et tellement dommage, car le restant de l’année elle fonctionne vraiment comme une horloge et elle est certainement très près du Nirvana des distros par ses mises à jours régulières, sa facilité d’emploi (en dehors des situations énumérées ci-avant) et son catalogue.
A l’heure où l’on veut attirer les utilisateurs vers Linux, çà ne vaudrait pas le coup de les bichonner un peu en leur évitant ces grosses galères ?
Imaginez un novice qui se retrouve planté avec tous ces paquets importants en vrac et un système qui ne redémarre plus.
Il lui faudra une sacré dose de ténacité pour résister à l’envie de reformater son disque et recommencer son installation, voir de laisser tomber Linux.
Une solution simple ?
Séparer d’un mois ou deux les mises à jours des paquets importants (et pourquoi pas : à des dates données) quitte à retarder d’autant la disponibilité des nouvelles versions des principaux gestionnaires de fenêtre (on est pas à un mois près) en essayant de fractionner ces groupes de paquets importants pour qu’ils ne soient pas mis à disposition tous en même temps.
En ce qui me concerne :
Chaque souci de ce genre me fais grincer des dents mais c’est aussi l’occasion d’en apprendre un peu plus sur les rouages de cette mécanique de précision en perpétuelle évolution.
Un formatage bien ordonné serait peut-être parfois plus rapide mais certainement moins formateur (et plus rageant).
Qu’est-ce que j’ai appris cette fois-ci ?
- tout d’abord, la libc6 en version 2.11.1-2 fonctionne (contrairement à la version 2.11.1-1)
,
- cette grosse mise à jour aura été bien foireuse à cause des noyaux 2.6.32-5 et 2.6.32-3 (je n’ai pas noté les versions exactes de ces paquets) qui ne fonctionnent plus après les dernières mises à jour. Néanmoins le noyau linux-image-2.6.32-2-686-bigmem en version 2.6.32-8 fonctionne bien (en montage RAID).
A ce sujet, une leçon à retenir : lorsque le système plante après grub, penser à tester tous les noyaux disponibles (il est intéressant de garder au moins 3 ou 4 noyaux disponibles sous grub en cas de souci de démarrage avec l’un d’entre eux).
Je n’en ai testé que deux (les plus récents : 2.6.32-5 et 2.6.32-3), ai constaté que le système plantait (message répété : « /bin/sleep : not found » suivi d’un shell simplifié), que le répertoire ‘/dev/disk/by-uuid’ n’existait pas (grâce à grub, on peut à présent naviguer et saisir des commandes dans ce shell même si le disque principal n’est pas monté. J’ai alors pensé à un bogue du paquet libuuid1 faisant parti de la mise à jour et ai donc abandonné la piste du noyau foireux, en n’effectuant mes autres tests qu’avec le noyau 2.6.32-5.
Grosse erreur
) Si j’avais été plus loin dans mon essai, j’aurai vu que le 2.6.32-2 (celui que j’utilise en ce moment-même) situé juste en dessous dans le menu de grub fonctionnait bien !
Ça m’aurait évité une réinstallation (pour tests) de plusieurs versions de libuuid1, de grub (foireuse, qui m’a donné là aussi du fil à retordre), des sysv* et des libc …
- des choses que j’avais déjà appris mais oublié.
Une révision sur la syntaxe des options des commandes apt et dpkg
)
- mémo pour moi pour une prochaine fois éventuelle
:
- pour changer une version de libc, l’ordre de mise à jour avec dpkg est le suivant : libc-bin > libc-dev-bin > libc6 > libc6-dev > locales.
- pour retrouver le réseau, lancer successivement les commandes ‘ifconfig eth0 192.168.0.2 netmask 255.255.255.0 up’ et ‘route add -net default netmask 0.0.0.0 gw 192.168.0.3 dev eth0
- en cas de soucis avec les locales,
mon fichier /etc/environment contient :
LANG= »fr_FR.UTF-8″
LANGUAGE= »fr_FR »
mon fichier /etc/default/locale contient :
LANG=fr_FR.UTF-8
lancer la commande dpkg-reconfigure locales puis choisir fr_FR.UTF-8 UTF-8, pour « jeu de paramètres régionaux actif par défaut » prendre fr_FR.UTF-8
Pour tester si le problème est résolu, lancer : ‘perl -v’ (les messages doivent avoir disparu).
- la mise à jour des paquets demande souvent de pouvoir afficher un menu avec des choix.
Si vous aviez choisi un terminal graphique (kde ou gnome) par défaut, s’il ne peut accéder à ce terminal, en principe il bascule automatiquement sur un terminal texte. Dans mon cas, pour une raison X (probablement liée à des paquets laissés non configurés), il n’y est pas parvenu, du coup la boîte de dialogue n’apparaissait pas, laissant le paquet dans une configuration inconnue.
L’éditeur nano a lui aussi besoin d’un terminal spécifique. S’il n’y arrive pas avec le terminal courant, il affiche le message « Unknown terminal : bterm ».
La solution est toute simple : saisir ‘TERM=vt100;export TERM’.
Ensuite faire un ‘dpkg-reconfigure debconf’ et choisir l’interface Dialogue pour régler le problème de manière durable.
- last but not least : il vaut mieux effectuer le chroot à partir du menu dédié du netinstall Debian que de le faire manuellement comme je le faisais précédemment (voir ci-dessous : 63ème révision).
Lorsque le netinstall Debian démarre, aller dans les menus : Advanced options > Rescue mode > (choix du disque de démarrage sur lequel il va chrooter, exemple : /dev/sda1) > Exécuter un shell dans /dev/sda1.
En effet dans le cas d’une réinstallation de grub (test que j’ai souhaité effectuer vu mes doutes), un chroot manuel a conduit à un plantage de grub car il ne trouvait pas de périphérique disponible dans ce chroot (il y a des techniques pour qu’il reconnaisse des liens dynamiques d’après ce que j’ai lu, mais çà m’a semblé compliqué).
Alors qu’avec le chroot effectué via ce menu ‘Rescue mode’, cette réinstallation de grub s’est passée sans encombres.
20100531 – Oups : problème avec notre PC de rédaction du Bottin …
Problème de mise à jour avec notre PC :
Désolé nous allons avoir du retard pour cette version : en rentrant d’une semaine de vacances (sans toucher à un PC, donc cette révision était de toute façon assez light) j’ai mis à jour ma Debian Sid avec les nouvelles versions disponibles. Et enfer & damnation : au redémarrage du PC ce matin : un plantage en bonne et due forme ! Non seulement il plante au démarrage mais lorsque j’effectue un chroot à partir d’un netinstall Debian (en passant : j’ai dû aussi retélécharger un netinstall tout frais car l’ancien ne voulait pas me monter mes partitions formatées en ext4), celui-ci fonctionne mais impossible d’effectuer un simple ‘ls’ ou un ‘mount’ sur le disque chrooté sans obtenir le message ‘Segmentation fault’.
Après une journée complète à rechercher la solution (la nouvelle libc6 en version 2.11.1 est fortement suspectée, mais la recopie d’une ancienne libc6 récupérée sur un autre PC n’a pas suffit) nous avons finalement résolu le problème de manière sauvage : nous avons recopié le répertoire /lib complet de l’un de nos autres PC sous Debian Sid (et par chance non mis à jour) sur une clé USB puis écrasé tous les fichiers du répertoire /lib de notre PC en panne. Un chroot sur son ‘/’ puis un ‘ls’ fonctionne à nouveau, et au redémarrage suivant : çà marche !!!
Cerise sur le gâteau : les grappes ne sont même pas désynchronisées (vérif par un ‘$ cat /proc/mdstat’).
Pas très propre mais fonctionnel !
Ça nous a permis de tester la procédure de dernier recours par chroot à partir d’un netinstall Debian sur des disques formattés en ext4 et montés en RAID1 : çà marche nickel ! Il ne faut pas chercher à monter les disques séparément mais les monter en /dev/md0, /dev/md1, … Chaque grappe /dev/mdx est bien reconnue comme un disque unique par le netinstall.
Si vous même avez un problème de ‘Segmentation fault’ après une mise à jour de librairies, vous saurez quoi faire …
Bon du coup on va consacrer 2 ou 3 soirées de plus à remettre à jour le Bottin parce que là c’est vraiment léger
.
20090430 – 37ème révision : le nouveau PC, l’upgrade de l’ancien et KDE4 enfin digérés …
Çà a été l’embouteillage informatique pour nous (sur notre temps libre) afin de rendre tout cela opérationnel mais nous voilà à nouveau (quasiment) sur les rails pour la poursuite de la mise à jour du Bottin.
Quelques recommandations pour ceux qui seraient intéressés. A tempérer par notre inexpérience : on s’étaient déjà trompés précédemment en vous parlant d’un bogue d’OpenOffice conduisant a un plantage général alors qu’il s’agissait tout simplement d’un mauvais paramétrage (de notre part) de la résolution graphique de notre écran (la carte graphique n’appréciait pas qu’on la pousse au delà de ses capacités évidemment).
Tout d’abord, si vous êtes sous Debian Lenny, çà n’est pas encore le bon moment pour passer sous Sid
). Le dépôt n’est pas encore totalement stabilisé et vous risquez comme nous d’être contraint de recommencer votre installation (passant par un reformatage et une ré installation complète de la distribution – c’est à cette occasion que l’on vérifie l’intérêt d’avoir créé des partitions séparées du reste pour les données et le HOME, pas besoin de tout reformater et de ré installer les données et les personnalisations
. Le mécanisme aboutissant à une telle situation est celui des dépendances entre paquets : lorsqu’un paquet important n’est pas encore disponible dans la version nécessaire ou lorsque sa version la plus récente est incompatible avec ses p’tits camarades : c’est le blocage. De toute façon vous aviez été prévenu : la Sid est la version de mise au point, utilisez la stable (Debian Lenny).
Ensuite KDE4 (4.2.2 pour être plus précis). Nous avons enfin dompté la bête
) mais pas sans un peu d’huile de coude. Tout ce passe dans le menu intitulé « Configuration du système » à trouver absolument (nous avons eut moins de mal à le trouver sous Gnome que sous KDE
). Si vous ne le trouvez pas dans les menus, vous faites ‘Alt F2′ et lancez la commande ‘systemsettings’. Si comme chez nous la bête a tendance parfois à s’énerver en vous démarrant des applis par paquets de 10 alors que vous n’en vouliez qu’une, commencez par désactiver Compiz dans le menu de configuration du système (section « Bureau »> »Effets de bureau »>onglet « Général »>décocher « Activer les effets de bureau »). C’est superbe mais çà nous a paru encore instable. Surveillez (avec gkrellm) aussi l’activité du processeur : s’il s’emballe et que la commande ‘top’ (lancée en console) vous montre que c’est ‘plasma’ (le nouveau gestionnaire de fenêtre de KDE) qui en est la cause, fermez un à un les widgets du bureau et observez l’activité du processeur. Chez nous, après avoir lancé à plusieurs reprises des instances de wine (pour tester des petits freewares sous Windows), on a eut ce problème. On a fini par trouver que c’était le calendrier qui provoquait l’emballement de ‘plasma’. Une fois ces petites modifications réalisées, KDE4 reste un outil magnifique pas trop gourmand et plutôt stable (à condition de désactiver le superflu) qui a de quoi faire baver les utilisateurs de Windows Vista
) …
Si vous recherchez les raccourcis claviers sous KDE, çà se passe encore dans le menu « Configuration du système » > »Actions d’entrée »> »KMenuEdit » (clic droit pour définir un nouveau raccourci). A noter que sous Gnome nous n’avons pas trouvé l’équivalent : il y a bien la possibilité d’attribuer une touche à une action prédéfinie mais à priori pas de possibilité de l’attribuer à une application pour la lancer rapidement (un peu agaçant d’avoir des touches de fonctions et de ne pas pouvoir les utiliser pour lancer ses applis les plus couramment utilisées. Nous avons essayé de trouver des applis externes mais sans succès (trop compliqué pour nous
.
Si vous souhaitez lancer le gestionnaire de fichier en root (c’est pas propre mais c’est très pratique
: ‘gksu nautilus’ ou ‘gksu konqueror’ (dolphin est très bien à condition de passer un peu de temps à examiner ses possibilités et de bien le paramétrer, par contre chez nous il refuse de fonctionner avec gksu).
Par la force des choses (à cause de nos problèmes précédents avec KDE) nous avons utilisé Gnome et avons été très agréablement surpris des progrès de cet environnement (grâce notamment à Nautilus qui est devenu nettement plus agréable à utiliser) mais décidément, les raccourcis clavier çà nous manque
. En tout cas il a été là au bon moment et nous a bien dépanné !
Nous avons profité aussi de la fin de cette quinzaine pour upgrader notre ancien PC, upgrade qui lui aussi nous a donné un peu de fil à retordre d’une part à cause de modifications dans l’emplacement de nos disques, mais aussi et surtout de notre (ancien) lecteur/graveur de DVD qui sous l’influence du changement de carte mère n’était plus reconnu (passé en /dev/sr0 au lieu de /dev/hdc) par notre netinstall Debian Lenny (plutôt gênant pour accéder aux disques
. La solution miracle a été de télécharger et lancer le dernier (avec un noyau 2.6.28) liveCD Knoppix (on démarre sur le DVD et à l’invite on saisi knoppix lang=fr) afin d’examiner la nouvelle cartographie des partitions et de modifier quelques fichiers (/etc/fstab pour lui indiquer la nouvelle cartographie des partitions mais aussi /boot/grub/menu.lst pour modifier le disque de root) de notre précédente installation qui ne voulait plus démarrer du fait des changements d’affectations des disques. Si ce n’est déjà fait, nous vous conseillons vivement d’avoir ce genre d’utilitaire de dépannage sous la main …
Tout ceci nous a pris évidemment du temps et l’on va encore en prendre un peu pour quelques adaptations que nous souhaitons réaliser sur notre installation. Le Bottin devrait donc encore tourner au ralenti (peu ou pas de recherches sur le Net, on se contente de prendre en compte les infos obtenues grâce aux flux RSS des sites habituels) probablement une quinzaine ou deux. Néanmoins nous avons pour cette quinzaine rattrapé notre retard de saisie. Nous poursuivons aussi le remplacement des longues listes de liens thématiques dans les fiches par un lien unique dans la catégorie du jeu, accompagnée de modifications des commentaires lorsque cela paraît nécessaire.
La fréquentation du site est en hausse (+14%) : +668 visites au 30/04/2009, soit 18150 visiteurs depuis l’origine jusqu’à cette même date.
Cette révision apporte 11 nouveautés, ce qui nous fait un carnet d’adresses de quelques 1521 jeux Linux.
Nos coups de cœur de la période : sans objet
Entrées : College Romance, Clippers (1ère fiche du Bottin entièrement réalisée sous Debian et KDE 4.2 (Yeeess !
, Glest [mod - Persian], Goblin Hack, Hexalate, Anyone 4 Tennis?, Zatikon, Mr Wimpy Remake, Space Phallus, Privateer Ascii Sector,
Changements de versions : Desmume, Dyson, Ioquake3, HedgeWars, D2X-XL, Batty Junior, Globulation 2, Gcompris, NAEV, Openttd, Savage 2 (merci à Lepouf.free.fr
, Wine, Xmoto, Mega Mario, ScummVM, Xsudoky, Tetzle, SDL Asteroids, Stella, Pong2, Ultimate Othello,
Tests ou modifications de commentaires : Globulation 2, Altitude, Enemy Territory Quake Wars, Clippers, Gottet, CuteMaze, Anyone 4 Tennis?, Flobopuyo, Nexuiz, Openttd, NewSkyDiver, Savage 2, Wine, TuxFisher, Xmoto, Pogo Sticker, Mega Mario, XreaL, OpenArena – [mod Quake3 Rally], ScummVM, Tetzle, openMSX, Mr Wimpy Remake, Space Phallus, Ultimate Othello,
Suppressions : Aucune,