Vor ein paar Tagen wollte ich meinem Media-PC mit Arch Linux mal auf den aktuellen Stand hieven. Bereits Anfang Juni habe ich schon gehört, dass das Paket glibc aktualisiert und der Pfad von /lib zu /usr/lib angepasst wurde. Damit ist dieser Fehler verbunden:
glibc: /lib exists in filesystem # oder glibc: /lib existiert im Dateisystem
Am 14. Juli 2012 wurde diese News auf ArchLinux.org veröffentlich, man soll das Update mit diesen Befehlen ausführen:
pacman -Syu --ignore glibc pacman -Su
Das hätte bestimmt auch funktioniert, aber wenn man über einen Monat später diese Aktualisierung machen möchte, muss man ein paar andere Befehle verwenden, um einige Probleme zu umgehen – jedenfalls in meinem Fall.
pacman -Syu --ignore glibc
… hat bei mir mit diesen Meldungen abgebrochen:
warning: ignoring package glibc-2.16.0-2 warning: cannot resolve "glibc>=2.16", a dependency of "gcc-libs" warning: ignoring package glibc-2.16.0-2 warning: cannot resolve "glibc>=2.16", a dependency of "binutils" # oder Warnung: Ignoriere Paket glibc-2.16.0-2) Warnung: Kann "glibc>=2.16" nicht auflösen (eine Abhängigkeit von "gcc-libs") Warnung: Ignoriere Paket glibc-2.16.0-2) Warnung: Kann "glibc>=2.16" nicht auflösen (eine Abhängigkeit von "binutils")
Man muss vorher ein …
pacman -Sd binutils gcc gcc-libs
… ausführen, aber um Gottes willen nicht neu starten, sondern nun mit …
pacman -Syu --ignore glibc
… alle Pakete außer glibc updaten – nun klappt es sogar ohne diese Warnungen. Jetzt sollte man ein …
pacman -Su
… ausführen, aber der Paketmanager Pacman quittiert den Dienst mit:
pacman: /lib/libc.so.6 version GLIBC_2.16 not found (required by /usr/lib/libcurl.so.4)
Am Besten kopiert man nun die von Pacman benötigten neuen curl Bibliotheken quick’n’dirty nach „/usr/lib“. (_arch_ muss je nach Architektur angepasst werden, meisten x86_64 oder i686)
cd /usr/lib grep ./ libcurl* mkdir /tmp/curl_backup/ mv libcurl.a libcurl.so libcurl.so.4 libcurl.so.4.2.0 /tmp/curl_backup cd /tmp/curl_backup wget tar -xJf curl-7.26.0-1-_arch_.pkg.tar.xz cd usr/lib cp *.* /usr/lib
Nun klappt es auch mit …
pacman -Su
Durch das stillose Reinkopieren der curl Libraries gibt es noch einen kleinen Fehler,
ldconfig: /lib/libcurl.so.4 is not a symbolic link # oder ldconfig: /lib/libcurl.so.4 ist kein symbolischer Link
… ein …
pacman -S curl
behebt das Problem. Jetzt noch ein Neustart und man kann sich über ein funktionierendes, aktuelles Arch Linux System freuen.
Bei möglichen weiteren Problemen: Sollte die Systemaktualisierung dennoch mit dem Fehler …
glibc: /lib exists in filesystem
… abbrechen, muss händisch nach dem Übeltäter gesucht werden – eine Anleitung findet man hier.
grep '^lib/' /var/lib/pacman/local/*/files find /lib -exec pacman -Qo -- {} +
Quellen:
burrotinto.de – glibc: /lib existiert im Dateisystem
archlinux.de – glibc-Aktualisierung
archlinux.org – libc.so.6 version GLIBC_2.16 not found
Schreibe einen Kommentar zu Cassis Antworten abbrechen