Arch Linux – Systemaktualisierung / Update – glibc

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. mrgreen - Arch Linux - Systemaktualisierung / Update - glibc


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

Veröffentlicht von

_nico

Mac-User aus Leidenschaft, Blogger seit Oktober 2009, 88er Baujahr, technikaffin. Ich fühle mich aber nicht nur auf Apple'schen Betriebssystemen zu Hause, alles was eine Shell hat, interessiert mich besonders! Ihr findet mich auch auf Twitter und Google+.

8 Gedanken zu „Arch Linux – Systemaktualisierung / Update – glibc“

  1. Vielleicht noch ein Hinweis:

    Bei mir wurden mit cp *.* /usr/lib nicht die Symlinks mitkopiert, sondern neue Dateien angelegt. Da hat sich pacman das nächste Mal beschwert. Das Ergebnis muss nach Korrektur des Kopierens dann so aussehen:

    ls -l |grep libcurl
    -rw-r--r--  1 root root   792722 Jul 27 23:42 libcurl.a
    lrwxrwxrwx  1 root root       16 Jul 27 23:41 libcurl.so -> libcurl.so.4.2.0
    lrwxrwxrwx  1 root root       16 Jul 27 23:41 libcurl.so.4 -> libcurl.so.4.2.0
    -rwxr-xr-x  1 root root   385640 Jul 27 23:42 libcurl.so.4.2.0
    1. Hi Cassis,
      die Bibliotheken (libcurl.so.4.2.0 + libcurl.a) werden doch durch das Reinstallieren …

      pacman -S curl

      … ersetzt und die Symlinks gesetzt – oder irre ich mich?

      Gruß

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert