pacman -Syu --ignore glibc
pacman -Su

liefen bei mir ohne Fehlermeldung durch


$ find /lib -exec pacman -Qo -- {} +
ergibt: /lib ist in glibc 2.16.0-2 enthalten

https://wiki.archlinux.org/index.php/DeveloperWiki:usrlib sagt:

"If any package apart from glibc is listed as owning a file, that package needs to be updated to install its files in /usr/lib. Any files unowned by a package should either be deleted or moved to /usr/lib and any directories within /lib need deleted (after they are empty...)."

Heisst das, ich muss alle Unterverzeichnisse von /lib löschen?
@ Gast: Jatürlich 😃

Nein, was ich eigentlich anregen möchte, ist ein Beitrag (vielleicht im Wiki) der sich dieses Themas annimmt. Wenn man sieht wie viele Archer mit dem Wechsel ein Problem haben könnte ein Artikel der alle möglichen Wege zur Lösung vieles einfacher machen.

Das ist diesmal nicht rhetorisch ....

Sanni
mumpf schriebpacman -Syu --ignore glibc
pacman -Su
liefen bei mir ohne Fehlermeldung durch

$ find /lib -exec pacman -Qo -- {} +
ergibt: /lib ist in glibc 2.16.0-2 enthalten

https://wiki.archlinux.org/index.php/DeveloperWiki:usrlib sagt:

"If any package apart from glibc is listed as owning a file, that package needs to be updated to install its files in /usr/lib. Any files unowned by a package should either be deleted or moved to /usr/lib and any directories within /lib need deleted (after they are empty...)."

Heisst das, ich muss alle Unterverzeichnisse von /lib löschen?
Nein! Du bist sozusagen "fertig"

Ein:
ls -ld /lib
sollte zeigen daß /lib nun ein Symlink nach /usr/lib ist.
danke für den Hinweis, Gerbra!
mumpf schriebdanke für den Hinweis, Gerbra!
Kein Problem. Die Anleitung im org-Wiki bezog sich ja ur auf Nacharbeiten für Dateien die entweder zu keinem anderem als glibc bzw. zu keinem Paket gehörten (Noch ein //Edit: sollte natürlich heißen: für Dateien die entweder zu *einem* anderen als glibc oder keinem Paket gehören). Das Problem hattest du ja scheinbar garnicht. bei dir wäre ein "normales" -Syu wohl auch durchgelaufen, ohne das erstmalige Ignorieren des glibc-Paketes.

Warum glibc bei vielen erstmal ignoriert werden mußte: Das Upgrade des glibc-paketes kümmert sich schon um das Updaten "seiner" Dateien in /lib - und auch um das abschließende Symlinken (//Edit: und gaaaanz wichtig: v.a. um das Neuladen der glibc-Einstellungen. Ansonsten würde nicht mal das reboot Kommando mehr funktionieren <g>). Es bricht aber mit der bekannten Fehelrmeldung ab wenn in /lib noch Dateien sind die eben *nicht* zu glibc gehören. Darum muß man sich dann kümmern nach dem -Syu --ignore glibc.
Bei mir waren das z.B. Zillionen alter vbox-Module von Zillionen alter Kernels und zwei firmware-Files. Das habe ich alles verschoben (//Edit: nach /root/x, also als zum Aufheben_bis_ich_weiß_das_ichs_nicht_mehr_brauche) - aber halt tunlichst nichts angefaßt was zu glibc gehörte.
Danach kann dann durch das letzte -Su eben das glibc-Paket aktualisiert werden, voila, geschafft.

Hättest du nun /lib (also alles eigenlich in /usr/lib, da Symlink) gelöscht, dann hättest du einen spaßigen Abend gehabt. System wieder vom Backup zurückspielen… Kein Backup? Wie mutig ;-)

//Edit: Obwohl: Hättest du mit rm /lib gelöscht (wie viele es getan haben), dann wäre es auch das letzet Mal gewesen das du in *dem* System ein rm, ls oder sonstwas hättest aufrufen können ;-) So wichtig ist die glibc…
Also ich bekomme die Sache nicht in den griff.
Wie gesagt wenn ich es so versuche wie kruemeltee geschrieben hat (und das ist das Einzige was bis jetzt irgendwie funktioniert) bekomme ich bei jedem update oder jeder Installation folgendes zu sehen:
 Checking for file conflicts
Warning: could not get filesystem information for /bootmnt: No such file or directory
Warning: could not get filesystem information for /cowspace: No such file or directory
Warning: could not get filesystem information for /sfs/root-image: No such file or directory
Warning: could not get filesystem information for /sfs/lib_modules: No such file or directory
Warning: could not get filesystem information for /usr_share: No such file or directory
Warning: could not get filesystem information for /repo/core/x86_64: No such file or directory
Warning: could not get filesystem information for /repo/core/any: No such file or directory
Warning: could not get filesystem information for /bootmnt: No such file or directory
Was ja, glaube ich, nur soviel heißen soll, dass er nicht nach Konflikten suchen kann. Er installiert aber danach munter weiter.
Auf jeden Fall wirft er mich nach dem reboot in die shell und sagt er findet die UUID nicht. Die angegebene UUID stimmt aber. Also ich weiß nicht ob ich noch eine kernelpanik habe, so weit komme ich gar nicht mehr. Ich hab mittlerweile keine Ahnung mehr was ich machen soll und schön langsam wird es mühselig.

Vielleicht kann mir irgendwer einen Tipp geben wie ich meinen Bootvorgang wieder hin bekomme.

Die neu generierte grub.cfg sieht so aus:
menuentry "Arch Linux GNU/Linux, mit Linux core repo kernel' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-core repo kernel-true-267ce4fd-2889-4bbe-9bb9-a6cadfdb1bdd (on /dev/sda7)" --class gnu-linux --class gnu --class os {
	insmod part_msdos
	insmod ext2
	set root='(/dev/sda,msdos7)'
	search --no-floppy --fs-uuid --set=root 267ce4fd-2889-4bbe-9bb9-a6cadfdb1bdd
	linux /boot/vmlinuz-linux root=UUID=267ce4fd-2889-4bbe-9bb9-a6cadfdb1bdd ro quiet add_efi_memmap
	initrd /boot/initramfs-linux.img
Und mit blkid bekomme ich das:
/dev/sda7: UUID="267ce4fd-2889-4bbe-9bb9-a6cadfdb1bdd" TYPE="ext4" 
GeBra: Und nachdem Du schon so schön den Teufel an die Wand gemalt hast - Es gibt bestimmt einige $user, die ihr /lib vor dem Verschieben gelöscht haben. Auch in diesem Fall ist noch nicht alles verloren. Arch ist ein erstaunliches Linux mit einem sehr mächtigen, weil sehr einfachem Paketformat. Falls man also furchtbar in die braune Masse gegriffen hat, dann könnte das Folgende durchaus zur Reanimation des Systems beitragen:
System von Live-CD der entsprechenden Architektur starten:

* Systemlaufwerk mounten
* die Paketdatei suchen
* nach (mountpath)/ kopieren
* im gemounteten / auspacken mit tar xf $paketdatei

Danach sollte man sich schon mal wieder in das System chrooten können. Wenn man gechrooted hat, ist das die halbe Miete. !Jetzt!, aber auch wirklich erst !Jetzt! ist der Punkt gekommen, wo man die Dateien, die man mit tar ins System geschweint hat, definiert überschreiben sollte - und zwar mit Kraft. pacman -S --force glibc sollte wirken. Das sollte es gewesen sein.

Danach lächeln und relativ glücklich sein. Wie auch immer. Auch wenn das Kind schon in den Brunnen gefallen ist - auch vor dieser Aktion lohnt sich auf jeden Fall noch eine Datensicherung, wenn man schon davor keine gemacht hat. Es ist immer schön, eine 2. oder 3. Chance zu haben.

Nachdem diese erste Hürde auf dem Weg zu einem funktionierenden System hoffentlich genommen wurde, sollte man noch einmal in sich gehen und überlegen, welche Pakete man installiert hatte, die sich eventuell im unsachgemäß entfernten /lib befanden. Wenn man sich nicht sicher ist, das System wird einen recht zartfühlend auf das Fehlen irgendwelcher Dateien hinweisen.
  • [gelöscht]

Hallo,
ich bin leider mit diesem glibc update in eine für mich unlösbare situation geraten. ich hab shcon sämtliche sachen durchgelesen und ausprobiert, sorry also dass ich den beitrag noch einmal hochhole.
ich hab ein arch64 und durch einen dreher im system komme ich nicht weiter, bzw. zerschieße mir immer wieder das system.

habe, wie ja wohl viele, die /lib gelöscht gehabt, danach ging logischerweise nichts mehr.
die /lib64 verweist auf /lib, warum auch immer. nach einspielen der /lib aus einem backup gehts soweit wieder, nur habe ich nun keine möglichkeit auf die neue glibc zu kommen. durch einspielen des backup verweisen bestimmte wichtige biblotheken auf sich selbst, und auch eine ältere glibc. da ich zwischen durch blöderweise ein pacman -Scc ausgeführt habe, stehe ich nun dumm da.

ich hoffe ich komme um eine neu install drum herum, und ihr könnt mir helfen.
danke, dkmo

ls -lash /lib
http://pastebin.com/PNKNb69C

find /lib -exec pacman -Qo -- {} +|grep Fehler
http://pastebin.com/29FcCK6c
@dkmod:
Dein System bootet und du kannst dich als root einloggen?
Was sagen aktuell:
pacman -Q glibc
pacman -Q lib32-glibc
pacman -Si lib32-glibc
und
pacman -Qu
???

//Edit: pacman -Si lib32-glibc!!! Hier ist nur die Versionsnummer interessant die installiert werden würde, nicht das ganze andere an Infos was -Si mitbietet.
  • [gelöscht]

GerBra schrieb@dkmod:
Dein System bootet und du kannst dich als root einloggen?
Hi, ja ich kann mich einloggen hier der output
http://pastebin.com/eAKXxHVS

ich denke das problem ist ähnlich wie hier beschrieben
So, nach ein wenig Erkunden hab ich des Rätsels Lösung gefunden: Ich hatte früher aus mir jetzt nicht mehr bekannten Gründen den Link /lib64 +> /lib angelegt. Das ging bisher gut, weil kein Paket direkt nach /lib64 schreiben wollte.
Jetzt hat glibc aber die so-Dateien nach /lib gelegt und in /lib64 hinterher Links zu den Dateien angelegt. Weil aber /lib und /lib64 bei mir das gleiche Verzeichnis waren lagen dann natürlich in /lib auf sich selbst verweisende Links. Und da es sich um so essentielle Bibliotheken wie ld-linux und libc gehandelt hat, flog mir dabei das System um die Ohren. https://forum.archlinux.de/viewtopic.php?pid=255025#p255025
so oder so aehnlich schätze ich die situation bei mir auch ein durch das eingespielte /lib aus dem backup...
Ok, das Hauptproblem ist momentan die Diskrepanz zwischen den real (aus dem Backup = glibc-2.15) installierten glibc-Files in /lib und dem ,was deine Paketverwaltung denkt was du installiert hast.
1 Schritt: beides wieder in Einklang kriegen
Besorge dir die 2.16.0-1 glibc version und installiere diese mit pacman -U
cd /tmp
wget http://arm.konnichi.com/core/os/x86_64/glibc-2.16.0-1-x86_64.pkg.tar.xz
pacman -U /tmp/glibc-2.16.0-1-x86_64.pkg.tar.xz
Es kann notwendig sein evtl. Paketsignierung in der pacman.conf te,mporär für das -U abzustellen.

Wenn das funktioniert hat, steht nur noch das glibc-Upgrade auf die 2.16.0-2 an. Das ist das problematische mit der /lib symlinkerei nach /usr/lib.
Vorher poste aber nochmal (//edit: vorausgesetzt obiges hat funktioiert) die Ausgabe von:
pacman -Qo /lib/*
pacma -Qo /lib
Ja, diese (die zu keinem paket gehören) löschst du.
Danach sollte ein:
pacman -Su
ohne Fehler durchlaufen.
Dies bringt dir das Update auf glibc 2.16.0-2
Ein:
ls -ld /lib
sollte nun auch anzeigen, das /lib ein Symlink auf /usr/lib ist.
Ebenfalls sollte /lib64 als Symlink nach /usr/lib zeigen.
Wenn das so ok ist, dann solltest du sicherheitshalber auch nochmal lib32-gllibc nachinstallieren.
  • [gelöscht]

Vielen Dank,
hat nun alles funktioniert =)=)

Dir ein schönes Wochende
Dito!

NB: obige Tips galten nur für dkmods Zustand des Rechners. Löschen der Files in /lib war nur deshalb sicher, da *nur* noch das glibc-Upgrade anstand.
Bei mir ist auch das Problem, dass bei pacman -Su noch jede Menge rumliegt.
~$ grep '^lib/' /var/lib/pacman/local/*/files
/var/lib/pacman/local/glibc-2.16.0-1/files:lib/
/var/lib/pacman/local/glibc-2.16.0-1/files:lib/ld-2.16.so
/var/lib/pacman/local/glibc-2.16.0-1/files:lib/ld-linux-x86-64.so.2
/var/lib/pacman/local/glibc-2.16.0-1/files:lib/libBrokenLocale-2.16.so
/var/lib/pacman/local/glibc-2.16.0-1/files:lib/libBrokenLocale.so.1
/var/lib/pacman/local/glibc-2.16.0-1/files:lib/libSegFault.so
/var/lib/pacman/local/glibc-2.16.0-1/files:lib/libanl-2.16.so
/var/lib/pacman/local/glibc-2.16.0-1/files:lib/libanl.so.1
/var/lib/pacman/local/glibc-2.16.0-1/files:lib/libc-2.16.so
/var/lib/pacman/local/glibc-2.16.0-1/files:lib/libc.so.6
/var/lib/pacman/local/glibc-2.16.0-1/files:lib/libcidn-2.16.so
/var/lib/pacman/local/glibc-2.16.0-1/files:lib/libcidn.so.1
/var/lib/pacman/local/glibc-2.16.0-1/files:lib/libcrypt-2.16.so
/var/lib/pacman/local/glibc-2.16.0-1/files:lib/libcrypt.so.1
/var/lib/pacman/local/glibc-2.16.0-1/files:lib/libdl-2.16.so
/var/lib/pacman/local/glibc-2.16.0-1/files:lib/libdl.so.2
/var/lib/pacman/local/glibc-2.16.0-1/files:lib/libm-2.16.so
/var/lib/pacman/local/glibc-2.16.0-1/files:lib/libm.so.6
/var/lib/pacman/local/glibc-2.16.0-1/files:lib/libmemusage.so
/var/lib/pacman/local/glibc-2.16.0-1/files:lib/libnsl-2.16.so
/var/lib/pacman/local/glibc-2.16.0-1/files:lib/libnsl.so.1
/var/lib/pacman/local/glibc-2.16.0-1/files:lib/libnss_compat-2.16.so
/var/lib/pacman/local/glibc-2.16.0-1/files:lib/libnss_compat.so.2
/var/lib/pacman/local/glibc-2.16.0-1/files:lib/libnss_db-2.16.so
/var/lib/pacman/local/glibc-2.16.0-1/files:lib/libnss_db.so.2
/var/lib/pacman/local/glibc-2.16.0-1/files:lib/libnss_dns-2.16.so
/var/lib/pacman/local/glibc-2.16.0-1/files:lib/libnss_dns.so.2
/var/lib/pacman/local/glibc-2.16.0-1/files:lib/libnss_files-2.16.so
/var/lib/pacman/local/glibc-2.16.0-1/files:lib/libnss_files.so.2
/var/lib/pacman/local/glibc-2.16.0-1/files:lib/libnss_hesiod-2.16.so
/var/lib/pacman/local/glibc-2.16.0-1/files:lib/libnss_hesiod.so.2
/var/lib/pacman/local/glibc-2.16.0-1/files:lib/libnss_nis-2.16.so
/var/lib/pacman/local/glibc-2.16.0-1/files:lib/libnss_nis.so.2
/var/lib/pacman/local/glibc-2.16.0-1/files:lib/libnss_nisplus-2.16.so
/var/lib/pacman/local/glibc-2.16.0-1/files:lib/libnss_nisplus.so.2
/var/lib/pacman/local/glibc-2.16.0-1/files:lib/libpcprofile.so
/var/lib/pacman/local/glibc-2.16.0-1/files:lib/libpthread-2.16.so
/var/lib/pacman/local/glibc-2.16.0-1/files:lib/libpthread.so.0
/var/lib/pacman/local/glibc-2.16.0-1/files:lib/libresolv-2.16.so
/var/lib/pacman/local/glibc-2.16.0-1/files:lib/libresolv.so.2
/var/lib/pacman/local/glibc-2.16.0-1/files:lib/librt-2.16.so
/var/lib/pacman/local/glibc-2.16.0-1/files:lib/librt.so.1
/var/lib/pacman/local/glibc-2.16.0-1/files:lib/libthread_db-1.0.so
/var/lib/pacman/local/glibc-2.16.0-1/files:lib/libthread_db.so.1
/var/lib/pacman/local/glibc-2.16.0-1/files:lib/libutil-2.16.so
/var/lib/pacman/local/glibc-2.16.0-1/files:lib/libutil.so.1
/var/lib/pacman/local/hal-0.5.14-6/files:lib/
/var/lib/pacman/local/hal-0.5.14-6/files:lib/udev/
/var/lib/pacman/local/hal-0.5.14-6/files:lib/udev/rules.d/
/var/lib/pacman/local/hal-0.5.14-6/files:lib/udev/rules.d/90-hal.rules
/var/lib/pacman/local/ld-lsb-3-2/files:lib/
/var/lib/pacman/local/ld-lsb-3-2/files:lib/ld-lsb.so.3
/var/lib/pacman/local/lib32-glibc-2.15-3/files:lib/
/var/lib/pacman/local/lib32-glibc-2.15-3/files:lib/ld-linux.so.2
/var/lib/pacman/local/libnjb-2.2.6-3/files:lib/
/var/lib/pacman/local/libnjb-2.2.6-3/files:lib/udev/
/var/lib/pacman/local/libnjb-2.2.6-3/files:lib/udev/rules.d/
/var/lib/pacman/local/libnjb-2.2.6-3/files:lib/udev/rules.d/45-libnjb.rules
/var/lib/pacman/local/udev-compat-180-1/files:lib/
/var/lib/pacman/local/udev-compat-180-1/files:lib/udev/
/var/lib/pacman/local/udev-compat-180-1/files:lib/udev/devices/
/var/lib/pacman/local/udev-compat-180-1/files:lib/udev/devices/autofs
/var/lib/pacman/local/udev-compat-180-1/files:lib/udev/devices/btrfs-control
/var/lib/pacman/local/udev-compat-180-1/files:lib/udev/devices/cpu/
/var/lib/pacman/local/udev-compat-180-1/files:lib/udev/devices/cpu/microcode
/var/lib/pacman/local/udev-compat-180-1/files:lib/udev/devices/fuse
/var/lib/pacman/local/udev-compat-180-1/files:lib/udev/devices/mapper/
/var/lib/pacman/local/udev-compat-180-1/files:lib/udev/devices/mapper/control
/var/lib/pacman/local/udev-compat-180-1/files:lib/udev/devices/net/
/var/lib/pacman/local/udev-compat-180-1/files:lib/udev/devices/net/tun
/var/lib/pacman/local/udev-compat-180-1/files:lib/udev/devices/ppp
/var/lib/pacman/local/udev-compat-180-1/files:lib/udev/devices/snd/
/var/lib/pacman/local/udev-compat-180-1/files:lib/udev/devices/snd/seq
/var/lib/pacman/local/udev-compat-180-1/files:lib/udev/devices/snd/timer
/var/lib/pacman/local/udev-compat-180-1/files:lib/udev/devices/uinput
/var/lib/pacman/local/udev-compat-180-1/files:lib/udev/rules.d/
/var/lib/pacman/local/udev-compat-180-1/files:lib/udev/rules.d/30-kernel-compat.rules
~$
wenn ich die entfernen will:
~$ sudo pacman -R ld-lsb lib32-glibc libnjb udev-compat
Prüfe Abhängigkeiten...
Fehler: Konnte den Vorgang nicht vorbereiten (Kann Abhängigkeiten nicht erfüllen)
:: gnomad2: benötigt libnjb
:: hamachi: benötigt lib32-glibc
:: lib32-alsa-lib: benötigt lib32-glibc
:: lib32-bzip2: benötigt lib32-glibc
:: lib32-dbus-core: benötigt lib32-glibc
:: lib32-expat: benötigt lib32-glibc
:: lib32-gcc-libs: benötigt lib32-glibc>=2.14
:: lib32-keyutils: benötigt lib32-glibc
:: lib32-libffi: benötigt lib32-glibc
:: lib32-libglapi: benötigt lib32-glibc
:: lib32-libgpg-error: benötigt lib32-glibc
:: lib32-libice: benötigt lib32-glibc
:: lib32-libjpeg-turbo: benötigt lib32-glibc
:: lib32-libpciaccess: benötigt lib32-glibc
:: lib32-libxau: benötigt lib32-glibc
:: lib32-libxdmcp: benötigt lib32-glibc
:: lib32-ncurses: benötigt lib32-glibc
:: lib32-nspr: benötigt lib32-glibc
:: lib32-pixman: benötigt lib32-glibc
:: lib32-readline: benötigt lib32-glibc
:: lib32-sqlite3: benötigt lib32-glibc
:: lib32-util-linux: benötigt lib32-glibc
:: lib32-xcb-util: benötigt lib32-glibc
:: lib32-zlib: benötigt lib32-glibc
:: teamviewer: benötigt lib32-glibc
~$ 
wenn ich lib32-glibc raus nehme wird immernoch libnjb von gnomad2 benutzt.
Was ich schon gemacht habe: Ich habe gnomad2 weggeworfen und alles deinstalliert was ging. lib32-glibc versperrt mir allerdings jetzt noch den Weg zu
sudo pacman -Su
Hat mir jemand ein paar Zeilen (und erklärt sie mir) damit ich das gelöst bekomme?

Grüße,
musicmatze
Entferne erstmal alles, was da nict reingehört: "pacman -Rc libnjb udev-compat ld-lsb", dann "pcman -Syu --ignore glibc". Hiernach sollte ein -Syu durchlaufen. Die entfernten Pakete (bis auf udev-compat, welches nicht mehr benötigt wird) musst Du entsprechend der neuen Pfade anpassen und neu bauen.
Pierre schriebEntferne erstmal alles, was da nict reingehört: "pacman -Rc libnjb udev-compat ld-lsb", dann "pcman -Syu --ignore glibc". Hiernach sollte ein -Syu durchlaufen. Die entfernten Pakete (bis auf udev-compat, welches nicht mehr benötigt wird) musst Du entsprechend der neuen Pfade anpassen und neu bauen.
Ich hatte die libnjb, udev-compat und ld-lsb ja schon entfernt. Trotzdem hier der ganze output nochmal:
~$ sudo pacman -Rc libnjb udev-compat ld-lsb
Passwort: 
Fehler: Ziel nicht gefunden: libnjb
~$ sudo pacman -Rc udev-compat ld-lsb
Fehler: Ziel nicht gefunden: udev-compat
~$ sudo pacman -Rc ld-lsb
Fehler: Ziel nicht gefunden: ld-lsb
~$ sudo pacman -Syu --ignore glibc
:: Synchronisiere Paketdatenbanken...
 core ist aktuell
 extra ist aktuell
Fehler: Konnte Datei 'community.db' nicht von mirrors.kernel.org übertragen : Failed connect to mirrors.kernel.org:21; Ungültiger Dateideskriptor
 community ist aktuell
:: Starte komplette Systemaktualisierung...
Warnung: glibc: Ignoriere Paket-Aktualisierung (2.16.0-1 => 2.16.0-2)
 Es gibt nichts zu tun
~$ sudo pacman -Syu
Passwort: 
:: Synchronisiere Paketdatenbanken...
 core ist aktuell
 extra ist aktuell
 community ist aktuell
:: Starte komplette Systemaktualisierung...
Löse Abhängigkeiten auf...
Suche nach Zwischenkonflikten...

Pakete (1): glibc-2.16.0-2

Gesamtgröße der zu installierenden Pakete: 37,58 MiB
Größendifferenz der Aktualisierung:       0,00 MiB

Installation fortsetzen?  [J/n] 
(1/1) Überprüfe Paket-Integrität                                                                                                [#############################################################################] 100%
(1/1) Lade Paket-Dateien                                                                                                        [#############################################################################] 100%
(1/1) Prüfe auf Dateikonflikte                                                                                                  [#############################################################################] 100%
Fehler: Konnte den Vorgang nicht durchführen (In Konflikt stehende Dateien)
glibc: /lib existiert im Dateisystem
Fehler sind aufgetreten, keine Pakete wurden aktualisiert.
~$ 
Des weiteren dann:
~$ sudo pacman -Syu --ignore glibc
:: Synchronisiere Paketdatenbanken...
 core ist aktuell
 extra ist aktuell
 community ist aktuell
:: Starte komplette Systemaktualisierung...
Warnung: glibc: Ignoriere Paket-Aktualisierung (2.16.0-1 => 2.16.0-2)
 Es gibt nichts zu tun
~$ sudo pacman -Syu
:: Synchronisiere Paketdatenbanken...
 core ist aktuell
 extra ist aktuell
 community ist aktuell
:: Starte komplette Systemaktualisierung...
Löse Abhängigkeiten auf...
Suche nach Zwischenkonflikten...

Pakete (1): glibc-2.16.0-2

Gesamtgröße der zu installierenden Pakete: 37,58 MiB
Größendifferenz der Aktualisierung:       0,00 MiB

Installation fortsetzen?  [J/n] 
(1/1) Überprüfe Paket-Integrität                                                                                                [#############################################################################] 100%
(1/1) Lade Paket-Dateien                                                                                                        [#############################################################################] 100%
(1/1) Prüfe auf Dateikonflikte                                                                                                  [#############################################################################] 100%
Fehler: Konnte den Vorgang nicht durchführen (In Konflikt stehende Dateien)
glibc: /lib existiert im Dateisystem
Fehler sind aufgetreten, keine Pakete wurden aktualisiert.
~$ 
Irgendwas tut einfach nicht... und ich verstehe noch nicht wo das Problem ist.
Poste mal die Ausgaben von:
pacman -Q libnjb udev-compat ld-lsb lib32-glibc
pacman -Q /lib
pacman -Qo /lib/*
pacman -Qu
GerBra schriebPoste mal die Ausgaben von:
pacman -Q libnjb udev-compat ld-lsb lib32-glibc
pacman -Q /lib
pacman -Qo /lib/*
pacman -Qu
~$ pacman -Q libnjb udev-compat ld-lsb lib32-glibc
Fehler: Paket 'libnjb' wurde nicht gefunden.
Fehler: Paket 'udev-compat' wurde nicht gefunden.
Fehler: Paket 'ld-lsb' wurde nicht gefunden.
lib32-glibc 2.15-3
~$ pacman -Q /lib
Fehler: Paket '/lib' wurde nicht gefunden.
Warnung: '/lib' ist eine Datei, Sie möchten vielleicht -p/--file benutzen.
~$ pacman -Qo /lib/*
/lib/ld-2.16.so ist in glibc 2.16.0-1 enthalten
/lib/ld-linux.so.2 ist in lib32-glibc 2.15-3 enthalten
/lib/ld-linux-x86-64.so.2 ist in glibc 2.16.0-1 enthalten
/lib/libanl-2.16.so ist in glibc 2.16.0-1 enthalten
/lib/libanl.so.1 ist in glibc 2.16.0-1 enthalten
/lib/libBrokenLocale-2.16.so ist in glibc 2.16.0-1 enthalten
/lib/libBrokenLocale.so.1 ist in glibc 2.16.0-1 enthalten
/lib/libc-2.16.so ist in glibc 2.16.0-1 enthalten
/lib/libcidn-2.16.so ist in glibc 2.16.0-1 enthalten
/lib/libcidn.so.1 ist in glibc 2.16.0-1 enthalten
/lib/libcrypt-2.16.so ist in glibc 2.16.0-1 enthalten
/lib/libcrypt.so.1 ist in glibc 2.16.0-1 enthalten
/lib/libc.so.6 ist in glibc 2.16.0-1 enthalten
/lib/libdl-2.16.so ist in glibc 2.16.0-1 enthalten
/lib/libdl.so.2 ist in glibc 2.16.0-1 enthalten
/lib/libm-2.16.so ist in glibc 2.16.0-1 enthalten
/lib/libmemusage.so ist in glibc 2.16.0-1 enthalten
/lib/libm.so.6 ist in glibc 2.16.0-1 enthalten
/lib/libnsl-2.16.so ist in glibc 2.16.0-1 enthalten
/lib/libnsl.so.1 ist in glibc 2.16.0-1 enthalten
/lib/libnss_compat-2.16.so ist in glibc 2.16.0-1 enthalten
/lib/libnss_compat.so.2 ist in glibc 2.16.0-1 enthalten
/lib/libnss_db-2.16.so ist in glibc 2.16.0-1 enthalten
/lib/libnss_db.so.2 ist in glibc 2.16.0-1 enthalten
/lib/libnss_dns-2.16.so ist in glibc 2.16.0-1 enthalten
/lib/libnss_dns.so.2 ist in glibc 2.16.0-1 enthalten
/lib/libnss_files-2.16.so ist in glibc 2.16.0-1 enthalten
/lib/libnss_files.so.2 ist in glibc 2.16.0-1 enthalten
/lib/libnss_hesiod-2.16.so ist in glibc 2.16.0-1 enthalten
/lib/libnss_hesiod.so.2 ist in glibc 2.16.0-1 enthalten
/lib/libnss_nis-2.16.so ist in glibc 2.16.0-1 enthalten
/lib/libnss_nisplus-2.16.so ist in glibc 2.16.0-1 enthalten
/lib/libnss_nisplus.so.2 ist in glibc 2.16.0-1 enthalten
/lib/libnss_nis.so.2 ist in glibc 2.16.0-1 enthalten
/lib/libpcprofile.so ist in glibc 2.16.0-1 enthalten
/lib/libpthread-2.16.so ist in glibc 2.16.0-1 enthalten
/lib/libpthread.so.0 ist in glibc 2.16.0-1 enthalten
/lib/libresolv-2.16.so ist in glibc 2.16.0-1 enthalten
/lib/libresolv.so.2 ist in glibc 2.16.0-1 enthalten
/lib/librt-2.16.so ist in glibc 2.16.0-1 enthalten
/lib/librt.so.1 ist in glibc 2.16.0-1 enthalten
/lib/libSegFault.so ist in glibc 2.16.0-1 enthalten
/lib/libthread_db-1.0.so ist in glibc 2.16.0-1 enthalten
/lib/libthread_db.so.1 ist in glibc 2.16.0-1 enthalten
/lib/libutil-2.16.so ist in glibc 2.16.0-1 enthalten
/lib/libutil.so.1 ist in glibc 2.16.0-1 enthalten
Fehler: Kann die Eigentumsrechte am Verzeichnis '/lib/modules' nicht bestimmen
Fehler: Kann die Eigentumsrechte am Verzeichnis '/lib/udev' nicht bestimmen
~$ pacman -Qu
glibc 2.16.0-1
~$