FreeBSD-Workshop, Teil 1: Installation

Aus LinuxUser 09/2005

FreeBSD-Workshop, Teil 1: Installation

© sxc.hu

Diabolisch gut

FreeBSD kennen viele nur durch sein putziges Maskottchen Chuckie, den Daemon. Doch hinter dem Teufelchen steckt ein freies Betriebssystem mit langer Entwicklungsline, das als äußerst stabil und sicher gilt. Wir zeigen, wie Sie es als Desktop nutzen können.

FreeBSD hat vor allem unter Systemadministratoren einen exzellenten Ruf: Es gilt als extrem pflegeleicht, sehr stabil und äußerst performant. Zwar verfügt es nicht über eine ganz so exzellente Hardware-Unterstützung, wie es bei den neueren Linux-Distributionen der Fall ist – jedoch ist sein Support im Laufe der Zeit beeindruckend gewachsen.

Als Desktop-System fristet FreeBSD [1] bislang im Vergleich zu Linux eine Art Schattendasein. Dies liegt vor allem daran, dass die Konfiguration etwas aufwändiger ausfällt als etwa bei einer professionellen Linux-Distribution wie Suse oder Red Hat. An vielen Stellen ist der manuelle Eingriff des Benutzers gefragt. Doch das hervorragende Paketmanagement und die simple Konfiguration (wenn man sich daran gewöhnt hat) machen dies mehr als wett. In der Bedienung erweisen sich die Unterschiede zu Linux als marginal, die wichtigsten Kommandos funktionieren genau oder zumindest fast wie gewohnt.

Große Unterschiede gibt es jedoch bei dem was, unter der Haube des Systems passiert. Das fängt bei der Partitionierung an und zieht sich über die Behandlung von Devices bis zur Behandlung von Prozessen. Trotzdem muss man sich als ambitionierter Linux-Benutzer nicht scheuen, sich mit FreeBSD auseinander zu setzen. Es ist nicht schwerer zu installieren und zu verwalten als ein Debian oder Gentoo Linux. Gerade, wer Gentoo kennt und benutzt, dem kommt unter FreeBSD vieles bekannt vor. Die Befehle unterscheiden sich zwar, lassen sich prinzipiell aber durchaus vergleichen.

Die Stärken von FreeBSD

FreeBSD weist im Vergleich mit anderen Unix-artigen Betriebssystemen eine ganze Reihe von Stärken auf. So gibt es nur eine einzige Distribution und eine klar definierte Verzeichnisstruktur. Dadurch wirkt das System nicht “zusammengebastelt”, sondern wie aus einem Guss. FreeBSD benötigt nur wenig an Ressourcen, um performant zu laufen, und lässt sich sehr leicht aktualisieren.

Mit FFS, dem Berkeley Fast File System, verfügt es über ein ausgereiftes Dateisystem. Alle unter GNU bekannten und wichtigen Server-Dienste stehen auch unter FreeBSD zur Verfügung, wie etwa Samba, Apache, Squid, MySQL oder LDAP. Ein Großteil aller freien Software gibt es auch für FreeBSD sowohl als Binary wia auch im Quellcode, teilweise mit BSD-spezifischen Patches. Reißen alle Stricke, kann FreeBSD auch mit einem Linux-Emulationslayer aufwarten.

Das System glänzt nicht nur mit einer hohen I/O-Leistung, sondern au ch mit reichlich Netzwerk-Performance, speziell beim Einsatz von Diensten. Nicht umsonst galt der TCP/IP-Stack von BSD lange Zeit als Referenz. Daneben bietet das System auch hervorragende Security-Features, wie die bekannte Firewall-Software pf (“packet filter”), die alle BSD-Varianten verwenden.

Davon gibt es neben FreeBSD auch noch OpenBSD [2] und NetBSD [3]. Alle drei Projekte befruchten sich bei wichtigen Vorhaben gegenseitig, was die Entwicklung aller fördert. FreeBSD kann mit einer ausführlichen Dokumentation aufwarten, dem FreeBSD Handbook [4]. Was dort nicht zu finden ist, beantwortet meist die sehr freundlich und aktive Community des Betriebssystems im Internet.

Schwachpunkte in FreeBSD

Aber auch einige mehr oder minder gravierende Nachteile von FreeBSD sollen hier zur Sprache kommen. Im Vergleich zu Linux bietet das System aufgrund seiner geringeren Verbreitung auch einen schwächere Hardware-Support. So fällt etwa die Unterstützung für Mehrprozessor-Systeme deutlich schlechter aus. Auch die Auswahl an mit FreeBSD kooperierenden Geräten wie TV- oder WLAN-Karten hält sich in eher engen Grenzen. Als einziger Grafikkartenhersteller stellt NVidia einen eigenen Treiber für FreeBSD bereit [5].

Linux-Umsteiger verwirren oft vor allen Dingen zwei Fakten: Zum einen kennt FreeBSD keine System-V-ähnlichen Runlevels – wobei man das je nach Philosophie auch als Vorteil werten kann. Zum anderen richtet die Standard-Installation keine Bash ein – für viele Linuxer ein überlebenswichtigs Werkzeug.

Ganz ähnlich wie bei traditionellen Linux-Distributionen dagegen kann die Konfiguration des Betriebssystems den Benutzer in den Wahnsinn treiben, wenn er nicht bereit ist, Manpages zu lesen. Ganz anders als für Linux gibt es dagegen nur sehr wenige deutschsprachige Literatur zu FreeBSD auf dem Buchmarkt.

Die (Free)BSD-Geschichte

Bei BSD, der Berkeley Standard Distribution, handelt es sich um einen der wichtigsten Entwicklungszweige der Unix-Historie (Abbildung 1). Die Geschichte von BSD beginnt Mitte der 70er Jahre, später gingen daraus bekannte Unix-Derivate wie etwa SunOS (das spätere Sun Solaris) oder NextStep hervor.

FreeBSD entstand jedoch erst Ende 1992 – also etwas später als Linux – aus einer Portierung von 4.3 BSD auf Intel-PCs. Sie war Folge eines Rechtstreits, als dessen Ergebnis ein Großteil des BSD-Codes neu geschrieben werden musste. Aus dieser Historie heraus ist FreeBSD gut für die x86-Architektur optimiert. Es läuft jedoch heute auch auf den Architekturen AMD64, EM64T, IA-64, UltraSPARC sowie einigen anderen.

Abbildung 1: Ein stark vereinfachter Entwicklungsbaum der Unix-Geschichte. Die BSD-Systeme (rechte Hälfte), von denen 1992/93 FreeBSD abzweigt, machen einen wesentlichen Teil davon aus. Auf der linken Hälfte finden sich die System-V-kompatiblen Systeme, in deren Verwandschaft auch Linux steht. Dazu gehören etwa HP-UX oder IBM AIX.

Abbildung 1: Ein stark vereinfachter Entwicklungsbaum der Unix-Geschichte. Die BSD-Systeme (rechte Hälfte), von denen 1992/93 FreeBSD abzweigt, machen einen wesentlichen Teil davon aus. Auf der linken Hälfte finden sich die System-V-kompatiblen Systeme, in deren Verwandschaft auch Linux steht. Dazu gehören etwa HP-UX oder IBM AIX.

Gerätenamen

Anders als bei Linux spricht FreeBSD (ebenso wie die Geschwister OpenBSD und NetBSD) die Geräte über hardware-abhängige Namen an. So heißen Festplatten bei FreeBSD stets ad (IDE) oder da (SCSI) statt hd und sd.

FreeBSD nummeriert die vorhandenen Festplatten nach einem starren Prinzip durch, das sich nicht verändern lässt. Bei IDE-Disks beispielsweise heißen die Platten am ersten Controller grundsätzlich ad0 (Master) und ad1 (Slave), am zweiten ad2 bzw. ad3. Auch wenn nur eine Festplatte vorhanden ist, jedoch am zweiten Controller als Master hängt, heißt sie stets ad2 heißen. Dies kann man nach der Installation sehr gut nachverfolgen, indem man sich die angelegten Gerätedateien im Verzeichnis /dev ansieht: Gerätedateien für ad0 sowie ad1 fehlen in diesem Fall komplett.

CD- oder DVD-Laufwerke mit dagegen bezeichnet FreeBSD als acd (IDE) oder cd und nummeriert sie ebenfalls starr durch. Dabei ist es dem System herzlich egal, an welchem Controller sie hängen. Ob das ATAPI-CD-ROM-Drive am zweiten Controller als Slave oder am ersten als Master residiert: Es heißt in jedem Fall acd0.

Ähnliches gilt für Netzwerkarten: FreeBSD identifiziert sie nach Hersteller und Typ. Setzen Sie also NICs verschiedener Hersteller ein, ergibt sich daraus eine unterschiedliche Benennung der Interfaces. Verwenden Sie im Rechner etwa eine Realtek-kompatible Karte und ein Intel-Pro/100-Board, spricht FreeBSD die erste Karte als rl0 an, die Intel-NIC dagegen als fxp0.

Dateisystem

FreeBSD selbst belegt nur eine primäre Parition. Da pro Festplatte maximal vier primäre Paritionen Verwendung finden können, lässt sich das System nicht einrichten, falls die Platte vor der Installation schon vier primäre Partitionen beherberget

Seit FreeBSD 5.3 kommt als Dateisystem FFS/UFS2 mit Soft-Updates zum Einsatz. Dieses Dateisystem wird momentan von Linux leider nicht unterstützt und lässt sich daher auch nicht mounten. Unter FreeBSD lässt sich aber kein anderes Filesystem wählen: Dies ist nicht beabsichtigt, weil es dem Ansatz des “Systems aus einem Guss” widerspräche.

Auch bei der Benennung der einzelnen Teilbereiche der Festplatte verwendet FreeBSD eine völlig andere Nomenklatur als andere Betriebssysteme. Was unter Linux, DOS und Windows als Partition bezeichnet wird, heißt unter FreeBSD “Slice” (wie in Solaris). Eine Partition in FreeBSD ist ein Teilbereich eines solchen Slice und wir durch einen Kleinbuchstaben bezeichnet.

Bei Partition a handelt es sich um das Root-Dateisystem, von dem der Rechner startet. Diese Partition enthält im Normalfall auch die wichtigen Verzeichnisse /boot, /etc, /bin und /sbin. Man kann auch von einer anderen Partition als a booten. Das setzt jedoch eine Neukompilierung des Kernel voraus.

Partition b ist immer der Swap-Bereich. Partition c existiert nur aus historischen Gründen noch, findet jedoch im Normalfall keine Verwendung mehr. Partition d mountet FreeBSD auf /var, e entspricht /tmp. Partition f schließlich wird als /usr eingehängt und enthält alle Userland-Programme. Dort befindet in der Regel auch das Verzeichnis /home, das über einen Symlink angesprochen wird.

Eine beispielhafte Dateisystem-Tabelle für FreeBSD – sie findet sich wie bei Linux in der Datei /etc/fstab – finden Sie im Kasten “Exemplarische Filesystem-Tabelle”.

Exemplarische Filesystem-Tabelle

/dev/ad0s2b     none            swap    sw              0       0
/dev/ad0s2a     /               ufs     rw              1       1
/dev/ad0s2e     /tmp            ufs     rw              2       2
/dev/ad0s2f     /usr            ufs     rw              2       2
/dev/ad0s2d     /var            ufs     rw              2       2
/dev/acd0       /cdrom          cd9660  ro,noauto       0       0
/dev/ad0s3      /mnt/linux      ext2fs  ro              0       0

Installation

Nun aber genug der Theorie – gehen wir an die Installation eines FreeBSD-Systems. Die folgende Beschreibung geht davon aus, dass Sie FreeBSD parallel zu einem existierenden Linux-System auf einem freien Slice (“Partition”) einrichten möchten und dabei Grub als Bootloader zum Einsatz kommen soll.

Grundsätzlich können Sie FreeBSD von einem aus zwei Disks bestehenden Satz von Installations-CDs installieren. Diese besorgen Sie sich als ISO-Images beispielsweise bei Freebsd.org[6]. An der selben Stelle finden Sie aber auch eine “Bootonly”-CD-Variante, die eine Installation über das Netzwerk ermöglicht. Verfügen Sie über eine gute Netzanbindung (Standleitung oder DSL), sollten Sie diese Variante bevorzugten: Auf den Installations-Mirrors lagern stets die aktuellsten Pakete.

Nachdem Sie sich vergewissert haben, dass das CD-ROM-Laufwerk im BIOS ihres Rechners als erstes Boot-Device eingetragen ist, legen sie die Installations-CD ein und starten den Rechner neu. Nach dem Hochfahren sehen Sie als erstes den System-Installer Sysinstall. Dort wählen Sie den Menüpunkt Standard Begin a standard installation (recommended) aus.

