[mise à jour] glibc... (resolu)

Questions et astuces concernant l'installation et la configuration d'archlinux
Zogla
archer de cavalerie
Messages : 197
Inscription : lun. 30 avr. 2012, 09:49

[mise à jour] glibc... (resolu)

Message par Zogla »

Yo !

Alors voilà, j'ai voulu faire une maj globale de mon systeme. A la fin, pacman me dit qu'il y a un conflit entre /lib et glibc : je cherche et je trouve ça http://archlinux.fr/news/le-repertoire- ... symbolique . Super ! J'ai été (un peu) prévoyant, et j'ai regardé ce qu'il ne fallait pas faire. Je progresse :) Sauf que du coup, je fais ce que me dit de faire cette page (enfin la première commande): ca upgrade tout le systeme, genial !

Seconde commande : pacman -Su et là c'est le drame :

Code : Tout sélectionner

jacques@Arche:~>  yaourt
pacman: /lib/libc.so.6: version `GLIBC_2.16' not found (required by /usr/lib/libcurl.so.4)

Plus de pacman, plus de yaout, plus de serveur x apres redemarrage du laptop.
Et là je suis un peu embêté... A l'aide ?

[edit] je crois avoir trouvé un autre sujet avec le meme soucis, j'essaye de le suivre : http://forums.archlinux.fr/topic11591.html?hilit=glibc

[edit2] Ca a en effet l'air d'etre le meme soucis, mais j'arrive pas à comprendre quoi faire... j'ai "reinstallé" une ancienne version de curl trouvée dans le cache de pacman, du 26 juillet je crois (peut etre pas assez ?). Et par resintallé, j'entends copier brutalement dans les dossiers, c'est bien ca ? Dans le doute je crois que je vais attendre de l'aide ici ... :'(
Dernière modification par Zogla le mer. 15 août 2012, 11:31, modifié 2 fois.
Avatar de l’utilisateur
onyx67
Elfe
Messages : 766
Inscription : dim. 06 nov. 2011, 18:12
Localisation : Alsace

Re: [mise à jour] glibc...

Message par onyx67 »

Zogla a écrit : Et par resintallé, j'entends copier brutalement dans les dossiers, c'est bien ca ? Dans le doute je crois que je vais attendre de l'aide ici ... :'(
C'est à dire?, t'a procédé comment?
Pour réinstaller proprement une version antérieure d'un paquet : http://wiki.archlinux.fr/Downgrade
Maintenant pour obtenir de l'aide efficace tu devrais exposé le plus clairement possible la situation et faire part en détail ce que tu as entrepris jusqu'ici :copain:
"La complication est un effet de la simplicité mal acquise"

Intel i5-2320; Nvidia GeForce GT 520; ATA Hitachi 2To; ArchLinux-KDE
Zogla
archer de cavalerie
Messages : 197
Inscription : lun. 30 avr. 2012, 09:49

Re: [mise à jour] glibc...

Message par Zogla »

Pour les explications générales, quand jai voulu mettre à jour je me suis heurté au problème décrit dans la page internet http://archlinux.fr/news/le-repertoire- ... symbolique et j'ai donc fait la premiere commande qui a bien mis a jour tout mon systeme sans raler. Sauf que la deuxieme commande n'est pas passée, et m'a renvoyé l'erreur décrite. A part ca et essayer de copier coller les trucs de curl-7.27.0-1-x86_64.pkg.tar.xz à la main, j'ai rien fait encore :)

Et donc pour le coup d'essayer de remettre une ancienne version de curl... j'ai copié collé les fichiers dans les dossiers... vu que j'ai plus de pacman ! j'ai bien essayé pacman -U lenomdupaquet, mais j'ai la meme erreur :

pacman: /lib/libc.so.6: version 'GLIBC_2.16' not found etc...

Une nouveauté : depuis que j'ai redémarré la bête, je n'ai plus de serveur x :) un startx me dit que je n'ai pas d'écran

Je peux donc pour le moment me logger en mode console. J'imagine que je pourrais avoir internet si je branche un cable et fait un dhcpd eth0. Si vous me dites quoi faire sur internet ! Sinon j'ai ce pc qui a internet et je peux mettre des trucs sur un disque dur usb...
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10707
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [mise à jour] glibc...

Message par FoolEcho »

En fait tu aurais du faire un ignore glibc et curl au début, vu qu'apparemment ta dernière mise à jour doit dater.
Zogla a écrit :A part ca et essayer de copier coller les trucs de curl-7.27.0-1-x86_64.pkg.tar.xz à la main, j'ai rien fait encore :)
Ambigu. Tu as copié ou pas ?

Deux options pour retrouver un pacman fonctionnel déjà:
1) la moins problématique serait de réaliser l'opération inverse pour revenir à ton curl précédent et ainsi retrouver un pacman fonctionnel (et réinstaller ce vieux curl proprement via pacman -U sinon tu vas casser sa base de données, tu dois l'avoir avec ton cache de pacman).
2) ou, je te le déconseille, décompresser directement à la racine glibc 2.16.0-1 (que tu peux récupérer via wget http://pkgbuild.com/~allan/glibc-2.16.0-1-x86_64.pkg.tar.xz. Une fois pacman retrouvé, réinstaller cette version de glibc avec pacman -U toujours pour conserver la base de données cohérente.

Ensuite voir avec le wiki pour déterminer les éventuels paquets à recompiler (ceux ayant des choses dans /lib) et les répertoires à supprimer (présents dans /lib/ et n'appartenant à personne) avant de mettre à jour curl + glibc.
«The following statement is not true. The previous statement is true.» :nage:
Zogla
archer de cavalerie
Messages : 197
Inscription : lun. 30 avr. 2012, 09:49

Re: [mise à jour] glibc...

Message par Zogla »

Alors en fait, j'ai bien fait un ignore glibc mais pas de curl au debut (comme decrit sur la page que j'ai linkée)... flute.

Oui, copié... comme un gros bourrin ! decompressé le tar.xz et un bon vieux cp / ... du coup pour faire l'operation inverse à la main, je supprime tous les fichiers ? Mais je pense qu'il y en a qui ont remplacés d'autres, nan ?

Et sinon, refaire ca à l'envers ne me redonnera pas de pacman, je l'avais déjà perdu à ce moment là. Je rerésume, parceque je crois que j'arrive pas à etre clair !

Premierement, j'ai essayé de mettre à jour : pacman -Syu

Ca a mis des plombes et ca m'a dit à la fin qu'il y avait un conflit /lib et glibc. J'ai donc cherché et trouvé les infos sur le ignore glibc (page linkée). J'ai donc fait :

pacman -Syu --ignore glibc

Ceci a eu l'air de marcher, ca m'a mis à jour 200mo de trucs. A la fin, j'essaye

pacman -Su

et c'est là que j'ai l'erreur du GLIBC_2.16 et l'impossibilité d'utiliser pacman.

Ensuite j'ai donc essayé de suivre les infos trouvées sur l'autre topic, sans succes : j'ai decompressé le curl.tar.xz et copié tout ca là où il se devait : dans la racine (j'étais un peu désespéré).

Voilà où j'en suis !

De ce que j'en vois j'ai fait la solution 2 deconseillée (mais qui est la seule que je puisse faire sans pacman, non ?), mais avec le mauvais package, c'est ca ?
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10707
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [mise à jour] glibc...

Message par FoolEcho »

Zogla a écrit :Et sinon, refaire ca à l'envers ne me redonnera pas de pacman, je l'avais déjà perdu à ce moment là. Je rerésume, parceque je crois que j'arrive pas à etre clair !
Si, refaire à l'inverse te le redonnera (c'est ta première mise à jour avec le ignore glibc seul qui a détraqué pacman, du fait que curl est compilé contre une certaine version de glibc et que curl seul a été mis à jour -- glibc n'a pas bougé).

C'est moins risqué de rétablir curl que de trifouiller directement glibc.
Une fois pacman restauré, pense-bien à réinstaller proprement le vieux curl. Ensuite tu pourras te focaliser sur /lib et glibc.
«The following statement is not true. The previous statement is true.» :nage:
Zogla
archer de cavalerie
Messages : 197
Inscription : lun. 30 avr. 2012, 09:49

Re: [mise à jour] glibc...

Message par Zogla »

Ok, je suis fatigué je crois : je ne comprends pas. Désolé de faire le neuneu, mais pourrais tu me dire exactement ce que je dois faire "à l'inverse" ?

Là ce que je comprends, c'est supprimer à la main tous les fichiers que j'ai copié dans /

Mais du coup, j'ai l'impression que je me retrouverai comme juste apres la mise à jour pacman -Syu --ignore glibc or à ce moment je n'avais plus de pacman déjà. Donc comment je fais pour le récupérer le pacman ? Dans le doute, j'essaye, et je vous dis :)
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10707
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [mise à jour] glibc...

Message par FoolEcho »

Nettement plus simple: dans ton pacman.conf, tu devrais avoir des lignes XferCommand commentées. Décommente celle avec wget et pacman devrait fonctionner normalement. Puis soit tu réinstalles la version courante de curl, soit tu réinstalles celle d'avant de façon à rétablir ton bidouillage.

Il te restera à vérifier ce qui coince avec /lib (wiki + forum) pour finir la mise à jour.

Clair ?
«The following statement is not true. The previous statement is true.» :nage:
Zogla
archer de cavalerie
Messages : 197
Inscription : lun. 30 avr. 2012, 09:49

Re: [mise à jour] glibc...

Message par Zogla »

Vu la ligne dans pacamn.conf : XferCommand = /usr/bin/wget --passive-ftp -c -0 %o %u , que j'ai décommentée. L'espoir remonte !

Et redescend... Car malgré cela, j'ai toujours la meme erreur à l'essai d'un "pacman" dans la console : Glibc etc.

Sinon j'ai un cd d'installation sous la main, je peux en faire quelque chose (pour réparer, j'ai pas encore perdu espoir :) et c'est ça le jeu avec arch, nan ?)
Dernière modification par Zogla le mar. 07 août 2012, 20:41, modifié 1 fois.
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10707
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [mise à jour] glibc...

Message par FoolEcho »

Oui... j'avais oublié que wget aussi est tributaire de glibc. :mrgreen:

Rétablis manuellement la version précédente de curl ou de wget, c'est le plus simple.
«The following statement is not true. The previous statement is true.» :nage:
Zogla
archer de cavalerie
Messages : 197
Inscription : lun. 30 avr. 2012, 09:49

Re: [mise à jour] glibc...

Message par Zogla »

Ok :o


Mais du coup j'en reviens à ma question précédente : manuellement ca veut dire en copiant comme un gros bourrin comme j'avais fait ? Mais avec une version encore antérieure, c'est ça ?

(et aussi, j'ai edité après ta réponse : j'ai un cd d'arch sous la main, ca peut m'etre utile ?)
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10707
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [mise à jour] glibc...

Message par FoolEcho »

Zogla a écrit :Mais du coup j'en reviens à ma question précédente : manuellement ca veut dire en copiant comme un gros bourrin comme j'avais fait ? Mais avec une version encore antérieure, c'est ça ?
Oui. Mais juste avec la version précédente (celle qui correspond à celle de glibc que tu as encore -- et, à moins que tu aies vidé le cache de pacman, tu as la bonne version de curl dedans). Une fois pacman rétabli, il te faudra juste réinstaller proprement cette vieille version (sans quoi la base de pacman ne sera plus fiable).
Zogla a écrit :(et aussi, j'ai edité après ta réponse : j'ai un cd d'arch sous la main, ca peut m'etre utile ?)
Éventuellement. Tu utilises son pacman avec -r pour faire l'installation (pas de chroot donc, juste monter ta racine).
«The following statement is not true. The previous statement is true.» :nage:
Zogla
archer de cavalerie
Messages : 197
Inscription : lun. 30 avr. 2012, 09:49

Re: [mise à jour] glibc...

Message par Zogla »

Bon, j'ai donc essayé un cd /; bsdtar xf /var/cache/pacman/pkg/curl-7.26.0-1-x86_64.pkg.tar.xz

Ca a l'air de faire des choses, meme si j'ai plein de "can't unlink already-existing object". D'ailleurs, je ne vois que ca à la fin, et je sais pas remonter dans l'historique du termninal quand je suis comme ca qu'en mode console :o

Par contre, apres cette commande, toujours pas de pacman. J'essaye donc avec le cd !
Zogla
archer de cavalerie
Messages : 197
Inscription : lun. 30 avr. 2012, 09:49

Re: [mise à jour] glibc...

Message par Zogla »

FoolEcho a écrit :Éventuellement. Tu utilises son pacman avec -r pour faire l'installation (pas de chroot donc, juste monter ta racine).
Je vais passer pour un inculte total, mais tu veux dire faire l'installation de tout ? Ou juste remettre en route le glibc et pacman ?

Du coup, je monte la racine, mais où ? dans un dossier quelconque que je crée ? : mount /dev/sda3 /mnt ?

Et "utilise le -r". Je connais pas, je regarde le man page ! Mais j'en comprends pas beaucoup beaucoup plus... :'( je suis vraiment pas en forme aujourd'hui, désolé !

D'ailleurs, une question subsidiaire tant qu'à faire : comment je peux savoir quel sdb ou sda est mon disque dur externe ? J'ai essayé cet aprem de le monter depuis ma session cassée, mais impossible de trouver le "nom" ou l' uuid. Je voulais quand meme sauver mes quelques derniers jours de boulot sur un disque au cas où tout explose :o j'en suis au lsusb là :) [edit] en fait je vais trouver mon bonheur ici je crois https://wiki.archlinux.org/index.php/US ... ge_Devices j'essaye !
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10707
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [mise à jour] glibc...

Message par FoolEcho »

Juste curl.

*soupir* ... Je vais le refaire encore une fois.

Pour mettre à jour glibc, il faut que tu t'aides des commandes indiquées dans le wiki (https://wiki.archlinux.org/index.php/De ... iki:usrlib) pour identifier les paquets qui nécessitent d'être réinstallés ainsi que les répertoires qui n'appartiennent à aucun paquet pour les supprimer/déplacer.

Pour ça, il te faut pacman. Le plus simple est de remettre proprement la version précédente de curl qui colle à ta glibc actuelle.
D'après ton exemple, à partir de ton livecd:

Code : Tout sélectionner

mount /dev/sda3 /mnt
pacman -U /chemin/vers/curl/précédent -r /mnt
(avec /chemin/vers/curl/précédent : si présent dans ton cache, ça donne donc quelque chose comme /mnt/var/cache/pacman/pkg/curl???????.pkg.tar.xz )

Dans la foulée, tu peux faire un chroot, vérifier que pacman est réparé et reprendre les commandes pour la mise à niveau de glibc(il va de soi qu'il faut aussi commenter le XferCommand que je t'avais indiqué à décommenter). Tant que tu n'es pas prêt à faire la mise à jour de glibc, il faut ignorer curl également.
Zogla a écrit :D'ailleurs, une question subsidiaire tant qu'à faire : comment je peux savoir quel sdb ou sda est mon disque dur externe ? J'ai essayé cet aprem de le monter depuis ma session cassée, mais impossible de trouver le "nom" ou l' uuid. Je voulais quand meme sauver mes quelques derniers jours de boulot sur un disque au cas où tout explose :o
... sdb probablement. Sinon il suffit de regarder avec fdisk -l ou blkid (en root) ou de simplement monter les partitions...
«The following statement is not true. The previous statement is true.» :nage:
Zogla
archer de cavalerie
Messages : 197
Inscription : lun. 30 avr. 2012, 09:49

Re: [mise à jour] glibc...

Message par Zogla »

Ok, j'ai à nouveau un pacman, et le systeme est tout mis à jour !
Hourra, et merci beaucoup FoolEcho !


... Par contre je n'ai toujours pas retrouvé de serveur x. No display found. Et quand je fais startx, je finis sur un:
xinit: giving up
xinit: unable to connect to x server: Connection refused
xinit: unexpexted signal 2
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10707
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [mise à jour] glibc...

Message par FoolEcho »

Si tout est bon côté glibc et cie, il faudrait mieux ouvrir un autre sujet (avec le log de X, /var/log/Xorg.0.log).
«The following statement is not true. The previous statement is true.» :nage:
Avatar de l’utilisateur
Nic0
Chu Ko Nu
Messages : 454
Inscription : dim. 11 janv. 2009, 03:16
Localisation : Calvados (14)

Re: [mise à jour] glibc...

Message par Nic0 »

Zogla a écrit :je sais pas remonter dans l'historique du termninal quand je suis comme ca qu'en mode console
Comme ça peut toujours servir, c'est ctrl + pageup/pagedown.
~ Yet Another DevOps Blog ~
Zogla
archer de cavalerie
Messages : 197
Inscription : lun. 30 avr. 2012, 09:49

Re: [mise à jour] glibc...

Message par Zogla »

Ok je mets resolu, et j'en ferai un autre pour la suite des soucis ! Merci !
Avatar de l’utilisateur
reflets de vert
yeomen
Messages : 295
Inscription : mar. 23 mars 2010, 15:17
Localisation : Strasbourg

Re: [mise à jour] glibc... [resolu]

Message par reflets de vert »

Bon pour ma part j'ai un petit souci:

Pourquoi là http://www.archlinux.org/news/the-lib-d ... a-symlink/ ils disent de faire une commande, et là https://wiki.archlinux.org/index.php/De ... iki:usrlib la même avec curl…???

Bien sûr j'ai fait la première sans curl et je me suis planté.
J'ai bidouillé des trucs que j'ai vu sur les forums, etc… et du coup je réinstalle tout. Ça sera l'occasion de ne pas perdre la main :^)

D'où la conclusion: c'est rigolo comme rolling release: ça utilise des réinstallations de temps à autre… :lol:
À quand la reinstallation release???
J'utilise console-tdm, dwm, …
(bon moi aussi j'écris en bépo - même si ça se voit pas)
Répondre