Noch ein paar Grundlegende Fragen zu Linux

Hi community,

…dann wäre ich auch soweit durch.

  1. Eine initramfs ist lediglich, dafür da, falls man seine /usr /var /home usw. auf verschiedenen Partitionen anlegt, wenn nicht und alles ist auf einer Partition, benötigt man diese nicht, korrekt?

  2. LVM auf einer physischen Festplatte sinnvoll?

  3. Grub (leidiges Thema) … im MBR liegt der First Stage Loader, welcher die Angabe enthält, wo der 2. Teil des Bootloaders sich befindet und läd den Secound Stage Loader, welcher auf die entsprechenden Verzeichnisse /boot/grub der jeweiligen BS zeigt, bis dahin korrekt?
    Wenn ich jetzt mehrere BS-Systeme habe, hat immer das letzt-installierte, die „Kontrolle“ über den Grub -> wenn ich dieses lösche, ohne einen update-grub auszuführen, bekomme ich Probleme, oder? Lösche ich ein anderes stattdessen, bekomme ich keine Bootprobleme, oder? Die Frage kommt daher, da ich bei der ersten Installation von Gentoo(2 artikel weiter unten), den Bootmanager so zerschossen habe, dass es mir unmöglich war 3 von 4 Betriebsysteme zu booten, erst als ich das zu letzt installierte BS per (kernel (hdx,y)/vmlinuz root=/dev/sday) ladete und in diesem grub neu in den MBR schrieb, waren alle anderen auch wieder gerettet …sorry, aber blicke bei grub usw. noch nicht vollständig durch.

  4. Da ich 4 Linux-Systeme auf meine PC habe, würde ich gerne das alle sich eine /home-Partition (Würde viel Platz sparen) teilen und jeder seine eigene /usr /var usw. besitzt. Wäre unter dieser Prämisse, lvm eine gute Wahl oder wie macht man sowas am besten -> eine gute Anleitung würde mir schon reichen.

Gruß XXD

Hallo XhoanXoroDaxos,

  1. Eine initramfs ist lediglich, dafür da, falls man seine
    /usr /var /home usw. auf verschiedenen Partitionen anlegt,
    wenn nicht und alles ist auf einer Partition, benötigt man
    diese nicht, korrekt?

initramfs ist dazu da, das System hochzuziehen, bzw. zu starten. Es enthält komprimiert die für den Start nötigen Dateien. Von ihm wird der „Vater aller Prozesse“ init gestartet (PID 1). Es ist also seit Kernel 2.6 der Nachfolger von initrd.
Eine ausführliche Beschreibung dazu findet sich hier:
http://git.kernel.org/?p=linux/kernel/git/torvalds/l…
https://wiki.ubuntu.com/Initramfs

  1. LVM auf einer physischen Festplatte sinnvoll?

Ein Logical Volume Manager ist eigentlich dazu da, um von den Partitionen und Festplatten zu abstrahieren. Du hast mehrere Partitionen, die zu Volume Groups zusammengefasst werden. In diesen werden dann „logische Partitionen“ (Logical Volume) angelegt. Das hat den Vorteil, daß diese Logical Volume im laufenden Betrieb verändert werden können und keine Probleme mehr mit falscher Partitionierung auftreten.
Besser und genauer wird das alles hier erklärt:
https://wiki.ubuntu.com/Lvm
http://wiki.ubuntuusers.de/Logical_Volume_Manager
Um auf deine Frage zurückzukommen, Du kannst LVM auch mit einer FP verwenden, aber die Kombination mit einem RAID-System empfiehlt sich schon. Trotzdem ist LVM auf einer FP auch „sinnvoll“.

  1. Grub (leidiges Thema) … im MBR liegt der First Stage
    Loader, welcher die Angabe enthält, wo der 2. Teil des
    Bootloaders sich befindet und läd den Secound Stage Loader,
    welcher auf die entsprechenden Verzeichnisse /boot/grub der
    jeweiligen BS zeigt, bis dahin korrekt?

Kommt drauf an, ob Du tatsächlich von Grub (also Grub Legacy) oder von Grub2 sprichst. Für Grub Legacy ja, aber Grub2 ist anders und hat diese Begriffe nicht mehr.
Wenn Du möchtest, kannst Du boot.img von GRUB2 als Stage 1 bezeichnen. Ein Stage 2 als Datei oder Code im Ganzen existiert so nicht, an deren Stelle treten die vielen Module in /boot/grub, die nachgeladen werden.

Wenn ich jetzt mehrere BS-Systeme habe, hat immer das
letzt-installierte, die „Kontrolle“ über den Grub -> wenn ich
dieses lösche, ohne einen update-grub auszuführen, bekomme ich
Probleme, oder?

Da GRUB2 dann sein Verzeichnis /boot/grub nicht mehr findet, gibt es Probleme.

Lösche ich ein anderes stattdessen, bekomme
ich keine Bootprobleme, oder?

Kommt drauf an. Wenn Du ein System mitsamt seiner Partition(en) löschst, das vorn liegt, kann es schon ein Problem geben, wenn Du nicht UUIDs verwendet hast. Schliesslich wird dann aus sda2 plötzlich sda1. Wenn dann noch sowas wie prefix=(hd0,2)/boot/grub dasteht, kracht es.

Die Frage kommt daher, da ich
bei der ersten Installation von Gentoo(2 artikel weiter
unten), den Bootmanager so zerschossen habe, dass es mir
unmöglich war 3 von 4 Betriebsysteme zu booten

Da hat mein Link zu GRUB2 (auch dort weiter unten) nicht geholfen :frowning:
Deshalb hier noch ein anderer, wo eigentlich alles erklärt wird (finde ich jedenfalls):
http://wiki.ubuntuusers.de/GRUB_2

  1. Da ich 4 Linux-Systeme auf meine PC habe, würde ich gerne
    das alle sich eine /home-Partition (Würde viel Platz sparen)
    teilen und jeder seine eigene /usr /var usw. besitzt. Wäre
    unter dieser Prämisse, lvm eine gute Wahl

Für diesen Zweck ist LVM nicht gemacht (s.o.) Auch so möchte ich bezweifeln, ob das eine gute Idee ist. Da müsste ja jeder User einen eigenen Namen besitzen oder besser gesagt, eine eigene User-ID (uid). Außerdem kann ich die Platzersparnis so nicht sehen. Jeder User hat, sagen wir mal 50 GB, ob die sich nun alle an einem Platz breit machen oder auf 5 verschiedenen Partitionen, 5x50 GB bleiben so oder so 250 GB, oder übersehe ich da was. Ich rate also ab auch wenn ich mir im Moment nicht alle Konsequenzen vorstellen kann. Selbst wenn es tatsächlich geht, wo liegt der Vorteil, tatsächlich in der Platzersparnis, was ich wie gesagt, bezweifle.
Aber wenn Du es unbedingt ausprobieren möchtest, Du musst dann bei jeder Installation nicht die automatische Partition auswählen, sondern die „handgesteuerte“, bei der Du auswählst, wo /home hin soll. Dann wählst Du nur beim ersten Mal „formatieren“ aus und bei allen nachfolgenden Installationen die schon bestehende /home-Partition ohne formatieren. Vielleicht funktioniert es… Aber ich habe dich gewarnt :wink:

Viele Grüße
Marvin

Hallo,

  1. LVM auf einer physischen Festplatte sinnvoll?

Ich bin da großer Fan von: man kann die Partitionen erstmal noch kleiner wählen und wenn es eng wird bedarfsweise vergrößern. Oder - wenn es eng wird - einfach noch eine weitere Platte dazuschalten. Bei mir läuft ein Rechner ohne LVM. Der Kernel muß halt nur auf die Volumes zugreifen können: im initrfs sollten die Module vorliegen …

  1. Da ich 4 Linux-Systeme auf meine PC habe, würde ich gerne
    das alle sich eine /home-Partition (Würde viel Platz sparen)
    teilen

Vermutlich sind die vier Linux-Systeme nicht identisch sondern haben unterschiedlice Software mit unterschiedlichen Versionsständen. Das kann zu Kuddelmuddel führen, wenn verschiedene Versionen einer Software durcheinander ihre Konfigurationen laden und schreiben. Ich rate davon eher ab.

und jeder seine eigene /usr /var usw. besitzt. Wäre
unter dieser Prämisse, lvm eine gute Wahl oder wie macht man
sowas am besten

Mit LVM hat das nichts zu tun. Geht mit LVM, geht ohne LVM sicher einfacher.

