Portál AbcLinuxu, 7. května 2025 20:17

Dotaz: Rozbil jsem závislosti ve Slackvare - Jak na ruční update GLIBC

28.2.2021 14:17 Jack Hokus | skóre: 34 | blog: LostHeaven
Rozbil jsem závislosti ve Slackvare - Jak na ruční update GLIBC
Přečteno: 475×
Odpovědět | Admin
Ahoj,

Narazil jsme na tuto chybovou hlášku:
bash-5.1$ ldd /usr/bin/gpg
/usr/bin/gpg: /lib64/libc.so.6: version `GLIBC_2.33' not found (required by /usr/lib64/libreadline.so.8)
linux-vdso.so.1 (0x00007ffd1cb28000)
libresolv.so.2 => /lib64/libresolv.so.2 (0x00007fa64ef4a000)
libz.so.1 => /lib64/libz.so.1 (0x00007fa64ef30000)
libbz2.so.1 => /lib64/libbz2.so.1 (0x00007fa64ef1d000)
libreadline.so.8 => /usr/lib64/libreadline.so.8 (0x00007fa64eec6000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007fa64eec1000)
libusb-0.1.so.4 => /usr/lib64/libusb-0.1.so.4 (0x00007fa64eeba000)
libc.so.6 => /lib64/libc.so.6 (0x00007fa64ecdc000)
libtinfo.so.6 => /usr/lib64/libtinfo.so.6 (0x00007fa64ecae000)
/lib64/ld-linux-x86-64.so.2 (0x00007fa64ef9d000)
libusb-1.0.so.0 => /usr/lib64/libusb-1.0.so.0 (0x00007fa64ec90000)
libudev.so.1 => /lib64/libudev.so.1 (0x00007fa64ec6b000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fa64ec4a000)
Výstup příkauzu ldd --version je
bash-5.1$ ldd --version
ldd (GNU libc) 2.32
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper
Na ruční aktualizaci se ptám proto, protože problém postihl i správce balíčků. Jak by taky ne, když na této knihovně závisí prakticky všechno.

Nikdy jsem se o ruční aktualizaci knihovny nepokoušel. A řekl bych, že tu z celkem pochopitelných důvodů nebude moc lidí, kteří by s tím měli zkušenost.

Ale i tak budu vděčný za každé dobře mířené RTFM. Jinak, hlavní důvod, proč se do toho pouštím, je ten, že bych se to rád naučil, když už mi osud přihrál do cesty takovouto výzvu.

na druhém disku mám fungující systém, takže v případě potřeby mohu pracovat i v chrootu.
http://www.jackhokus.cz/

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

k3dAR avatar 28.2.2021 15:38 k3dAR | skóre: 63
Rozbalit Rozbalit vše Re: Rozbil jsem závislosti ve Slackvare - Jak na ruční update GLIBC
Odpovědět | | Sbalit | Link | Blokovat | Admin
Slackware uz roky nepouzivam, ale zkusim: balicek glibc 64bit a instalace, samozrejme pokud installpkg nepujde pustit(je to sice skript, ale nevim jake ma bin zavyslosti), tak asi naprasaka z archivu vytahnout lib64/incoming/libc-2.33.so => /lib64/libc-2.33.so, pripadne jeste pred tim zkontrolovat kam ukazuje /lib64/libc.so.6 jestli si downgradoval ci spatne aktualizoval glibc balicek, nebo se soubor "smazal", nebo proste co se stalo :) v nekterem z tech pripadu bys asi musel naprasaka tam z archoivu vytahnout vice ci vsechny lib, ale zacal bych tou zakladni a pak balicek (az by to slo) regulerne preinstalovat...
porad nemam telo, ale uz mam hlavu... nobody
Řešení 1× (Jack Hokus (tazatel))
28.2.2021 16:07 rastos | skóre: 63 | blog: rastos
Rozbalit Rozbalit vše Re: Rozbil jsem závislosti ve Slackvare - Jak na ruční update GLIBC
Odpovědět | | Sbalit | Link | Blokovat | Admin
Slackware-ový balíček je komprimovaný .tar. Inštalačný skript installpkg robí len to, že ten súbor rozbalí v root adresári. S tým sa rozbalí aj súbor /install/doinst.sh a ten sa vykoná a zmaže. Ten doinst.sh spravidlá robí symlinky a podobné veci. Nič zložité.

Takže potrebuješ stiahnuť aaa_glibc-solibs-2.33-x86_64-1.txz resp. ten balík, ktorý obsahuje chýbajúci súbor (to sa dá nájsť v MANIFEST.bz2), rozbaliť a vykonať doinst.sh. To sa dá v krajnom prípade aj z nabootovaného live distra, alebo prehodením disku na chvíľu do iného stroja.

Daj vedieť ako si dopadol.
28.2.2021 19:50 Jack Hokus | skóre: 34 | blog: LostHeaven
Rozbalit Rozbalit vše Re: Rozbil jsem závislosti ve Slackvare - Jak na ruční update GLIBC
Dobrý večer,

děkuju moc. Instalace balíčku pomohla.

Pěkný večer
http://www.jackhokus.cz/
Řešení 1× (Zoufalec)
2.3.2021 12:16 Zoufalec | skóre: 8
Rozbalit Rozbalit vše Re: Rozbil jsem závislosti ve Slackvare - Jak na ruční update GLIBC
Tohle bych raději neoznačoval jako řešení, protože obcházet správce balíčků nedoporučuju. installpkg opravdu jen nerozbaluje archiv a nespouští doinst.sh, ale taky např. vytváří záznam v databázi správce balíčků a v posledních letech doznal několika významných změn (jako celé pkgtools), takže takovýmito hokusy pokusy :-) by si to v extrémním případě mohl člověk rozbít ještě víc a nemuselo by se to projevit hned.

Chtělo by to aktualizovat glibc recovery, ale základ podle mě stále platí.
28.2.2021 18:55 Ondřej Kubečka | skóre: 29 | blog: datlovo | Ulm
Rozbalit Rozbalit vše Re: Rozbil jsem závislosti ve Slackvare - Jak na ruční update GLIBC
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ještě bych dodal. installpkg umí pracovat i na alternativním stromu, tzn. instalačního média nebo jiného systému můžete poškozený strom někam namontovat a pak použít:
installpkg --root /path/to/alt/root
Předpokládám, že tam ale už starší verze glibc je... Pak to samé platí i pro upgradepkg, pouze chování se nemění přes přepínač, ale proměnnou prostředí:
ROOT=/path/to/alt/root upgradepkg package.txz
http://prirucka.ujc.cas.cz/?ref=785&id=790.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.