Einge Fragen zu FBSD

Moin Kamikaze,

Ich würde keine extra-partition für /home machen. Dann muss man sich auch nicht überlegen wie viel Platz man für /home und wie viel man für /usr verwendet.

Für /home würde ich GRUNDSÄTZLICH ein eigenes Slice oder Partition vorsehen. Die Gründe:
  • Damit läßt sich /home per NFS sharen
  • Es lassen sich Quotas einrichten (Benutzerverwaltung)
  • Damit wird/werden der/die User gezwungen, nicht jeden Mist aufzuheben. Wenn /home voll ist, dann geht halt nix mehr für den/die User
  • /home (symlink /usr/home)begrenzt dann nicht den Platz für die anderen Partition(en)

Die Überlegung, wie groß /home werden soll, stellt sich einfach nicht:
  • /home wird als letztes angelegt: Damit erhält /home den restlichen Platz einer Festplatte oder eines Slices
  • /home bekommt eine eigene Festplatte: Dann stellt sich diese Frage erst garnicht
  • Intelligente Administration der verwendeten Daemonen; z.B. Beschränken der maximalen Mail-Größe usw.
Wenn mehrere User sich das System teilen, müssen sowieso Quotas eingerichtet werden, damit es keinen Streit um den Plattenplatz gibt.

So einfach ist das.

Grüße

JueDan
 
Es gibt noch viel trivialiere Gründe dafür, mehrere Partitionen zu verwenden:

/tmp sollte z.B. immer noexec und nosetuid gemountet werden (Sicherheit).
Und dass /home in einer separaten Partition liegt, ist ohnehin klar. Schon allein aus Gründen der Datenerhaltung im Falle eines Crashs. Die Partition kann man einfach per dd erstmal wegsichern und das System neu aufbauen. Man mache das mal mit einer /-Partition, die alles enthält.
Mit anderen Worten: Der Admin, der nur eine /-Partition erstellt, ist unfähig und gefährlich.

Mag sein, dass die Gründe für Partitionierung heute andere sind als in der Steinzeit.
Sinnvoll und IMHO zwingend notwendig ist eine Partitionierung dennoch.

Und das mit dem Swap... Man braucht ihn bei 2 GB RAM mehr denn je, fürchte ich...

So long...

Der Indy
 
Swap würde ich immer einrichten. Das ist ein guter Puffer, wenn mal der Speicher aus diversen Gründen vollläuft.

Ich würde auch niemals (außer bei temporären Systemen mit einem kurzen Leben) darauf kommen alles auf "/" zu legen. Das ist grob fahrlässig. Es gibt 1000 gute Gründe ausschließlich "/" zu mounten und den ganzen anderen Kram einfach in Ruhe zu lassen (z.B. Booten direkt in den Single-User-Modus).

Es geht auch um Zugriffsmuster auf Dateisysteme.

/boot und / werden ungefähr gleichermaßen oft beschrieben. Deswegen packe ich die beiden bei meinen einfachen Desktop-Systemen auf eine Partition.

/usr und /usr/local beschreibt man bei Software-Installationen und Kernel/World-Aktualisierungen. Manchmal könnte man die beiden trennen, weil /usr/local vom Zugriff her auch anders aussieht als das /usr-Verzeichnis ohne /usr/local. Diese fasse ich trotzdem zusammen. Ich kann mir aber Situationen vorstellen, wo es ungünstig sein könnte.

/var wie der Name schon sagt wird oft beschrieben und enthält Daten, die den Bootvorgang überleben sollten.

Und hier liegt schon der spezifische Unterschied zu /tmp. Diese Daten können bei einem Neustart oder beim Nichtgebrauch sofort eliminiert werden (ohne weiteres Nachdenken). Man bemerke den Unterschied zu /var/tmp!

/usr/home ist ein ganz besonderes Verzeichnis, welches jedem am Herzen liegen sollte. Denn oft kann man alles einfacher rekonstruieren was außerhalb dieses Verzeichnisses liegt. Wenn dieses aber verloren ist, ist meistens mehr los als nur allgemeine Panik. Deswegen ist dieses Verzeichnis vom Zugriffsmuster total anders. Hier werden auch Backups ganz anders gemacht als bei den übrigen Verzeichnissen.

