Du bist nicht angemeldet.

Eine Antwort schreiben

Schreibe deinen Beitrag und versende ihn
Beitragsoptionen
Deine Antwort

Zurück

Themen-Übersicht (Neuester Beitrag zuerst)

JensKapitza
17.07.2012 10:27:18
stefanhusmann schrieb:

Auf der Mailing-Liste arch-dev-public hat Dave eine Mail geschrieben, die ich hier kurz übersetze:

Allan hat glib 2.16-2 nach [testing] geschoben, und damit wird /lib als
Verzeichnis verschwinden und durch einen symbolischen Link ersetzt. Eine Kurzanleitung ...

  • Im einfachsten Fall kann man folgendermaßen aktualisieren:

        pacman -Syu --ignore glibc && pacman -S glibc
  • Da dieser Fall oft nicht anwendbar ist, muss man, falls dies nicht funktioniert und irgendwas kryptisches in der Art "/lib gibt's schon" als Meldung kommt, herausfinden, was in /lib noch vorhanden ist, aber nicht zu glibc gehört. Im allgemeinen wird das das Verzeichnis /lib/modules sein.

     pacman -Qo /lib/* 

    gibt Hinweise, was gefixt oder gelöscht werden muss. Man sollte sich um alles kümmern, das nicht explizit zu glibc gehört und dann die Installation abschließen.

Es sollte nicht nötig sein, dies zu erwähnen, eber dennoch sei gesagt: Nie. --force. benutzen.

(Sorry, Daves letzte Anmerkung im Original ist nicht adäquat übersetzbar).

Allen hat dem zugestimmt, aber noch folgende kongeniale Ergänzungen vorgenommen:

  • Schritt 0: eine root-Shell öffnen, um ggf. wenn etwas schief geht damit weitermachen zu können

  • Schritt 1: Wie oben

     pacman -Qo /lib/* 
  • Schritt 2:

    find /var/lib/pacman/local -name files | xargs grep "^lib/$"

    Das sollte nur glibc zurückgeben. Falls nicht, ist da noch etwas, das man neu bauen oder löschen sollte.

  • pacman -Suy

Ich hoffe, damit klappts bei allen.

Nein wink leider nicht, schwerer ist es, wenn die Dateien plötlich keinem mehr gehören.

 Fehler: Kann die Eigentumsrechte am Verzeichnis '/lib/modules' nicht bestimmen
[root@dell2110 jens]# ls -lah /lib/modules/
insgesamt 16K
drwxr-xr-x 4 root root 4,0K 17. Jul 11:20 .
drwxr-xr-x 3 root root 4,0K 11. Jul 00:43 ..
drwxr-xr-x 3 root root 4,0K 21. Nov 2011  3.0.8
drwxr-xr-x 2 root root 4,0K 19. Jan 12:13 3.1.9-2-ARCH

Das sind aber keine selbstgebauten Kernel, scheint, dass bei einem update mal etwas vergessen wurde.

Bei mir half ein

 rm -rf /lib/modules/ 

---
Nur damit der Beitrag vollständig ist.

fs4000
13.07.2012 13:46:48
Creshal
13.07.2012 13:38:41

> Um was für Binaries geht es denn, wenn der Benutzer die nie aufruft, Programme aber?
Interne Scripte, bspw.

Ovion
13.07.2012 13:27:07

Und auch die Verschiebung von /lib nach /usr/lib wird also bald in den Standartdaufgenommen, wenn ich dich richtig verstanden habe?

Um was für Binaries geht es denn, wenn der Benutzer die nie aufruft, Programme aber?

fs4000
13.07.2012 13:23:58

Wenn du deine Distribution FHS-konform nennen willst, musst du den Standard einhalten. Arch versucht das bestmöglichst zu tun. Wir sollten nur nochmal überlegen, ob wir nicht auch /usr/libexec einführen möchten. GNU sieht das für Binaries vor, die nur von Programmen und nicht vom User aufgerufen werden sollen. Wir stecken das momentan alles per --libexecdir nach /usr/lib/$programmname, aber der neue FHS-Entwurf beinhaltet /usr/libexec auch endlich.

Ovion
13.07.2012 12:39:56

Cool, danke! Werde mich beizeiten mal einlesen!

Es steht Standard drüber, ist das ein offizieller Standard oder ein Should-Be, bei dem jeder doch selbst macht, was er für sinnvoll hält?

fs4000
13.07.2012 12:36:34

Wenn du es so genau wissen willst: http://www.linuxbase.org/betaspecs/fhs/fhs/index.html

Dieser Entwurf ist momentan von 2011. Der usr-Move ist da noch nicht berücksichtigt und das ganze ist teils immer noch recht historisch.

Ovion
13.07.2012 12:28:56

Also konsequenterweise bin, sbin (wo ist da noch gleich der Unterschied?) auch nach usr, weils binaries sind, die das System braucht?
Und wo wir gerade bei Ordnern sind, ich kann bis heute einige unter / nicht einordnen und finde da auch partout keine gute Übersicht, bin daher mal so frei zu fragen smile:
Ich glaube, einordnen zu können:
bin - Binaries
sbin - Static (?) Binaries (was auch immer der Unterschied ist)
dev - Devices, also die angeschlossene Hardware
home - die Home-Ordner
run - für die Prozessdateien (*.pid) laufender Prozesse
tmp - für temporäre Dateien
usr - unix system ressources - alles, was das System zum arbeiten braucht
srv - Server (enthält die Ordner ftp, http, nur warum liegt das unter /?)
sys - wie usr, nur auf Kernelebene (also eine unterm System)? So sieht's zumindes dem Inhalt nach aus.
etc - alles, was in keinen anderen reinpasst (z.B. systemrelevante config-Files)

Die Ordner, die mir noch nicht so klar sind, sind folgende:
lost+found - ?
media - unter Ubuntu wurden hier CDs, Sticks hingemountet, glaube ich
mnt - was aber unterscheidet dann media von mnt (für mount == mountpoints?)
opt - könnte optical heißen, dann gesellt es sich aber zur Problemgruppe media&mnt
Bis hier her auch alle leer (zumindest bei mir);
proc - laufende Prozesse liegen ja schon in /run, binaries liegen doch eher in bin?
var - einfach globale Variablen? Ich weiß, das Pacman da was zwischenspeichert, aber sonst?

PS: @fs4000: ja, ich glaube dir, dass das nix mit systemd zu tun hat. wink

fs4000
13.07.2012 12:07:26
Ovion schrieb:
fs4000 schrieb:

Da man inzwischen (bzw. schon länger) gar nicht mehr genau sagen kann, was man vor dem /usr Mount braucht, müsste man eigentlich das halbe System nach /bin, /lib und /sbin schieben.

Das hattest du so noch nicht gesagt (zumindest hatte ich es nicht so verstanden) wink.

Das war auch von mir so interpretiert, diesen Vorschlag gab es natürlich nie. Fakt ist, dass Booten ohne /usr kaputt ist: http://freedesktop.org/wiki/Software/sy … -is-broken (nochmal zu Erinnerung: das Problem ist unabhängig von Systemd)

Ovion schrieb:

Der Plan ist also, alles, was das System zum Arbeiten laden muss in usr (für Unix System Ressources) zu packen und unter / dann zum einen usr, zum anderen home, proc (für Prozesse), boot (für den Bootloader), dev (für Devices) etc zu haben (also alles, was für das System quasi dynamisch ist)?

Genau

Ovion
13.07.2012 12:02:13
fs4000 schrieb:

Da man inzwischen (bzw. schon länger) gar nicht mehr genau sagen kann, was man vor dem /usr Mount braucht, müsste man eigentlich das halbe System nach /bin, /lib und /sbin schieben.

Das hattest du so noch nicht gesagt (zumindest hatte ich es nicht so verstanden) wink.

Der Plan ist also, alles, was das System zum Arbeiten laden muss in usr (für Unix System Ressources) zu packen und unter / dann zum einen usr, zum anderen home, proc (für Prozesse), boot (für den Bootloader), dev (für Devices) etc zu haben (also alles, was für das System quasi dynamisch ist)?

fs4000
13.07.2012 11:34:45

Ich wiederhol mich hier ein bisschen. Die Verzeichnisse waren da, um ohne /usr booten zu können, weil es z.B. im Netzwerk lag. Da musste also alles drin liegen, was evtl. irgendwie benötigt wird, um an /usr ranzukommen.

siehe FHS (3.0 Draft 1):
http://www.linuxbase.org/betaspecs/fhs/fhs/ch03s04.html
http://www.linuxbase.org/betaspecs/fhs/fhs/ch03s09.html
http://www.linuxbase.org/betaspecs/fhs/fhs/ch03s16.html

Da man inzwischen (bzw. schon länger) gar nicht mehr genau sagen kann, was man vor dem /usr Mount braucht, müsste man eigentlich das halbe System nach /bin, /lib und /sbin schieben. Fedora hat sich entschieden, dieses Konzept komplett aufzugeben, was auch sinnvoll ist. Dieses ganze Dateisystemlayout Zeug ist recht historisch und nicht mehr zeitgemäß (siehe auch das /var/run Problem, was jetzt /run ist).

Ovion
12.07.2012 21:17:20

@fs4000
Besten Dank, hatte mich mehr in den Arch-Wikis rumgetrieben, die waren da nicht ganz so ergiebig wie die Wikipedia.

Also liegen bisher die (bzw. einige?) Kernelmodule in /lib, was liegt denn üblicherweise in /lib und /usr/lib? ich hab mir eben mal ein ls in /usr/lib gegönnt, scheint ja schon eine ganze Menge zu sein, u. A. ein Ordner für Thunderbird, viele Dateien, deren Endung ich nicht zuordnen kann (*.so, *.so.1.0, *.so.0.0.0 etc) und interessanterweise u. A. auch ein Ordner für systemd, obwohl ich auf diesem System nie systemd installiert habe...

arlite
12.07.2012 19:09:10
Ovion schrieb:

/usr hört sich für mich danach an, als liege dort Zeug für die user…?

Nein, mit User hat das nicht zu tun. Irgendwo hatte ich mal gelesen, daß „usr“ für Unix System Resources steht.

fs4000
11.07.2012 21:06:30

http://en.wikipedia.org/wiki/Linux_startup_process

Kurz: Firmware lädt den Bootloader welcher Kernel-Image und Initramfs in den Speicher lädt und den Kernel dann startet. Der Kernel initialisiert die grundlegenden Hardwarebausteine und führt dann /init vom Initramfs aus, welches dafür sorgt, dass das Dateisystem gemountet wird (noch mehr Hardware-Initialisierung, evtl. Netzwerk, etc.). Anschließend wird in das root-Dateisystem gewechselt und dort /sbin/init ausgeführt (also SysVinit oder Systemd oder ...).

Ovion
11.07.2012 20:58:16

Nehmen wir für einen Moment mal an, ich wüsste nicht so viel über den Bootprozess im Detail. wink
Also, beim Starten des Rechners wird vom Bootloader der Init-Prozess aufgerufen, der als erstes den Kernel aufruft? Ist das so korrekt?
Und wie geht's dann weiter? Und wo liegen die einzelnen Dinge?

Fußzeile des Forums

Powered by FluxBB