Du bist nicht angemeldet.

#1 03.06.2013 13:47:50

Pierre
Entwickler

Programme werden nach /usr/bin verschoben

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

Offline

#2 03.06.2013 14:50:56

qui
Mitglied

Re: Programme werden nach /usr/bin verschoben

Kurze Zwischenfrage: Das mit der filesystem-Geschichte ist mir einigermaßen klar, aber weshalb genau muß bash zuerst zurückgehalten bzw. eigens behandelt werden?

Offline

#3 03.06.2013 14:52:46

Pierre
Entwickler

Re: Programme werden nach /usr/bin verschoben

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.

Offline

#4 03.06.2013 14:55:47

qui
Mitglied

Re: Programme werden nach /usr/bin verschoben

Alles klar, danke. smile

Offline

#5 03.06.2013 15:45:37

Dirk
Moderator

Re: Programme werden nach /usr/bin verschoben

Hat einwandfrei funktioniert, danke!

Offline

#6 03.06.2013 15:48:40

qui
Mitglied

Re: Programme werden nach /usr/bin verschoben

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/

Beitrag geändert von qui (03.06.2013 15:49:54)

Offline

#7 03.06.2013 15:49:59

Dirk
Moderator

Re: Programme werden nach /usr/bin verschoben

qui schrieb:

Warum 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.

Offline

#8 03.06.2013 15:58:00

Pierre
Entwickler

Re: Programme werden nach /usr/bin verschoben

Da bin ich auch zunächst drauf reingefallen. /usr/sbin verlinkt auf bin und nicht /bin. Als relativer Link somit äquivalent zu /usr/bin.

Offline

#9 03.06.2013 15:58:30

qui
Mitglied

Re: Programme werden nach /usr/bin verschoben

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. roll

Edit: Beaten by 30 seconds wink

Beitrag geändert von qui (03.06.2013 16:00:15)

Offline

#10 03.06.2013 16:12:04

portix
Mitglied

Re: Programme werden nach /usr/bin verschoben

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.

Offline

#11 03.06.2013 16:14:54

Jean
Gast

Re: Programme werden nach /usr/bin verschoben

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.

#12 03.06.2013 16:16:22

Pierre
Entwickler

Re: Programme werden nach /usr/bin verschoben

portix schrieb:

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.

Andere Distributionen planen diesen Schritt ebenfalls.

Offline

#13 03.06.2013 16:20:55

Creshal
Mitglied

Re: Programme werden nach /usr/bin verschoben

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…

Offline

#14 03.06.2013 16:24:20

Jean
Gast

Re: Programme werden nach /usr/bin verschoben

Creshal schrieb:

Einen 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

#15 03.06.2013 16:33:26

OneUser
Gast

Re: Programme werden nach /usr/bin verschoben

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

#16 03.06.2013 16:36:00

LostPW
Mitglied

Re: Programme werden nach /usr/bin verschoben

kann jmd noch ein brauchbares schritt-für-schritt tut bereitstellen? ich fühle mich gerade überfordert -.-

Offline

#17 03.06.2013 16:36:37

darkstar999
Mitglied

Re: Programme werden nach /usr/bin verschoben

Ahh habe folgendes Problem Filesystem ist noch nicht aktualliesiert hatte einen Stromausfall sad :
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!

Beitrag geändert von darkstar999 (03.06.2013 16:38:14)

Offline

#18 03.06.2013 16:39:57

Dirk
Moderator

Re: Programme werden nach /usr/bin verschoben

Nun, du könntest deine Platte mounten, dich manuell rein-chrooten, und das Update durchführen.

Offline

#19 03.06.2013 16:42:39

darkstar999
Mitglied

Re: Programme werden nach /usr/bin verschoben

Dirk schrieb:

Nun, 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!

Offline

#20 03.06.2013 16:45:27

darkstar999
Mitglied

Re: Programme werden nach /usr/bin verschoben

Update :
[rootfs /]#chroot /new_root
chroot: can't execute '/bin/bash': no such file or directory

Offline

#21 03.06.2013 16:46:21

olsta
Mitglied

Re: Programme werden nach /usr/bin verschoben

darkstar999 schrieb:
Dirk schrieb:

Nun, 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!

Dann hänge deine root Partition in /mnt ein und mach ein pacman -Sy && pacman -Sr /mnt filesystem

Wenn er sich beschwert bin und sbin (unter /mnt) umbenennen.

EDIT: Ich gehe davon aus, dass vor dem Stromausfall bash über pacman installiert wurde.

Beitrag geändert von olsta (03.06.2013 16:54:46)

Offline

#22 03.06.2013 16:50:59

Pierre
Entwickler

Re: Programme werden nach /usr/bin verschoben

OneUser schrieb:

Hatte gedacht, dass ich einfach folgendes einfach nur ins Terminal folgendes eingebe:
2. paclist <repo> | awk ' { print $1 } ' | pacman -Ql - | grep ' /s\?bin/\| /usr/sbin/'
Hier bekomme ich folgenden Output: bash: Syntaxfehler beim unerwarteten Wort `|'

Hier musst Du <repo> natürlich durch den Namen des jeweiligen Repositories ersetzen.

Offline

#23 03.06.2013 16:56:01

Dirk
Moderator

Re: Programme werden nach /usr/bin verschoben

darkstar999 schrieb:
Dirk schrieb:

Nun, 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!

NICHT arch-chroot. MANUELL. Wie im Wiki-Artikel beschrieben, und zwar, nachdem er dich beim Booten ans rootfs entlassen hat. Ach ja „schlägt fehl“ ist keine Fehlermeldung, sondern eine Zustandsbeschreibung smile

olsta schrieb:

Dann hänge deine root Partition in /mnt ein und mach ein pacman -Sy && pacman -Sr /mnt filesystem

Wenn er sich beschwert bin und sbin (unter /mnt) umbenennen.

Bitte nur helfen, wenn du weißt, was du tust.

Beitrag geändert von Dirk (03.06.2013 16:56:53)

Offline

#24 03.06.2013 17:04:36

darkstar999
Mitglied

Re: Programme werden nach /usr/bin verschoben

olsta schrieb:

Dann hänge deine root Partition in /mnt ein und mach ein pacman -Sy && pacman -Sr /mnt filesystem
Wenn er sich beschwert bin und sbin (unter /mnt) umbenennen.
EDIT: Ich gehe davon aus, dass vor dem Stromausfall bash über pacman installiert wurde.

Besten dank ja wie gesagt es fehlte nur noch filesystem!

Offline

#25 03.06.2013 17:04:55

olsta
Mitglied

Re: Programme werden nach /usr/bin verschoben

Dirk schrieb:

Bitte nur helfen, wenn du weißt, was du tust.

Ja?

Wenn er doch das Paket bash installiert hat, aber bei filesystem wegen den bestehnden Verzeichnissen meckert, dann sind doch die bestehende Verzeichnisse vor der Aktualisierung von filesystem (fast) leer. War hier zumindest so ... ich verstehe gerade nicht die Problematik.

darkstar999 schrieb:

Besten dank ja wie gesagt es fehlte nur noch filesystem!

Huch wink.

Beitrag geändert von olsta (03.06.2013 17:06:01)

Offline

Fußzeile des Forums