(Und bei Backups rede ich nicht von dd. Aber das ist wiederum eine andere Geschichte.)

Überlegt einfach wie Euer System aussehen soll. Es gibt da keine feste Regeln, deswegen ist es ja frei wählbar. Aber es gibt Muster für grobe Fahrlässigkeit. Das lernt einer vielleicht, wenn ihm mal /usr, /usr/local oder /var oder /tmp so um die Ohren fliegt, dass er / nicht mehr mounten kann, weil er eines der Verzeichnisse von / nicht getrennt hat. Dann hat man die Hosen voll, läuft wie eine aufgeschreckte Henne herum, flennt und meckert womöglich noch wie Scheiße *BSD ist, obwohl man selbst schuld ist.

Der Fall, wenn / zerstört wird, ist auch erheblich einfacher zu behandeln als wenn sich alles zusammen verabschiedet. Bedenkt das alles bitte, denn vieles erlebt man in sehr ungünstigen Momenten.
 
Ihr kennt mich ja inzwischen gut genug, um zu wissen, daß ich nicht davor zurückschrecke, mich auch zu blamieren. Mein Wissen zu einem Unix und speziell BSD ist sicher nicht vergleichbar mit eurem und es ist keine billige Effekthascherei, wenn ich mich selbst immer als Unterschicht-User beschreibe.
Trotz dieses geringen Levels, lasse ich mir nicht gerne meinen so genannten "gesunden Menschenverstand" verbiegen. Was den SWAP anbelangt, hatten wir eine solche Diskussion schon mal und ich möchte nur mein Schlußargment wiederholen. Wenn ich den Systemvorschlag umsetze und einen PC mit 500MB RAM aufsetze, wird ein SWAP von 2xRAM, also 1GB vorgeschlagen und umgesetzt. Insgesamt stehen mir dann 1,5GB nutzbarer Speicher zur Verfügung, zwei drittel davon auf einem deutlich langsameren Medium. Mehr Speicher habe ich da nicht, es sei denn, ich möchte dann mehere SWAPS haben, doch das System schlägt eben stur seine 2xRAM vor und richtet einen SWAP ein. Es ist aber vollkommen klar, daß ich dann, wenn ich einen Rechner mit 1,5GB RAM habe, ich genausoviel Speicher habe, nur halt ohne SWAP und es ist nicht einleuchtend, wieso ich da nun 3GB SWAP zusätzlich anlegen soll. Je mehr RAM, desto mehr SWAP? Das macht keinen Sinn! (Es macht Sinn und ist für manche wichtig, das will ich gar nicht leugnen. Auf einem Laptop hatte ich den SWAP schon mal als Hybernations-Partition genutzt, viele hier wollen Dumps bei einem System-Crash. Ich kann keine Dumps lesen und brauche die daher nicht. Das System zum Betrieb und sauberen arbeiten braucht keinen SWAP. Ist er da, macht er das System nur langsam).
Die Festplatten-Spalterei, die habe ich bei mehreren Festplatten und SCSI auch schon bis zum Extrem betrieben um die Zugriffe möglichst zu parallelisieren. SCSI kennt das Kommando zum Lösen der Wartezyklen, der Rechner kann also weitermachen bis die Platten Daten liefern und das kann die Performance deutlich erhöhen. Mit einer einzigen Festplatte allerdings nicht und im Vergleich zu mehreren Festplatten in einem Raid-Verbund auch nicht. In einem PC, den ich gerade installiert habe, da waren drei unterschiedliche SCSI Platten drinnen und ich habe mir da sehr wohl überlegt, was ich wohin packe und welche Partition wie groß ausfallen soll. Alleine, was die Performance anbelangt, sind fast alle diese Konstruktionen auch mittels Symbolischer Links zu lösen, es braucht keine zusätzlichen Partitionen. Daß die Zugriffszeiten bei mehreren Partitionen deutlich schneller ablaufen und erst recht bei einer IDE-Basierten Platte, das halte ich für ein Gerücht. Je häufiger die Köpfe umpositionieren müssen, desto langsamer kommen die Daten und da können Partitionen gerade auch zu einer neuen Position zwingen, die ohne diese Grenze der Partition sehr viel näher und schneller erreichbar sein könnte. Das Hin-und Herspringen der Köpfe ist in einem BSD tatsächlich auffällig, wenn es mit Systemvorschlägen partitioniert wird. Wie gesagt, bei mehreren SCSI Platten ist das ein gutes Zeichen, weil Systemresourcen genutzt werden können. Bei den IDE-Platten ist es eher ein Zeichen von Verschwendung. Der wirkliche Vorteil ist erst bei Verteilung auf mehere SCSI Platten vorhanden.
Bleibt die Frage, weshalb verschiedene Dateisystem-Typen nützlich sein sollen. Es gibt für unterschiedliche Dateisysteme unterschiedliche Begrenzungen, die einfach hingenommen werden müssen. So kann es in einem System unter bestimmten Umständen natürlich notwendig werden, eine Partition mit UFS zu nutzen, alleine um davon booten zu können. Ich hatte solche Konstellationen noch nicht und konnte immer UFS2 nutzen. Natürlich kann ich mir Gedanken über Sicherheit machen und ich kann überlegen, ob ich eine Partition mit einem Journal belegen möchte und eine andere nicht. Doch es kommt ja auch in eueren Belegungsvorschlägen deutlich heraus: /usr/home ist doch entscheidend Dominant. Wenn ich auf einer Platte 30GB habe und davon sind dann 500MB / und 500MB /tmp dann habe ich noch immer 29GB für /var und /usr. Hier liegen also unbedingt die Schwergewichte und die Entscheidung für diese beiden ist wesentlich gewichtiger, als der Rest.
Und /tmp als extra Partition mit noexec zu mounten, danach steht auch mir voll der Sinn. Doch nicht, weil ich den diversen Usern auf meinem System nicht trauen kann, sondern, weil ich es als Download-Verzeichnis so lieber habe. Nur, dazu kann ich die Systemvoreinstellungen dann gar nicht nutzen, weil meine Downloads /tmp sehr schnell sprengen würden. Anders ausgedrückt, wenn ich diese Sicherheit will, muß ich mir ohnehin darüber mehr Gedanken machen, als dem Systemvorschlag zu trauen (der dann /tmp eh nicht noexec und nosetuid anlegt). Das ist, was ich meinte: wer eine Vorstellung davon hat, was er will, der wird auch Partitionen einrichten und wissen wofür. Wer da keine Vorstellung hat, der kann auch einfach nur eine einzige Partition nehmen und er wird keine Nachteile bei der Installation haben und sich das Leben sehr viel einfacher machen.
Es kann zu einem späteren Zeitpunkt neue Festplatten oder andere Medien hinzugenommen werden und das System einfach umgebaut und angepasst werden, um erhöhten Anforderungen gerecht zu werden.
NFS, also das System als NFS-Server, stellt ebenfalls besondere Anforderungen, die jemand am besten wissen sollte um das umsetzen zu können, was er wirklich möchte. Es ist aber auch hier sehr viel einfacher, ein Verzeichnis aus einer einzigen Partition zu exportieren, denn der Export überspringt nicht Partitionsgrenzen. Wenn ich etwa /usr exportieren möchte und außerdem auch eine Partition für /usr/home und eine für /usr/ports habe, werden diese beiden auch nicht mit -alldirs exportiert, sondern erfordern eigene Einträge (jedenfalls ist das bei mir mit NFS3 so gewesen). Sowohl auf Export, als auch auf Client-Seite kann der Sysadmin ja ausreichend detailliert konfigurieren und mounten, um unterschiedlichen Ansprüchen gerecht zu werden, auch, wenn alles nur auf einer einzigen Partition liegt.
Single User: wie oft bootet ihr damit?
Doch nicht in einem normalen Betrieb und nicht zu Systemwartungen. Und wenn, dann ist es auch kein Problem, wenn alles auf einer einzigen Partition liegt. Ich würde meinen, gerade im Gegenteil, wird es mit weniger Partitionen für einen Anfänger viel einfacher. Wird wirklich mal eine Änderung auf einer der nicht "/" Partitionen nötig, oder brauche ich etwa Dinge aus /usr, dann muß ich ja erst die Partitionen identifizieren und passend mounten.

Also, nochmal, ich erkenne und nutze auch selbst Vorteile aus der Verwendung unterschiedlicher Partitionen. Dem Systemvorschlag blind zu trauen halte ich eher für nicht angesagt und jemand, der keine Vorstellung davon hat, was er genau mit diesen Partitionen will, kann getrost auch darauf verzichten. Das gilt ja ganz genau eben nicht für euch Freaks. Ihr habt genau entwickelte Konzepte und folgt eben auch gar nicht der Systemvorgabe.
Für einen PC mit einer einzigen Platte oder mit lediglich IDE-basierten Platten, der ein System bekommen soll, mit dem Anwendungen installiert und zum Laufen gebracht werden sollen, der von einem oder mehreren diskreten Nutzern bedient wird und in keiner speziellen Umgebung überleben muß, ist es vollkommen unproblematisch mit einer einzigen Partition für "/" und ab 1,5GB RAM auch ganz ohne SWAP auszukommen und gerade für Neulinge besser zu meistern.
Was die Stabillität anbelangt: ich habe inzwischen vier oder fünf i386 und einen amd64 mit ohne SWAP oder ausgeschaltetem SWAP laufen und nicht ein einziges Problem damit. Das sieht bei Nutzung des USB-Ports viel dramatischer aus, hier killt mir der amd64 häufig, vielleicht ein HW-Problem damit.

Also, vielleicht nochmal von der Seite.
Ich habe schon FreeBSD hängen sehen und ich habe es schon im totalen Nirwana erlebt (Linux auch, nebenbei). Daran ist niemals der nicht vorhandene SWAP Schuld gewesen, aber durchaus schon eine volle Partition.
 
Woah... pit234a, willst du mich umbringen? :D
Noch habe ich deine Antwort nicht gelesen, mache ich aber jetzt gleich.^^

Also... Ich konnte eine etwas größere Platte auftreiben, eine 40 GB Platte, die, wie es scheint, Probleme mit dma hat. Ich habe dma also bei der Installation und auch beim Booten abschalten müssen...
Da ich aber nur Linux gewohnt bin, habe ich geschaut, wie ich es auch in den Bootmanager packe, ohne dass ich jedesmal wieder "set hw.ata.ata_dma=0" und "boot" beim Starten angeben muss...
Ich habe es nun einfach in die loader.conf geschrieben, die leer war. (Mir ist aber auch die Datei /boot/defaults/loader.conf aufgefallen, in der wohl alle wichtigen Dinge drinstehen.)
Was ich aber nicht gefunden habe, ist die Booteinstellungen also für alle einzelnen Einträge.
Gibt es sowas? Also dass ich beispielsweise selber verschiedene Bootvarianten erstellen kann, wie auch bei GRUB (oder auch LiLo) unter Linux?

Dann würde ich gerne mal wissen: Was ist denn genau der Bootmanager? Beim Starten habe ich immer erst so ein Mini Ding mit
F1 FreeBSD
F5 First Drive
boot: F1
Und dannach kommt ein anderes Programm, in dem ich FBSD im Safe Mode, normal, acpi disabled etc starten kann. Was von beiden ist denn nun der FreeBSD Bootmanager? Und kann man auch auf dieses erste Ding irgendwie verzichten, sodass gleich auf das 2. Programme zugegriffen wird?

edit:
Ich habe gerade als ich nach etwas anderem geschaut habe, in der FBSD Doku den Abschnitt des Bootens gefunden und auch Einzelheiten zum Bootmanager -- was ich wohl zuvor übersehen hatte....
Also boot0 ist dieses mit F1 und F5 und loader ist dieses Ding mit den Menüpunkten, mit dem Countdown?
edit2:
Okay, es ist wirklich so. Wie konnte ich nur das Kapitel zum Booten überlesen? @_@

Soweit ist alles geklärt nur kann man denn boot0 entfernen unr dafür den den Loader?

Danke
 
Zuletzt bearbeitet:
zu deinen Fragen bekommst du sicher noch kompetente Antworten.
Da ich nur FreeBSD auf meinen PCs starte, brauche ich keine solchen Tricks, bei mir startet das direkt und ohne Umwege mit dem "beastie-Menü", das ist jenes, wo der Zähler läuft.
Anstatt die die Dateien in /boot/ direkt zu verändern, kannst du dir Einträge in der /boot/loader.conf reinnehmen, um etwa das Layout zu ändern oder die Zeit, die abläuft. Diese Möglichkeiten sind in der defaults/loader.conf beschrieben und natürlich ein wenig mehr.

Grundsätzlich startet der MBR ein Betriebssystem, was auch mit FreeBSD genommen werden kann. Anstatt eines Betriebssystems kann auch ein Bootloader-Programm genommen werden. Die Begriffe sind nicht genormt, ich wechsele auch dauernd hin und her, denn eigentlich sollte so ein Programm sinnvollerweise stets Bootmanager genannt werden, um Verwechselungen vorzubeugen. Hier gibt es grub und lilo und artikel und Beschreibungen, wie die mit FreeBSD genutzt werden können. Diese Bootmanager verweisen dann auf die /boot-Bereiche deiner verschiedenen Systeme.
Das, was du beschreibst, mit F1 und F5, das ist ein Bootmanager, naämlich der von FreeBSD und das ist der einzige, den ich kenne, der selbst im MBR Platz hat. Er erledigt also das Booten unterschiedlicher Systeme, die er gewöhnlich selbst erkennt und vorschlägt, ohne einen extra Bootmanager, wie Grub, überhaupt nutzen zu müssen. Ich nehme an, daß es dann eine Konfigurationsmöglichkeit geben wird und nicht nur die Vorauswahl stehen bleiben muß. Das findet dann ganz sicher irgendwo in /boot statt. Aber ich habe damit keine Erfahrung, wie gesagt, meine Systeme starten den Beastie direkt aus dem MBR der ersten Festplatte oder des Raids.
 
So wie du das hast, dass du direkt das Menü mit Beastie bekommst, so möchte ich das gerne...
Wie ist es möglich, im Nachhinein zu ändern? Wie es scheint, sind ja die Wahlmöglichkeiten von boot0, dem Bootmanager mit F1 und F5, in der Datei /boot/boot0 binär enthalten. Es zu ändern, geht wie ich gelesen habe, nur mit bestimmten Tools.
Eines dieser Tools ist boot0cfg. In der man-Page steht etwas Interessantes:
To go back to non-interactive booting, use fdisk(8) to install the
default MBR:

fdisk -B ad0
Heißt das, dass sofort gebootet wird? Oder wird damit einfach das Menü, das ich schon habe, "neu installiert"?
Wenn es das nicht ist, wie kann ich es sonst machen?



Danke
 
Also, FreeBSD bootet so: boot0 -> boot1 -> boot2 -> /boot/loader -> kernel. Im Moment ist bei dir die interaktive Version boot0 installiert, im Übrigen ein Wunder der Programmierkunst. In nur 512 Byte so viel Funktionalität ist nicht trivial. Zurück zur nichtinteraktiven Version kommst du mit dem von dir geganannten Befehl :)
 
Okay, vielen Dank. Wollte nicht testen und Gefahr laufen, mein System zu demolieren. :D

edit:
Als mir heute das System abgeschmiert ist und mehrfach die Festplatte nicht erkannt wurde, habe ich das IDE Kabel ausgetauscht. Zuvor war ein 40 adriges IDE Kabel drin; nun ist ein 80 adriges drin.
Worin liegt eigentlich der Unterschied? Laut Recherche ist es wohl egal, welches man von beiden verwendet, nur dass das 80er doch etwas "schneller" sein soll, wenn mehr als 1 Gerät dran hängt. Ebenfalls soll jede Ader einzeln abgeschiermt sein.
Gibt es weitere Vorteile und vielleicht Dinge, die man bei der Wahl beachten sollte?
 
Zuletzt bearbeitet:
Wenn du ein 40er verwendest darfst du maximal UDMA33 verwenden. Wenn dein System das nicht korrekt erkannt hat und versucht die Platte mit 66, 100 oder sogar 133 MHz anzusprechen fliegt dir das Ganze also um die Ohren.
 
wenn ein 80er passt, nimm dieses, dann ist es die richtige Wahl und ein 40er wäre eine unnötige Bremse.

Was Yamagi erklärte, will ich ein KLEIN wenig ausführen, soweit es die Möglichkeiten anbelangt, den MBR wieder herzustellen.
http://de.wikipedia.org/wiki/Master_Boot_Record
erklärt den MBR sehr gut.
Solch einen MBR einer Festplatte erhälst du etwa, mit einem dd. dd if=/dev/xyz of=/mein/name.mbr bs=512 count=1 (ich habe nicht nachgesehen und verwechsele es immer wieder, trau mir nicht, sieh lieber nach) sollte den ersten 512Byte großen Block deiner Festplatte liefern und in deiner Datei name.mbr ablegen. Diese kannst du analog, mit ausgetauschtem Quelle-Ziel auch wieder zurückspielen, zumindest theoretisch. In GNU und busybox Linux Systemen konnte ich das immer, bei FreeBSD nicht immer hinbekommen. Auch nicht immer, wenn die Platte nicht gemounted war.
Solch einen MBR (also das gespeicherte File) kannst du auch verändern, wenn du einen binär-editor hast. Dazu habe ich einige Male khexedit erfolgreich benutzt. Dies ist eine Hilfe, wenn etwa Disklabels umbenannt oder gelöscht werden sollen. Die Löschon kann auch mittels dd erfolgen und eben nur die paar Bytes mit Nullen beschrieben werden, die den Disklabel bilden.
Wenn du die Partitionstabelle erhalten willst, taste den Bereich jenseits Byte 440 oder 446 einfach nicht an. Du kannst auch nur diese ersten 440Byte zurücksichern.
Wenn ich das recht erinnere, bietet FreeBSD in /boot einen solchen MBR an, einen standard MBR, ohne Bootloader. Den könntest du genauso benutzen.
Außerdem macht es sysinstall.
Wenn du in dem entsprechenden Menü deine Festplatte auswählst, kannst zwischen bootmgr | standard | none entscheiden und das hatte mich immer verwirrt. Ich hänge mal einen screenshot an.
Deine Wahl, die zu F1 und F5 führt, ist die erste gewesen, den FreeBSD-bootmanager. Was du nun möchtest, ist ein standard MBR, der dann aus dem in /boot abgelegten genommen wird und wenn du schon ein zweites System hast und den dort installierten Grub oder so nehmen möchtest, dann kommt sicher das nicht antasten in Frage.
 

Anhänge

  • out.png
    out.png
    15 KB · Aufrufe: 303
Vielen Dank für eure weiteren Antworten.

Das Ding kann mit einem 40er Kabel um die Ohren fliegen? Oje...
Wenn meine HD dma-fähig ist, kann man dann auch den benutzen dma Modus einstellen? Ich erinnere mich schwach, dass man mithilfe eines Programms das einstellen kann(?).
Kann es eigentlich auch passieren, dass eine ältere Platte, die mal dma-fähig war, später nicht mehr dma-fähig ist?

pit,
also das mit dem mbr hört sich wirklich interessant an! Ich glaube ich werde mir das dann mal anschauen. Vielen Dank! :)
 
hw.pci.allow_unsupported_io_range="1"
hw.ata.atapi_dma="1"

sind zwei solche Einstellungen, die für ältere BSD in /boot/loader.conf dafür sorgen konnten, bestimmte hw besser zu unterstützen. Ich glaube nicht, daß dies heute noch erforderlich ist.
Leider gibt es für FreeBSD kein hdparm, eines meiner liebsten Tools aus der Linux-Welt.

uuhhps, senden vergessen. Alo, vielleicht schon obsolet.
Anstatt hdparm zu nutzen, gibt es verschiedene Tools, die ich nun nicht gegenwärtig habe, die sich aber mit google finden lassen und ebenfalls einige Tests und Einstellungen erlauben. ataidle ist eines, das mir gerade einfällt, um die spindown-Einstellung zu beeinflussen. Du kannst nach solchen Dingen googeln.

Von einem Fehler, der eine DMA-fähige Platte genau so kaputt macht, daß sie nur diese Eigenschaft verliert, habe ich noch nicht gehört. Wahrscheinlicher ist ein Defekt im Kabel, ohne das richtige Kabel werden DMA-Platten eben nicht richtig erkannt. Oder eben eine Einstellung, die restriktiv gewählt ist und lieber auf einen wackeligen DMA verzeichtet.
Soviel ich weiß, muß dieses DMA im Bios ebenfalls aktiviert sein (bei manchen PCs jedenfalls).

edit:PS: sieh auch mal nach atacontrol

edit2: das muß ataidle heißen, hatte ich falsch geschrieben, korrigiert
 
Zuletzt bearbeitet:
Zurück
Oben