changer de glibc sans tout changer ? - Débats - Linux et OS Alternatifs
Marsh Posté le 07-09-2002 à 20:15:49
La libc étant la base de tout, c'est le truc que tu peux upgrader avec le moins de problèmes à priori. Fais quand même gaffe, il y a un truc qui en a été viré récemment.
Sinon, le plus simple pour ce faire, c'est encore d'utiliser l'outil de mise à jour de ta distribution.
Edit: d'ailleurs je te déconseille fortement d'utiliser une quelconque autre méthode, tu risques de tout bousiller.
Marsh Posté le 07-09-2002 à 20:24:09
....OK
mais ma distribution, c'est une LRP (Linux Router Project)
donc pas de mise à jour ou autre.
Ce que j'aimerais savoir c'est quels sont les fichiers que j'ai besoin de mettre à jour.
Il y a bien sûr libc.so.x
...quels sont les autres (si il y en a) ?
j'ai essayé de changer ce fichier.
J'ai bien sûr du le faire à partir d'une autre distribution, puisque sans ce fichier, rien ne fonctionne.
J'ai donc copié -le nouveau libc.so.6,
avec le lien symbolique quio allait avec,
mais après ça le système ne boote plus.
Marsh Posté le 07-09-2002 à 20:30:11
La libc, c'est vraiment critique (TIQUE !). Tu ne peux pas te permettre de la changer comme ça.
Bon, voilà à tout hasard la liste des fichiers du paquet libc6 chez moi :
/lib/ld-2.2.5.so
/lib/libBrokenLocale-2.2.5.so
/lib/libanl-2.2.5.so
/lib/libc-2.2.5.so
/lib/libcrypt-2.2.5.so
/lib/libdl-2.2.5.so
/lib/libm-2.2.5.so
/lib/libnsl-2.2.5.so
/lib/libnss_compat-2.2.5.so
/lib/libnss_dns-2.2.5.so
/lib/libnss_files-2.2.5.so
/lib/libnss_hesiod-2.2.5.so
/lib/libnss_nis-2.2.5.so
/lib/libnss_nisplus-2.2.5.so
/lib/libresolv-2.2.5.so
/lib/librt-2.2.5.so
/lib/libutil-2.2.5.so
/lib/libSegFault.so
/lib/libpthread-0.9.so
/lib/libthread_db-1.0.so
auxquels il faut ajouter tout le bordel de la localisation...
Marsh Posté le 07-09-2002 à 22:12:22
warp a écrit a écrit : J'ai besoin d'une configuration particulière, et je dois compiler un programme sur cette config. Mais les sources qu'utilise ce programme ont besoin d'une librairie. Jusque là, pas de prob. Là où ça coince, c'est que la librairie (libpthread) fait partie de la glibc. Et les sources ont besoin de la glibc à partir d'une certaine version. Ma question : est-il possible de mettre la glibc à jour avec une nouvelle version, sans pour autant devoir changer de noyau et/ou d'autres librairies ? Salut à tous. |
Oui
Il faut que tu compiles glibc mais fais gaffes aux paramètres du configure surtout ( bien mettre le bon prefix et adder linuxthread )
C'est assez délicat parce que si tu merdes ça tu peux devoir restaurer les anciens fichier pour pouvoir recompiler, donc je te conseille fortement de backuper les libs actuelles avant
Marsh Posté le 07-09-2002 à 22:13:44
Jar Jar a écrit a écrit : La libc étant la base de tout, c'est le truc que tu peux upgrader avec le moins de problèmes à priori. Fais quand même gaffe, il y a un truc qui en a été viré récemment. Sinon, le plus simple pour ce faire, c'est encore d'utiliser l'outil de mise à jour de ta distribution. Edit: d'ailleurs je te déconseille fortement d'utiliser une quelconque autre méthode, tu risques de tout bousiller. |
c'est au contraire le truc le plus dangereux puisque nécessaire pour toute compile ( si tu te rates tu peux plus recompiler derrière )
Marsh Posté le 07-09-2002 à 22:20:51
En gros en général ( attention c'est une base, chaque distrib peut avoir ses paths différents )
wget ftp://ftp.gnu.org/gnu/glibc/glibc-2.2.5.tar.gz
wget ftp://ftp.gnu.org/gnu/glibc/glibc [...] 2.5.tar.gz
tar zxvf glibc-2.2.5.tar.gz
mv glibc-linuxthread-2.2.5.tar.gz glibc-2.2.5/
cd glibc-2.2.5/
tar zxvf glibc-linuxthread-2.2.5
./configure --prefix=/ --exec-prefix=/ --bindir=/bin --sbindir=/sbin --libexecdir=/usr/libexec --datadir=/usr/share --sysconfdir=/etc --libdir=/lib --includedir=/usr/include --enable-add-ons
make
make install
Vérifies déjà où sont les fichiers actuels de la glibc pour voir s'il faut changer des choses à cet exemple, mais en général c'est ça ( alors que par défaut il installe la glibc dans /usr/local )
enable-add-ons c'est bien sur pour qu'il prenne linuxthread dans la compile
Marsh Posté le 07-09-2002 à 22:22:04
NON NON NON le seul pro de la glibc c JOCE pm lui , tu verras il va te faire ca comme un ange la compil de la glibc !!
Marsh Posté le 07-09-2002 à 22:22:55
Sly Angel a écrit a écrit : c'est au contraire le truc le plus dangereux puisque nécessaire pour toute compile ( si tu te rates tu peux plus recompiler derrière ) |
et il ne faut pas faire mv /lib /lib-old
Marsh Posté le 07-09-2002 à 22:23:48
asphro a écrit a écrit : NON NON NON le seul pro de la glibc c JOCE pm lui , tu verras il va te faire ca comme un ange la compil de la glibc !! |
Euh....
Remarque, quelque part sans joce je n'aurais pas su aussi bien répondre à la question, il m'a un peu forcé dans l'urgence ( http://glibc.org )
Marsh Posté le 07-09-2002 à 22:24:36
oui je sais !!!
ca m avait deliré ce coup la !!
ca va faire 1ans non ?
Marsh Posté le 07-09-2002 à 22:25:00
kadreg a écrit a écrit : et il ne faut pas faire mv /lib /lib-old |
tu m'étonnes ( joce da killer )
Marsh Posté le 07-09-2002 à 22:27:25
asphro a écrit a écrit : oui je sais !!! ca m avait deliré ce coup la !! ca va faire 1ans non ? |
non, c'était en Janvier :
-rwxr-xr-x 1 root root 439k Jan 16 2002 ld-2.2.4.so
Marsh Posté le 07-09-2002 à 22:28:57
Sly Angel a écrit a écrit : non, c'était en Janvier : -rwxr-xr-x 1 root root 439k Jan 16 2002 ld-2.2.4.so |
ah bon, je croyais ct vers septembre !!
Marsh Posté le 07-09-2002 à 22:33:39
Sly Angel a écrit a écrit : c'est au contraire le truc le plus dangereux puisque nécessaire pour toute compile ( si tu te rates tu peux plus recompiler derrière ) |
Bah non. Si tu mets à jour ta glibc, tout ce qui marchait avec l'ancienne marche avec la nouvelle. Par contre, si tu mets à jour une autre bibliothèque, elle peut dépendre d'une nouvelle version de la glibc, et tu l'as dtc.
Marsh Posté le 07-09-2002 à 22:37:47
Jar Jar a écrit a écrit : Bah non. Si tu mets à jour ta glibc, tout ce qui marchait avec l'ancienne marche avec la nouvelle. Par contre, si tu mets à jour une autre bibliothèque, elle peut dépendre d'une nouvelle version de la glibc, et tu l'as dtc. |
Oui mais l'upgrade en elle même de la glibc est parfois délicate et c'est un coup à se retrouver avec un système bancal qui refusera catégoriquement de recompiler quoi que ce soit correctement...
C'est justement un élément vital du système donc une upgrade sensible. Si tu foires un autre truc, c'est pas grâve il te suffit de le recompiler une autre fois...
Marsh Posté le 07-09-2002 à 22:42:23
Bon, merci pour vous conseils....
mais comme ils ne sont pas arrivés tout de suite,
j'ai fait à ma sauce.
J'ai pris une nouvelle redhat (7.1) et j'ai mis les librairies sur ma ditro (dérivée d'une redhat 5.2)
j'en suis là :
tout à l'air de plus ou moins se lancer,
si ce n'est qu'au login, je tape le nom et le mot de passe,
et pouf, de nouveau le login réapparait.
Donc pas d'erreur, mais je ne passe pas outre le login.
Résultat, je ne sais pas trop par où commencer mes recherches.
...ah oui, j'avais au préalable sauvé mes librairies.
Marsh Posté le 07-09-2002 à 23:02:18
Tant mieux si ça roule
Marsh Posté le 07-09-2002 à 23:03:39
Sly Angel a écrit a écrit : Tant mieux si ça roule |
Ben pas encore à 100% justement
Marsh Posté le 07-09-2002 à 23:07:35
warp a écrit a écrit : Ben pas encore à 100% justement |
tu as essayé de le taper en QWERTY ?
Marsh Posté le 07-09-2002 à 23:09:46
Ben oui,
mais ça passe pas.
Pas d'erreur, rien du tout.
J'avais déjà eu le problème lorsque j'avais crée une linux sur une disquette.
Mais je ne sais plus d'où vient le problème....
Marsh Posté le 07-09-2002 à 23:10:12
Sly Angel a écrit a écrit : Oui mais l'upgrade en elle même de la glibc est parfois délicate et c'est un coup à se retrouver avec un système bancal qui refusera catégoriquement de recompiler quoi que ce soit correctement... |
Bref, tout dépend du point de vue. L'utilisateur d'une Debian ou Mandrake trouvera la mise à jour de la glibc triviale, alors que pour l'utilisateur de LFS c'est la galère.
De toute façon, la glibc c'est quand même beaucoup de galères, il vaut mieux la virer : http://fred.linux-site.net/uninsta [...] glibc.html
Marsh Posté le 07-09-2002 à 23:17:15
En fait, pour être précis,
lors du boot j'arrive à lire quelques trucs
à un moment donné j'ai intercepté
"l'utilisateur root n'existe pas"
...hum hum ça pue ça.
Sinon, au login, lorsque je met un mauvais mot de passe pour root,
il me remet le login.
Lorsque je met le bon mot de passe, l'écran s'efface pour me ré-afficher le login. Sans erreur ou quoi que ce soit.
Marsh Posté le 07-09-2002 à 23:30:45
Jar Jar a écrit a écrit : Bref, tout dépend du point de vue. L'utilisateur d'une Debian ou Mandrake trouvera la mise à jour de la glibc triviale, alors que pour l'utilisateur de LFS c'est la galère. De toute façon, la glibc c'est quand même beaucoup de galères, il vaut mieux la virer : http://fred.linux-site.net/uninsta [...] glibc.html |
http://fred.linux-site.net/uninsta [...] html#ss4.2
Citation : 4.2 Remarque |
J'adore
Marsh Posté le 07-09-2002 à 23:32:53
warp a écrit a écrit : En fait, pour être précis, lors du boot j'arrive à lire quelques trucs à un moment donné j'ai intercepté "l'utilisateur root n'existe pas" ...hum hum ça pue ça. Sinon, au login, lorsque je met un mauvais mot de passe pour root, il me remet le login. Lorsque je met le bon mot de passe, l'écran s'efface pour me ré-afficher le login. Sans erreur ou quoi que ce soit. |
CD boot -> montage des partitions systèmes -> mattage de /etc/passwd , vérification du root, de son shell etc
Marsh Posté le 07-09-2002 à 23:37:48
Sly Angel a écrit a écrit : CD boot -> montage des partitions systèmes -> mattage de /etc/passwd , vérification du root, de son shell etc |
j'analyse.....je suis en train de tout ratisser
Marsh Posté le 07-09-2002 à 23:53:38
j'ai eu le pb avec ma mdk, fait un coup de linux single à l'invite lilo et après tu changes ton passwd root, tu rebootes et tout rentre dans l'ordre, enfin pour moi ca a marché
Marsh Posté le 08-09-2002 à 00:06:30
ça avance....
j'ai démarré en single,
et lorsque j'ai tapé : passwd root
j'obtiens :
/lib/libnsl.so.1 no version information available (required by /lib/libpwd.so.0)
Mais j'ai bien changé cette librairie,
et lorsque je redémarre, j'ai toujours le même problème.
Marsh Posté le 08-09-2002 à 01:53:42
.....le problème du changement de mot de passe sous "single" est résolu,
j'avais simplement oublié de changer la libnsl.so.0
...mais j'arrive toujours pas à me logger en normal.
Je me vois mal copier TOUS les fichiers,
vu que mon but est tout de même d'en avoir le moins possible.
Ou alors je les copie tous pour les éliminer petit à petit dès que mon système fonctionne, mais là j'en ai pour 4 jours.
Donc pour finir : pourquoi est-ce que je n'arrive pas à me logger ?
Personne pour m'aider ?
Marsh Posté le 07-09-2002 à 19:46:09
J'ai besoin d'une configuration particulière,
et je dois compiler un programme sur cette config.
Mais les sources qu'utilise ce programme ont besoin d'une librairie.
Jusque là, pas de prob.
Là où ça coince, c'est que la librairie (libpthread) fait partie de la glibc.
Et les sources ont besoin de la glibc à partir d'une certaine version.
Ma question : est-il possible de mettre la glibc à jour avec une nouvelle version,
sans pour autant devoir changer de noyau et/ou d'autres librairies ?
Salut à tous.
---------------
Il n'est pas nécéssaire de réussir pour persévérer.