darkstar999 schrieb
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!
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.
OneUser schriebHatte 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.
darkstar999 schrieb
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!
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 🙂
olsta schriebDann 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.
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!
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 😉.
olsta schriebich verstehe gerade nicht die Problematik.
Genau, und deshalb solltest du deine fragwürdigen, und zu inkonsistenz führenden „Tipps“ besser sein lassen.
Dirk schrieb Genau, und deshalb solltest du deine fragwürdigen, und zu inkonsistenz führenden „Tipps“ besser sein lassen.
Bitte etwas ausführlicher. Ich habe beschrieben warum ich darin keine Problem sehe. Was du hier machst ist sehr plakativ.
OneUser schriebHatte 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
Genau so ist es bei mir. Leider ist hierzu noch nichts geantwortet worden.

Grüße Hellmi

Edit: unter /usr/sbin sind folgende Programme: mate-display-properties-install-systemwide
mate-power-backlight-helper

Was soll ich damit machen?
olsta schriebBitte etwas ausführlicher.
Das Paketupdate wurde abgebrochen, bevor ein systemkritisches Paket installiert wurde. Statt das Paket sauber nachträglich innerhalb eines chroot sauber nachzuinstallieren, schlägst du vor, ohne das eigentliche System am laufen zu haben (Cache, Journal, eventuell weitere Partitionen) von Außerhalb mit Pacman rumzumachen, und „bei bedarf“ wild Systemverzeichnisse umzubenennen. Aber ehrlich gesagt habe ich keine Lust, mich darüber mit dir über den richtigen Weg auseinanderzusetzen.
OneUser schriebHatte 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..
hellmi666 schriebGenau so ist es bei mir. Leider ist hierzu noch nichts geantwortet worden.
1.)
Naja wie Pierre schreibt erstellt der Befehl eine Liste mit Paketen (die keinem Repo angehören) und angepasst werden müssen.
Keine Liste == Keine expliziten Anpassungen von non-repo Paketen.

2.)
Doch das wurde bereits von Pierre beantwortet:
<repo> musst du ersetzen mit dem Unoffiziellen Repo das du verwendest.
Standardmäßig hat man kein inoffizielles Repo drin, also wenn du da eins drin hast, wüsstest du es wohl.
Falls du für yaourt archlinux-fr drin hast, solltest du das (denke ich mal) damit probieren:
sprich <repo> = archlinux-fr
(Oder der gesetzte Name in /etc/pacman.conf)

Zumd. ist archlinux-fr kein offizielles Repo.

3.)
Es geht um Dateien, die zu keinem Paket gehören.
Die müssen verschoben werden.
Eine Liste kann man mit dem Befehl erstellen.
Keine Liste (bzw. leere Liste) == Keine Dateien ohne zugehöriges Paket.

Beantwortet das deine Fragen?
Dirk schrieb
olsta schriebBitte etwas ausführlicher.
Das Paketupdate wurde abgebrochen, bevor ein systemkritisches Paket installiert wurde. Statt das Paket sauber nachträglich innerhalb eines chroot sauber nachzuinstallieren, schlägst du vor, ohne das eigentliche System am laufen zu haben (Cache, Journal, eventuell weitere Partitionen) von Außerhalb mit Pacman rumzumachen, und „bei bedarf“ wild Systemverzeichnisse umzubenennen. Aber ehrlich gesagt habe ich keine Lust, mich darüber mit dir über den richtigen Weg auseinanderzusetzen.
*Hust* Ich hatte das jetzt eigentlich als Nachfrage zur Klärung des eigenen Fehlers interpretiert, nicht zur Diskussion des Weges. Die Frage wo man Fehler gemacht hat, ist doch legitim?
Lieber Dirk,
Dirk schrieb ... schlägst du vor, ohne das eigentliche System am laufen zu haben (Cache, Journal, eventuell weitere Partitionen) von Außerhalb mit Pacman rumzumachen,
Aus dem wiki (Installationsanleitung):

pacstrap /mnt base base-devel (Auszug: Installieren eines Basissystem)

Da läuft auch noch kein System ...
Dirk schrieb und „bei bedarf“ wild Systemverzeichnisse umzubenennen.
Nein! Dies habe ich aber auch beschrieben.

@darkstar999 hast du eigentlich Probleme jetzt mit deinem System?
Pierre schrieb 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
Dies wirft einige Fragen bei mir auf.

1. Entspricht das noch dem FHS Standard? Wenn ja welchem ( Welcher Version )?

2. Mal angenommen die $SHELL des Nutzers "root" ist auch eine andere als die Bash ( zB. zsh ) sollte die dann auch "ignored" werden, also --ignored filesystem,bash,zsh?

3. Kann mir ( dem Arch-Mega-super-DAU ) mal jmd erklären, was ich dann mit Paketen (bzw deren Dateien) mache, die sich dann doch in den genannten Verzeichnissen befinden ? einfach "cp"-fireandforget oder wie ?