Gruß,

Sebastian

Hallo Marvin,

initramfs ist dazu da, das System hochzuziehen, bzw. zu
starten. Es enthält komprimiert die für den Start nötigen
Dateien. Von ihm wird der „Vater aller Prozesse“ init
gestartet (PID 1). Es ist also seit Kernel 2.6 der Nachfolger
von initrd.
Eine ausführliche Beschreibung dazu findet sich hier:
http://git.kernel.org/?p=linux/kernel/git/torvalds/l…
https://wiki.ubuntu.com/Initramfs

Den Artikel vom wiki hatte ich ja gelesen und es so verstanden,das man dieses nur benötigt, wenn man eigene /usr /var usw. Partitionen hat, wenn aber alles unter einer Partition liegt, benötigt man es nicht?
Das ist mir nicht so ganz klar.

Kommt drauf an, ob Du tatsächlich von Grub (also Grub Legacy)
oder von Grub2 sprichst. Für Grub Legacy ja, aber Grub2 ist
anders und hat diese Begriffe nicht mehr.
Wenn Du möchtest, kannst Du boot.img von GRUB2 als Stage 1
bezeichnen. Ein Stage 2 als Datei oder Code im Ganzen
existiert so nicht, an deren Stelle treten die vielen Module
in /boot/grub, die nachgeladen werden.

Ja, ich sprach in dem Fall von grub 1, werde mir aber noch mal deine Links zu grub2 durchlesen, damit das endgültig sitzt :wink:

Wenn ich jetzt mehrere BS-Systeme habe, hat immer das
letzt-installierte, die „Kontrolle“ über den Grub -> wenn ich
dieses lösche, ohne einen update-grub auszuführen, bekomme ich
Probleme, oder?

Da GRUB2 dann sein Verzeichnis /boot/grub nicht mehr findet,
gibt es Probleme.

Lösche ich ein anderes stattdessen, bekomme
ich keine Bootprobleme, oder?

Kommt drauf an. Wenn Du ein System mitsamt seiner
Partition(en) löschst, das vorn liegt, kann es schon ein
Problem geben, wenn Du nicht UUIDs verwendet hast.
Schliesslich wird dann aus sda2 plötzlich sda1. Wenn dann noch
sowas wie prefix=(hd0,2)/boot/grub dasteht, kracht es.

Stimmt, ist logisch! Also ist es sinnvoller UUID’s zu verwenden?

Die Frage kommt daher, da ich
bei der ersten Installation von Gentoo(2 artikel weiter
unten), den Bootmanager so zerschossen habe, dass es mir
unmöglich war 3 von 4 Betriebsysteme zu booten

Da hat mein Link zu GRUB2 (auch dort weiter unten) nicht
geholfen :frowning:
Deshalb hier noch ein anderer, wo eigentlich alles erklärt
wird (finde ich jedenfalls):
http://wiki.ubuntuusers.de/GRUB_2

Doch haben ein wenig geholfen, werde mir aber die Links nochmal in Ruhe durchlesen…danke :wink:

Für diesen Zweck ist LVM nicht gemacht (s.o.) Auch so möchte
ich bezweifeln, ob das eine gute Idee ist. Da müsste ja jeder
User einen eigenen Namen besitzen oder besser gesagt, eine
eigene User-ID (uid). Außerdem kann ich die Platzersparnis so
nicht sehen. Jeder User hat, sagen wir mal 50 GB, ob die sich
nun alle an einem Platz breit machen oder auf 5 verschiedenen
Partitionen, 5x50 GB bleiben so oder so 250 GB, oder übersehe
ich da was. Ich rate also ab auch wenn ich mir im Moment nicht
alle Konsequenzen vorstellen kann. Selbst wenn es tatsächlich
geht, wo liegt der Vorteil, tatsächlich in der Platzersparnis,
was ich wie gesagt, bezweifle.

Vielleicht hatte ich mich falsch ausgedrückt, aber ich meinte es gibt nur 1 User der 4 Betriebsysteme nutzt (Debian,Fedora,Gentoo … mal sehen)
Da ich unter Debian und Fedora die gleichen Programme nutze (überwiegend Terminal-Programme, wie mutt, msmtp, gnupg, bash, conky sowie ssh -> authorized keys zu den verschiedenen ssh-servern), dachte ich ich könnte auch eine home für alle BS-Systeme, halten, da die Schlüssel wie auch die Konfigurations-Files, die gleichen sind und damit hätte ich statt, wie jetzt, 50GB Home-Partiton pro Betriebssystem
= 200GB, nur eine 50GB, aber vielleicht übersehe ich ja was und es ist echt keine so gute Idee?

Gruß XXD

Hallo Sebastian,

Ich bin da großer Fan von: man kann die Partitionen erstmal
noch kleiner wählen und wenn es eng wird bedarfsweise
vergrößern. Oder - wenn es eng wird - einfach noch eine
weitere Platte dazuschalten. Bei mir läuft ein Rechner ohne
LVM. Der Kernel muß halt nur auf die Volumes zugreifen können:
im initrfs sollten die Module vorliegen …

Hatte LVM testweise unter Fedora installiert und fand das System echt gut … gut dann werde ich mich mal tiefergehend damit befassen :wink:

  1. Da ich 4 Linux-Systeme auf meine PC habe, würde ich gerne
    das alle sich eine /home-Partition (Würde viel Platz sparen)
    teilen

Vermutlich sind die vier Linux-Systeme nicht identisch sondern
haben unterschiedlice Software mit unterschiedlichen
Versionsständen. Das kann zu Kuddelmuddel führen, wenn
verschiedene Versionen einer Software durcheinander ihre
Konfigurationen laden und schreiben. Ich rate davon eher ab.

Ok, das mit den Versionsständen, hatte ich nicht berücksichtigt,da kannst du Recht haben, ich habe im Keller noch einen älteren PC (Athlon 3Ghz mit 2GB Ram) werde es mal auf dem testen, mal sehen was passiert.

Gruß XXD

Hallo,

  1. Da ich 4 Linux-Systeme auf meine PC habe, würde ich gerne
    das alle sich eine /home-Partition (Würde viel Platz sparen)
    teilen

Vermutlich sind die vier Linux-Systeme nicht identisch sondern
haben unterschiedlice Software mit unterschiedlichen
Versionsständen. Das kann zu Kuddelmuddel führen, wenn
verschiedene Versionen einer Software durcheinander ihre
Konfigurationen laden und schreiben. Ich rate davon eher ab.

Ok, das mit den Versionsständen, hatte ich nicht
berücksichtigt,da kannst du Recht haben, ich habe im Keller
noch einen älteren PC (Athlon 3Ghz mit 2GB Ram) werde es mal
auf dem testen, mal sehen was passiert.

Eine /home-Partition zu haben, sollte eigentlich kein Problem sein. Aber ein Benutzer, der für vier verschiedene Distributionen das gleiche Benutzerverzeichnis verwendet - das würde ich mich nicht trauen. Also eher unter /home vier getrennte Benutzerverzeichnisse, auf denen die Konfigurationsdaten liegen, und ein zusätzliches für Daten.

Cheers, Felix

Hallo XhoanXoroDaxos,

Den Artikel vom wiki hatte ich ja gelesen und es so
verstanden,das man dieses nur benötigt, wenn man eigene /usr
/var usw. Partitionen hat, wenn aber alles unter einer
Partition liegt, benötigt man es nicht?

Nein, wo deine /usr, /var usw. -Verzeichnisse liegen, ist beim Start von initramfs doch noch völlig irrelevant. initramfs ist ein Mini-Linux mit einem eigenen kleinen Filesystem (daher das fs in initram fs ), das vom Bootloader in den RAM geladen wird. Innerhalb von initramfs befindet sich ein Programm namens init, das dafür sorgt, das das eigentliche Root-Dateisystem gemountet wird. Eine weitere Aufgabe von initramfs besteht darin, die für den Kernel während des Boot-Vorgangs eventuell benötigten Treiber nachzuladen, damit der Kernel überhaupt Zugriff auf die FP oder das Netzwerk hat.
Du siehst, dabei spielt es keine Rolle, ob sich alle Verzeichnisse auf einer oder mehreren Partitionen befinden.

Das ist mir nicht so ganz klar.

Nochmal der Boot-Vorgang schematisch und im Kurzdurchgang:

  1. BIOS -> initialisieren von Monitor und Tastatur, Test des Arbeitsspeichers -> Datum, Uhrzeit und FP-Geometrie auslesen -> MBR in den Speicher laden -> Übergabe an den dort befindlichen Bootloader
  2. Bootloader lädt den Kernel und ein Startsystem (in unserem Fall initramfs)
  3. Innerhalb von initramfs wird das Programm init gestartet, das alles bereitstellt, was der Kernel für den Bootvorgang benötigt (Laden der Kernel-Module, eventuelles Einrichten von LVM und/oder RAID), das Root-Dateisystem prüft und einhängt.

Das ist dir sicher alles bekannt, aber ich habe es nochmals so zusammengefasst, damit Du siehst, irgendein Code muss das ja alles machen. Ob das nun durch initramfs, oder wie früher durch initrd bzw. linuxrc geschieht, ist eigentlich egal. Aber aus den auszuführenden Aufgaben siehst Du jetzt hoffentlich, daß dies nicht davon abhängt, wie deine Verzeichnisse verteilt sind.

Also ist es sinnvoller UUID’s zu
verwenden?

Aber ja doch. Eine Partition mit der UUID 6a12a4d5-e9e6-4568-afcc-34c70b24a668 wird gefunden, auch wenn sie inzwischen von sda3 nach sda2 gewandert ist.
Wenn Du es ein wenig lesefreundlicher haben möchtest, kannst Du auch Labels benutzen, da musst Du aber selbst für die Eindeutigkeit sorgen. Lässt sich aber auch zusätzlich benutzen.
http://wiki.ubuntuusers.de/Labels
Wenn man keine udev-Regeln benutzen will, sind Label z.B. für externe FP oder USB-Sticks ganz praktisch
http://wiki.ubuntuusers.de/Externe_Laufwerke_statisc…

ich meinte
es gibt nur 1 User der 4 Betriebsysteme nutzt
(Debian,Fedora,Gentoo … mal sehen)

Aus der Sicht deiner vier Distris sind das aber trotzdem vier verschiedene User, auch wenn sie alle XhoanXoroDaxos heissen sollten. Debian kennt ja deinen Fedora-User nicht und Gentoo den Debian-User nicht. Wird dir vielleicht klar, wenn Du an root denkst. Überall hast Du root, aber eben einen root für Debian und einen für Fedora, die nichts miteinander zu tun haben.

vielleicht übersehe ich ja was
und es ist echt keine so gute Idee?

Naja, es ginge wie beschrieben mit /home/debian-user, /home/fedora-user und das alles sagen wir mal auf sda5, aber eine gute Idee ist es auf keinen Fall.
Außerdem darfst Du nicht vergessen, daß die Usernamen unter Linux eigentlich Schall und Rauch sind :wink: Das was zählt, ist die darunterliegende User-ID (uid). Zwar sind die meisten Distris jetzt so eingerichtet, daß sie bei 1000 anfangen, aber das muss nicht so sein (auch wenn man es in der /etc/login.defs über die Parameter UID_MIN und GID_MIN einstellen kann). Es kann dir also durchaus passieren, daß dein User XhoanXoroDaxos unter Debian die UID 1000 hat, unter Fedora aber 500 :frowning: Eine Falle, die manchmal beim Zurückspielen von älteren Backups auftreten kann.
http://selflinux.org/selflinux/html/nutzer_unter_lin…

Viele Grüße
Marvin

Hallo Marvin,

Nein, wo deine /usr, /var usw. -Verzeichnisse liegen, ist beim
Start von initramfs doch noch völlig irrelevant. initramfs ist
ein Mini-Linux mit einem eigenen kleinen Filesystem (daher das
fs in initram fs ), das vom Bootloader in den RAM geladen wird.
Innerhalb von initramfs befindet sich ein Programm namens
init, das dafür sorgt, das das eigentliche Root-Dateisystem
gemountet wird. Eine weitere Aufgabe von initramfs besteht
darin, die für den Kernel während des Boot-Vorgangs eventuell
benötigten Treiber nachzuladen, damit der Kernel überhaupt
Zugriff auf die FP oder das Netzwerk hat.
Du siehst, dabei spielt es keine Rolle, ob sich alle
Verzeichnisse auf einer oder mehreren Partitionen befinden.

Was mich halt verwirrt hat, ist, dass bei der Gentoo Installation, die Erstellung der initramfs, als optional ausgewiesen wurde. Da die Aufgabe ja das Kernel-Image übernimmt (bzImage) -> http://www.gentoo.de/doc/de/handbook/handbook-x86.xm…

Nochmal der Boot-Vorgang schematisch und im Kurzdurchgang:

  1. BIOS -> initialisieren von Monitor und Tastatur, Test des
    Arbeitsspeichers -> Datum, Uhrzeit und FP-Geometrie auslesen
    -> MBR in den Speicher laden -> Übergabe an den dort
    befindlichen Bootloader
  2. Bootloader lädt den Kernel und ein Startsystem (in unserem
    Fall initramfs)

Was das bzImage nicht allein bewerkstelligen kann?

  1. Innerhalb von initramfs wird das Programm init gestartet,
    das alles bereitstellt, was der Kernel für den Bootvorgang
    benötigt (Laden der Kernel-Module, eventuelles Einrichten von
    LVM und/oder RAID), das Root-Dateisystem prüft und einhängt.

Das ist dir sicher alles bekannt, aber ich habe es nochmals so
zusammengefasst, damit Du siehst, irgendein Code muss das ja
alles machen. Ob das nun durch initramfs, oder wie früher
durch initrd bzw. linuxrc geschieht, ist eigentlich egal. Aber
aus den auszuführenden Aufgaben siehst Du jetzt hoffentlich,
daß dies nicht davon abhängt, wie deine Verzeichnisse verteilt
sind.

Ok, dann muss ich das beim lesen falsch interpretiert haben :smile:

ich meinte
es gibt nur 1 User der 4 Betriebsysteme nutzt
(Debian,Fedora,Gentoo … mal sehen)

Aus der Sicht deiner vier Distris sind das aber trotzdem vier
verschiedene User, auch wenn sie alle XhoanXoroDaxos heissen
sollten. Debian kennt ja deinen Fedora-User nicht und Gentoo
den Debian-User nicht. Wird dir vielleicht klar, wenn Du an
root denkst. Überall hast Du root, aber eben einen root für
Debian und einen für Fedora, die nichts miteinander zu tun
haben.

Klingt einleuchtend! War nur so eine Idee.

Danke für deine Erklärung, hat mir auf jeden Fall geholfen.

Gruß XXD

Hallo XhoanXoroDaxos,

Was mich halt verwirrt hat, ist, dass bei der Gentoo
Installation, die Erstellung der initramfs, als optional
ausgewiesen wurde. Da die Aufgabe ja das Kernel-Image
übernimmt (bzImage)
Was das bzImage nicht allein bewerkstelligen kann?

Doch, aber dann ist dieser Code eben in den Kernel integriert (bzImage ist ja nichts anderes als der komprimierte Kernel).
Das Gentoo dies so macht war mir nicht bekannt. Dies ist auch möglich, schränkt die Möglichkeiten aber auch etwas ein. Gentoo selbst schreibt ja dazu
„This is a good default behaviour and sufficient for many users. initramfs is for users with advanced requirements, for users who need to do things as early as possible, before the root partition is mounted.“
http://en.gentoo-wiki.com/wiki/Initramfs
Gut zu wissen, aber einen Widerspruch zu meiner Aussage

irgendein Code muss das ja
alles machen.

stellt es IMHO nicht dar. Nur daß ich diese Aufzählung

Ob das nun durch initramfs, oder wie früher
durch initrd bzw. linuxrc geschieht

noch durch
„oder durch im Kernel selbst enthaltenen Code“
ergänzen müsste.
Aber dein Einwurf ist natürlich hilfreich, weil mir dadurch deutlicher geworden ist, daß beides möglich ist, auch für initramfs. initramfs kann also direkt im Kernel enthalten sein, als auch in einer eigenständigen Datei.
Hätte ich auch in der Wikipedia nachlesen können, da steht es deutlich drin:
„Das initramfs-Archiv kann im Kernel selbst enthalten sein oder vom Bootloader aus einer Datei in den Arbeitsspeicher geladen werden.“
http://de.wikipedia.org/wiki/Initramfs
So habe ich durch dein hartnäckiges Nachfragen auch noch was dazugelernt.

Ok, dann muss ich das beim lesen falsch interpretiert haben

Eigentlich ja nur die Sache mit verschiedenen oder einer Partition…

Viele Grüße
Marvin