Abbildung 2: Nach dem Start von der Installations-CD begrüßt sie Chuck, der Daemon – das Maskottchen von FreeBSD.

Abbildung 2: Nach dem Start von der Installations-CD begrüßt sie Chuck, der Daemon – das Maskottchen von FreeBSD.

Nun wählen Sie die Festplatte an, auf der Sie FreeBSD einrichten wollen, und drücken beherzt OK (Abbildung 2). Daraufhin startet Fdisk (Abbildung 3).

Abbildung 3: Zu Beginn der Installation müssen Sie zunächst die Festplatte auswählen, auf der FreeBSD eingerichtet werden soll.

Abbildung 3: Zu Beginn der Installation müssen Sie zunächst die Festplatte auswählen, auf der FreeBSD eingerichtet werden soll.

Abbildung 4: Zur Partitionierung dient auch unter FreeBSD ein Fdisk, das seinem Linux-Bruder recht ähnlich sieht.

Abbildung 4: Zur Partitionierung dient auch unter FreeBSD ein Fdisk, das seinem Linux-Bruder recht ähnlich sieht.

Zuerst erstellen Sie auf dem System ein Slice für FreeBSD, der die notwendigen Partitionen beherbergen soll. Diesen legen Sie mit einem Druck auf [C] an, woraufhin FDisk nach der gewünschten Größe des Slice fragt. Diese geben Sie entweder als Anzahl von zu verwendenden Blöcken an, oder komfortabler in M (Megabyte) bzw. G (Gigabyte). Zwei GByte Plattenplatz sollten Sie für FreeBSD minimal veranschlagen, vier GByte lässt Ihnen auf jeden Fall genügend Raum zum agieren. Haben Sie die gewünschte Größe eingegeben, bestätigen sie mit [Q].

Nun ist es an der Zeit, mit dem FreeBSD-Disklabel-Editor Partitionen innerhalb unseres Slice anzulegen. Betätigen Sie dazu [A], dann legt das Tool die Partitionen automatisch anhand von Vorgabewerten an. Diese fallen jedoch – gerade was /tmp und /var angeht – mit je 256 MByte meist zu klein aus. Das gilt insbesondere, falls Sie später viel mit MySQL, Apache oder auch Multimedia-Anwendungen arbeiten wollen. Falls Ihnen jedoch die Standardvorgaben genügen, bestätigen Sie mit [Q]. Daraufhin erstellt und das Disklabel-Editor die einzelnen Partitionen.

Möchten Sie stattdessen die vorgeschlagenen Werte ändern, müssen Sie zunächst mit [D] alle alle vorgeschlagenen Werte löschen. Anschließend können Sie damit beginnen, mit [C] zunächst eine Root-Partition und anschließend die anderen Partitionen in der gewünschter Größe anzulegen (Abbildung 4). Die Vorgehensweise dabei ist stets die selbe: Sie wählen einen leeren Bereich an, drücken [C], geben die Größe an und wählen zwischen FS und swap. Zu guter letzt legen Sie dann den Mountpoint fest. Sie brauchen stets mindestens:

  • eine Root-Partition (“/”), die für ein Client-System etwa ein GByte groß sein sollte,
  • einen Swap-Bereich (/swap), der etwa das doppelte des vorhandenen RAM betragen sollte,
  • eine /usr-Partition sowie
  • je eine Partition für /var und /tmp, die je nach Verwendugszweck des Servers mehr oder minder groß ausfallen können, jedoch nicht unter 512 MByte groß sein sollten.
Abbildung 5: Mit dem Dislabel-Editor legen Sie im Slice die notwendigen Partitionen an. Dabei geben Sie die Größe wahlweise als Blocks, im MByte oder GByte an.

Abbildung 5: Mit dem Dislabel-Editor legen Sie im Slice die notwendigen Partitionen an. Dabei geben Sie die Größe wahlweise als Blocks, im MByte oder GByte an.

Auch bei der händischen Partitionierung schließen Sie den Vorgang mit [Q] ab. Bei manchen Festplatten kann es übrigens vorkommen, dass FreeBSD bei manueller Eingabe der Partitionswerte nicht den ganzen Rest des Slice belegen kann. Das ist nicht weiter tragisch und bedeutet auch nicht, dass die Festplatte Defekt oder das Slice beschädigt sind.

Nach der Partitionierung fragt FreeBSD nach, ob es einen Bootmanager installieren soll. Da Sie später über Grub booten wollen, wählen Sie hier die Option Leave The Master Boot Record Untouched aus.