MfG Macron
Macron schrieb 2. Mal angenommen die $SHELL des Nutzers "root" ist auch eine andere als die Bash ( zB. zsh ) sollte die dann auch "ignored" werden, also --ignored filesystem,bash,zsh?
Zumindest bei der zsh geht's ohne ignore durch. Dass bash ignoriert werden muss, hat, wenn ich das richtig verstanden habe, nichts mit Usershell oder nicht Usershell zu tun, da geht's um einen internen /bin/sh-Aufruf (und /bin/sh ist unter Arch afaik ein Symlink auf /bin/bash).
Macron schrieb3. Kann mir ( dem Arch-Mega-super-DAU ) mal jmd erklären, was ich dann mit Paketen (bzw deren Dateien) mache, die sich dann doch in den genannten Verzeichnissen befinden ? einfach "cp"-fireandforget oder wie ?
Vorm Update derart anpassen, dass sie dort nichts mehr ablegen, und dann erst diese Updaten, oder die Pakete erst mal deinstallieren, dann updaten, und dann wieder installieren (durch die Symlinks passt das dann ja *g*)
olsta schrieb @darkstar999 hast du eigentlich Probleme jetzt mit deinem System?
Abzulut nicht lsmod und insmod etc. aus Sbin wurden auch neu gebildet alles rennt super wie vorher! Danke noch mal!
  • [gelöscht]

Imho war die Ankündigung und Erläuterung des Vorgangs etwas unglücklich (entgegen sonstiger Fälle). Also im Ernst: Ich weiß auch nicht, was zu tun ist, kann es nur vermuten, dass ich symbolische Links für einige Pakete auf /usr/bin setzen soll?
"Anpassen" ist da leider nicht so verständlich. Der Verfasser (der sicher viel beiträgt) möge sich bitte nict auf den Schlips getreten fühlen. Es ist eigentlich immer sehr unfair Kritik an die zu verteilen, die freiwillige Arbeit leisten.
Trotzdem wäre eine verständlichere Anleitung sehr sinnvoll (ich kann sie leider nicht leisten).
  • [gelöscht]

LusH schrieb1.)
Naja wie Pierre schreibt erstellt der Befehl eine Liste mit Paketen (die keinem Repo angehören) und angepasst werden müssen.
Keine Liste == Keine expliziten Anpassungen von non-repo Paketen.

2.)
Doch das wurde bereits von Pierre beantwortet:
<repo> musst du ersetzen mit dem Unoffiziellen Repo das du verwendest.
Standardmäßig hat man kein inoffizielles Repo drin, also wenn du da eins drin hast, wüsstest du es wohl.
Falls du für yaourt archlinux-fr drin hast, solltest du das (denke ich mal) damit probieren:
sprich <repo> = archlinux-fr
(Oder der gesetzte Name in /etc/pacman.conf)

Zumd. ist archlinux-fr kein offizielles Repo.

3.)
Es geht um Dateien, die zu keinem Paket gehören.
Die müssen verschoben werden.
Eine Liste kann man mit dem Befehl erstellen.
Keine Liste (bzw. leere Liste) == Keine Dateien ohne zugehöriges Paket.

Beantwortet das deine Fragen?
also heisst es, wenn bei:
pacman -Qqo /bin /sbin /usr/sbin | pacman -Qm -
und
paclist archlinux-fr | awk ' { print $1 } ' | pacman -Ql - | grep ' /s\?bin/| /usr/sbin/'
kein Output IM TERMINAL ausgibt, dass man NICHTS machen muss? (Oder wird in irgend einem Ordner eine list.txt o.Ä. erstellt?
Demnach einfach Aktualisieren mit folgenden Befehlen?
# pacman -Syu --ignore filesystem,bash
# pacman -S bash
# pacman -Su
?

Tut mir leid.. Aber ich komm sowas von nicht mir :-S Normalerweise bin ich wirklich nicht so auf dem Schlauch aber heute hängts irgendwie..
Ein Blick in die entsprechenden Manpages hilft:
pacman -Q --help
Dort steht beispielsweise, dass -m ein spezieller Filter ist, der etwas anzeigt.
Und auch, dass -q für quiet steht (weniger Informationen) und -o etwas abfragt (näheres immer aus --help entnehmen).
Wenn also erst etwas abgefragt wird, und dann durch einen Filter gejagt wird, der etwas nur auflistet, wird dabei schonmal keine Datei entstehen.

Das kannst du aber natürlich auch machen wenns dir gefällt:
pacman -Qqo /bin /sbin /usr/sbin | pacman -Qm - > list.txt
Selbiges für den zweiten Befehl:
paclist --help
paclist - List all packages installed from a given repo
paclist listet also auch nur etwas auf.
awk und grep sollten dir bekannt sein.

Und für pacman -Ql hilft auch wieder pacman -Q --help weiter:
-l, --list Zeigt den Inhalt des abgefragten Paketes an
Kurz:
Wenn 1, 2 und 3 nicht verdächtig sind (sprich nichts ausgeben) sollte alles funktionieren, vorausgesetzt natürlich du verwendest kein autofs, dann musst du eben evtl. nachhelfen.
(Ist aber auch beschrieben wie)
OneUser schriebDemnach einfach Aktualisieren mit folgenden Befehlen?
Jep.
Hat bei mir ohne weiteres geklappt.

//edit:
Und IgnorePkg und IgnoreGroup müssen eben noch überprüft werden, falls da etwas gesetzt ist (muss explizit gemacht werden, standardmäßig sind die Optionen auskommentiert)
  • [gelöscht]

Zum mitdenken:
pacman -Q
die lokale pacmandb fragen und zwar in diesem Falle
  • q nur paketnamen
  • b besitzt die übergeben Dateien:
    • /sbin
    • /usr/sbin
Das pipst du dann an
pacman -Q
  • m nur Pakete die nicht in den repos sind
  • - lies von stdin (die Pipe)

Dammit!
eben auf Vorschau gedrückt und LusH ist schon fertig.