Bei der nächsten Aktualisierung werdet Ihr mit folgender Meldung begrüßt werden:
Fehler: Konnte den Vorgang nicht durchführen (In Konflikt stehende Dateien)
filesystem: /bin existiert im Dateisystem
filesystem: /sbin existiert im Dateisystem
filesystem: /usr/sbin existiert im Dateisystem
Fehler sind aufgetreten, keine Pakete wurden aktualisiert.
Alle Programme werden bei dieser Aktualisierung in das /usr/bin-Verzeichnis verschoben. Dieser Schritt entfernt die für Arch bedeutungslose Unterscheidung und vereinfacht die Paket-Betreuung für das Entwickler-Team. Für weitere Details und Gründe über diese Änderung lese diesen Beitrag.

Folgende Instruktionen erlauben eine sichere Aktualisierung:
  1. Korrigiere alle inoffiziellen Pakete, die Dateien in /bin, /sbin oder /usr/sbin enthalten. Eine Liste von Paketen, die nicht zu einem Repository gehören und angepasst werden müssen, kann wie folgt generiert werden:
    $ pacman -Qqo /bin /sbin /usr/sbin | pacman -Qm -
    Überprüfe ebenfalls Pakete aus inoffiziellen Repositories mittels:
    $ paclist <repo> | awk ' { print $1 } ' | pacman -Ql - | grep ' /s\?bin/\| /usr/sbin/'
  2. Stelle sicher, dass alle Pakete, die mit IgnorePkg oder IgnoreGroup von der Aktualisierung ausgeschlossen wurden, keine Dateien in /bin, /sbin oder /usr/sbin besitzen. Korrigiere diese falls nötig.
  3. Dateien in /bin, /sbin und /usr/sbin, die zu keinem Paket gehören müssen verschoben werden. Eine Liste dieser kann wie folgt erstellt werden:
    $ find /bin /sbin /usr/sbin -exec pacman -Qo -- {} + >/dev/null
  4. Alle Partitionen, die mittels autofs eingebunden werden, müssen vor der Aktualisierung eingebunden sein. Diese können möglicherweise später während der Aktualisierung nicht mehr eingebunden werden.
  5. Aktualisiere das System.


    Vor dem Ausführen dieser Aktualisierung, sollte man ein zweites Terminal mit root-Rechten für den unwahrscheinlichen Fall von Komplikationen offen halten, insbesondere bei der Aktualisierung über SSH.
    # pacman -Syu --ignore filesystem,bash
    # pacman -S bash
    # pacman -Su
Kurze Zwischenfrage: Das mit der filesystem-Geschichte ist mir einigermaßen klar, aber weshalb genau muß bash zuerst zurückgehalten bzw. eigens behandelt werden?
Die install-Scripte während des ersten Updates rufen /bin/sh auf. Da wir filesystem ignoriert haben, gibt es den Link von /bin auf /usr/bin allerdings noch nicht.
Alles klar, danke. 🙂
Hat einwandfrei funktioniert, danke!
Eine Frage hätt' ich doch noch:

Warum verweist eigentlich /usr/sbin auf /bin und nicht direkt auf /usr/bin (wie es ja jetzt /bin und /sbin tun)?
$ ls -l /bin {,/usr}/sbin
[…] /bin -> usr/bin/
[…] /sbin -> usr/bin/
[…] /usr/sbin -> bin/
qui schriebWarum verweist eigentlich /usr/sbin auf /bin und nicht direkt auf /usr/bin (wie es ja jetzt /bin und /sbin tun)?
Wurde vermutlich einfach noch nicht angepasst.
Da bin ich auch zunächst drauf reingefallen. /usr/sbin verlinkt auf bin und nicht /bin. Als relativer Link somit äquivalent zu /usr/bin.
Ah ich Depp, ich hab' nicht gescheit hingeschaut und übersehen, daß /usr/sbin ja auf bin (ohne Slash, also doch direkt auf /usr/bin !) und nicht auf /bin (mit Slash) verweist! Falscher Alarm, tut mir leid. :rolleyes:

Edit: Beaten by 30 seconds 😉
Ging es bei dem merge nicht auch um eine Vereihnheitlichung der Verzeichnisstruktur zwischen verschiedenen Distros? Mich wundert es dass /usr/sbin auch mit /usr/bin zusammegeführt wird, arch scheint ja die einzige Distribution zu sein die das macht, oder werden die in den Distros die den merge auch machen auch in Zukunft zusammengeführt? Im Moment ist das ja nicht der Fall, zumindest bei Fedora und openSUSE.
  • [gelöscht]

Zu 1.)

Als semi-erfahrener Arch-Nutzer, kann ich mir unter dem Begriff "anpassen" nicht so recht etwas vorstellen. Dh. es wäre hilfreich, wenn man das genauer spezifizieren könnte, was zu tun ist.

Es liefert
$ pacman -Qqo /bin /sbin /usr/sbin | pacman -Qm -
bei mir unter anderem
grub 0.97-21
und da möchte man doch eher ungern Experimente machen.

Im Voraus schon mal danke für Hinweise.
portix schriebGing es bei dem merge nicht auch um eine Vereihnheitlichung der Verzeichnisstruktur zwischen verschiedenen Distros? Mich wundert es dass /usr/sbin auch mit /usr/bin zusammegeführt wird, arch scheint ja die einzige Distribution zu sein die das macht, oder werden die in den Distros die den merge auch machen auch in Zukunft zusammengeführt? Im Moment ist das ja nicht der Fall, zumindest bei Fedora und openSUSE.
Andere Distributionen planen diesen Schritt ebenfalls.
Jean schrieb
grub 0.97-21
und da möchte man doch eher ungern Experimente machen.
Einen veralteten Bootloader zu verwenden, für den es keine Bugfixes mehr gibt, dürfte das gefährlichere Experiment sein…
  • [gelöscht]

Creshal schriebEinen veralteten Bootloader zu verwenden, für den es keine Bugfixes mehr gibt, dürfte das gefährlichere Experiment sein…
Hm,... vielleicht korreigieren wir das semi-erfahren.
Guter Punkt
  • [gelöscht]

Hatte gedacht, dass ich einfach folgendes einfach nur ins Terminal folgendes eingebe:

1. pacman -Qqo /bin /sbin /usr/sbin | pacman -Qm -
Hier bekomme ich gar kein Output im Terminal..

2. paclist <repo> | awk ' { print $1 } ' | pacman -Ql - | grep ' /s\?bin/| /usr/sbin/'
Hier bekomme ich folgenden Output: bash: Syntaxfehler beim unerwarteten Wort `|'

3. find /bin /sbin /usr/sbin -exec pacman -Qo -- {} + >/dev/null
Ebenfalls kein Output im Terminal..

:-| Als totaler N00b... Muss ich nun einfach den Inhalt bestimmter Ordner in andere Ordner verschieben :-S
kann jmd noch ein brauchbares schritt-für-schritt tut bereitstellen? ich fühle mich gerade überfordert -.-
Ahh habe folgendes Problem Filesystem ist noch nicht aktualliesiert hatte einen Stromausfall 🙁 :
ERROR: Root device mounted successfully, but /sbin/init does not exist.
Bailing out, you are on your own. Good luck.

sh: can`t access tty; job control turened off
[rootfs /]#

Jetzt stehe ich total auf dem Schlauch was kann ich machen ? gibt es eine Möglichkeit das wieder zu reparieren ?
Per Live cd komme ich auch nicht mehr ran arch-chroot schlägt auch fehl!
Dirk schriebNun, du könntest deine Platte mounten, dich manuell rein-chrooten, und das Update durchführen.
Per Live cd komme ich auch nicht mehr ran arch-chroot schlägt auch fehl!
Update :
[rootfs /]#chroot /new_root
chroot: can't execute '/bin/bash': no such file or directory