Distribution Sets

Jetzt können Sie an die Installation des so genannten Distribution Sets gehen. Falls Sie ein möglichst flexibles Client-System aufsetzen möchten, stellt hier die Option All die geeignet Wahl dar. Die anschließende Frage nach der Installation der Ports Collection beantworten Sie positiv – in diesem Fundus lagern viele hilfreiche Programme. Als Installationsmedium wählen Sie im nächsten Schritt die entweder die eingelegte CD oder – falls Sie über eine entsprechend leistungsfähige Netzwerkverbindung verfügen – einen FTP-Mirror.

Abbildung 6: Über das so genannte Distribution Set legen Sie den Installationsumfang für Ihr System fest.

Abbildung 6: Über das so genannte Distribution Set legen Sie den Installationsumfang für Ihr System fest.

Sysinstall fragt jetzt noch einmal, ob Sie wirklich mit der Installation fortfahren wollen. Hier haben Sie die letzte Chance, die Einrichtung von FreeBSD noch abzubrechen. Wäheln Sie dagegen Yes aus, wird FreeBSD auf der Festplatte installiert. Dabei zeigt der Installer laufend den Fortschritt der Arbeiten an. Nach dem Abschluss der Kopieraktionen bestätigen Sie den nun auftauchenden Begrüßungsbildschirm mit [Enter] und beginnen nun mit der Basiskonfiguration.

Als erstes geht es an die Einstellungen für die Netzwerkschnittstelle. FreeBSD bietet hier in aller Regel bereits einen passenden Treiber an. Sie müssen nur noch festlegen, ob das Device IPv6 verstehen muss und ob es DHCP oder eine statische IP-Adresse verwenden soll. In den meisten Netzen stellt DHCP die optimale Einstellung dar, sie müssen dann nur noch den Hostnamen für den Rechner angeben.

Alle weiteren Abfragen können Sie zunächst einmal überspringen – die Feinkonfigurierung des Systems nehmen Sie später vor. Beantworten Sie demenstprechend die auftauchenden Abfragen mit No und stellen Sie vorab lediglich die Zeitzone sowie Tastaturbelegung und Maustyp passend ein. Abschließend legen Sie noch mindestens einen Benutzer zusätzlich zu root an (Abbildung 6). Der muss zumindest der Gruppe wheel angehören, damit er später su ausführen kann. Als Shell ist die Bourne-Shell (/bin/sh) voreingestellt, wobei Sie es fürs erste belassen – im weiteren Verlauf der Konfiguration wechseln sie später zur vertrauten Bash.

Abbildung 7: Während der Installation müssen Sie zumindest einen normalen Benutzer anlegen, um später nicht ständig als Root arbeiten zu müssen.

Abbildung 7: Während der Installation müssen Sie zumindest einen normalen Benutzer anlegen, um später nicht ständig als Root arbeiten zu müssen.

Nun fragt der Installer zu guter Letzt noch das Passwort für root ab. Damit ist die Grundinstallation abgeschlossen, und das System startet neu.

FreeBSD booten mit Grub

Um FreeBSD künftig im Dual-Boot-Modus parallel zu Linux nutzen zu können, booten Sie nach der erfolgreichen Installation von FreeBSD das Linux-System und ändern die Konfiguration des Bootmanagers Grub entsprechend. Dazu öffnen Sie mit einem Texteditor die Datei /boot/grub/menu.lst und tragen dort die folgenden Zeilen am Schluss der Datei ein:

title FreeBSD
  root (hd0,1)
  makeactive
  chainloader +1

Dabei setzen Sie für (hd0,1) diejenige Partition (respektive den Slice) ein, auf der Sie FreeBSD eingerichtet haben. Speichern Sie anschließended die menu.lst ab. Von nun an erscheint FreeBSD im Grub-Bootmenü und lässt sich darüber komfortabel starten.

Ausblick

Damit sind wir am Ende des ersten Teils unseres FreeBSD-Workshops angelangt. Der nächste Teil beschäftigt sich mit den Konfigurations- und Verwaltungsarbeiten am System. Außerdem zeigt er, wie Sie das X-Window-System mit KDE als grafischer Oberfläche einrichten und die Software komfortabel mit Hilfe des Ports-Systems von FreeBSD verwalten.

LinuxUser 09/2005 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben