FreeBSD gilt als zuverlässiges und äußerst sicheres Betriebssystem für Server. Wir klären, was die neue Version 12 auf dem Desktop leistet.
Dreht sich ein Gespräch um freie Betriebssysteme, denken die meisten Anwender automatisch an Linux. Dabei fallen oft durchaus existierende Alternativen unter den Tisch. Vor allem im Server-Bereich genießt das bereits seit 1993 entwickelte FreeBSD einen exzellenten Ruf. Das System fußt auf der Berkeley Software Distribution, einem unixoiden Betriebssystem, dessen Ursprünge bis ins Jahr 1977 zurückreichen. Zahlreiche Derivate wie beispielsweise TrueOS (das frühere PC-BSD), Dragonfly BSD oder GhostBSD sorgen dabei für eine ähnliche Unübersichtlichkeit der Szene wie bei Linux.
Mit Ausnahme von TrueOS und GhostBSD ist jedoch allen BSD-Derivaten gemein, dass sie nicht auf den Desktop fokussieren, sondern auf Server, Storage-Appliances, Router und Firewalls. Doch in den Software-Repositories von FreeBSD finden sich auch komplette grafische Arbeitsumgebungen, die das exzellente Betriebssystem für den Desktop-Einsatz fit machen sollen.
Installation
Sie erhalten FreeBSD als ISO-Image für verschiedenste Rechnerarchitekturen. Egal, ob Sie einen Raspberry Pi einsetzen, einen herkömmlichen Intel-Rechner oder eine Workstation mit PowerPC- oder Sparc-Architektur – für alle diese Systeme stehen passende Abbilder zum Herunterladen auf der Projektseite bereit. Es gibt auch passende Systemabbilder für USB-Speichersticks oder SD-Karten [1].
Nach dem Herunterladen des für Ihren Einsatzzweck passenden Images brennen Sie es auf einen optischen Datenträger oder transferieren es auf einen Speicherstick. Dazu verwenden Sie unter Linux zum Beispiel den Befehl Dd – ein Beispiel für das 64-Bit-Image zeigt Listing 1. Achten Sie bitte darauf, die Laufwerksbezeichnung sdX durch die für Ihr System korrekte Angabe zu ersetzen.
Listing 1
$ dd if=FreeBSD-12.0-RELEASE-amd64-dvd1.iso of=/dev/sdX bs=1m conv=sync
Anschließend fahren Sie Ihren Computer von dem neu angelegten Wechseldatenträger hoch. FreeBSD begrüßt Sie nach kurzer Zeit mit einem schlichten Bootmanager, in dem Sie auswählen, ob das System im Multi-User- oder Single-User-Modus arbeiten soll oder Sie neustarten möchten. Zusätzlich gibt es noch eine Option zum Wechsel an den Prompt. Sollte FreeBSD den Bootmanager nicht einblenden, so empfiehlt sich ein Blick in die Liste der kompatiblen Hardware – meist wird in diesem Fall eine Hardware-Komponente nicht unterstützt.
Voreingestellt startet FreeBSD aus dem Bootmanager heraus in den Multi-User-Modus, wobei Sie kurz darauf einen Ncurses-Dialog vorfinden, der abfragt, ob Sie das Betriebssystem live starten oder gleich installieren möchten. Starten Sie den Live-Modus, erscheint umgehend ein Login-Prompt. Hier melden Sie sich mit dem Usernamen root und ohne Passwort an. Sie landen erneut am Prompt, ohne dass eine grafische Oberfläche startet. Der Live-Modus eignet sich daher nur sehr bedingt für Einsteiger und Umsteiger mit Desktop-Ambitionen.
Leichter fällt die stationäre Installation auf einer Testpartition. Dazu wählen Sie im entsprechenden Dialog die Installationsoption aus. FreeBSD ruft dann den Standard-Installer Bsdinstall auf, der in wenigen Schritten das System auf den Massenspeicher packt. Da das BSD-Derivat voreingestellt eine US-Tastaturbelegung nutzt, ändern Sie zunächst das Tastatur-Layout. Wählen Sie eine der deutschen Optionen, und bestätigen Sie diese mit Select. Anschließend haben Sie die Möglichkeit, einen Hostnamen anzugeben und über ein Auswahlfenster optionale Systemkomponenten des BSD-Derivats einzuspielen (Abbildung 1).
In aller Regel genügt für Einsteiger die Vorauswahl, sodass Sie ohne Anpassungen zum nächsten Schritt wechseln, der sich mit der Partitionierung des Massenspeichers beschäftigt. FreeBSD unterstützt als Dateisysteme von Haus aus UFS und ZFS – beide sind fest in der Unix-Welt verankert und kommen primär im professionellen Umfeld zum Einsatz.
Dabei dient UFS2 als Standarddateisystem von FreeBSD, während das anspruchsvolle ZFS für Desktop-Systeme eigentlich überdimensioniert wirkt. Steht der gesamte Massenspeicher für eine komplette Neuinstallation zur Verfügung, können Sie die automatische Partitionierung durch den Installer vornehmen lassen. In diesem Fall legt das System eine UFS2-Root-Partition sowie eine Swap-Partition an. Befinden sich bereits andere Betriebssysteme auf der Festplatte, erkennt der Installer sie und lässt eine manuelle Partitionierung zu.
Beachten Sie bitte die im Vergleich zu Linux komplett unterschiedliche Nomenklatur der Laufwerksbezeichnungen: Die erste Festplatte oder SSD trägt unter FreeBSD den Laufwerksnamen ada0, weitere Massenspeicher zählt das System in aufsteigender Reihenfolge. Die einzelnen Partitionen erscheinen jeweils mit einem vorangestellten p und ebenfalls aufsteigend nummeriert hinter dem Laufwerksnamen. So heißt beispielsweise die erste Partition auf dem ersten Laufwerk ada0p1. Nach Abschluss der Partitionierung kopiert der Installer das Betriebssystem auf den Massenspeicher (Abbildung 2).
Anschließend geben Sie am Prompt für den Benutzer root ein neues Passwort an und gelangen danach in den Konfigurationsdialog. Hier aktivieren Sie zunächst den Netzwerkzugang und stellen Datum sowie Uhrzeit ein. Danach verzweigt die Routine in einen Dialog, in dem Sie Systemdienste aus einer Auswahl aktivieren, die FreeBSD beim Hochfahren automatisch starten soll.
In einem weiteren Ncurses-Fenster stellen Sie anschließend aus einer Liste verschiedene Sicherheitsoptionen zusammen, die der Immunisierung des Betriebssystems gegen Angriffe dienen. Der Konfigurationsdialog führt Sie weiter zum Anlegen neuer Benutzer inklusive deren Authentifizierungsdaten. Außerdem fragt der Installer weitere wahlfreie Angaben ab, wie die Zugehörigkeit der neuen Nutzer zu Gruppen und die zugehörigen Home-Verzeichnisse (Abbildung 3).
Im sich danach öffnenden Fenster Final Configuration finden Sie erneut alle vorangegangenen Konfigurationsdialoge vor. Möchten Sie die Konfiguration noch einmal modifizieren, aktivieren Sie einfach mit den Pfeiltasten den entsprechenden Dialog. Nach Abschluss aller Änderungen gelangen Sie in den Bildschirm Final Configuration zurück. Über die Option Exit führen Sie anschließend einen Neustart vom frisch installierten Massenspeicher aus.
Erster Start
Das System öffnet zunächst denselben Bootloader wie auf dem Installationsdatenträger und startet, falls Sie keine der angebotenen Optionen auswählen, in den Multiuser-Betrieb. Dabei gelangen Sie zügig an einen Login-Prompt, an dem Sie sich als Nutzer root anmelden. Nun können Sie eine grafische Bedienoberfläche installieren. Dazu stehen in der Ports-Collection zahlreiche verschiedene Desktop-Umgebungen bereit.
Zunächst gilt es jedoch den X11-Server zu installieren. Dazu geben Sie am Prompt pkg install xorg ein (Listing 2, erste Zeile). Da noch kein Paketverwaltungswerkzeug installiert ist, fragt die Routine zunächst ab, ob es dieses herunterladen und konfigurieren soll, was Sie bejahen. Anschließend beschafft FreeBSD die fehlenden Dateien für die Paketverwaltung von den Repository-Servern und installiert sie.
Danach lädt die Routine das komplette X11-System mitsamt den zugehörigen Fonts herunter und packt es auf den Massenspeicher. Als Nächstes fügen Sie am Prompt die zuvor im System angelegten Benutzer mithilfe der Befehle aus den Zeilen 3 und 4 von Listing 2 den Gruppen video und wheel hinzu. Danach öffnen Sie am Prompt den Texteditor Vi und bearbeiten darin die Datei /etc/rc.conf (Zeile 5).
Listing 2
# pkg install xorg [...] # pw groupmod video -m User # pw groupmod wheel -m User # vi /etc/rc.conf [...] # pkg install xfce # echo ". /usr/local/etc/xdg/xfce4/xinitrc" > ~/.xinitrc
Dort fügen Sie die Zeile dbus_enable="YES" hinzu (siehe Kasten “Editoren”). Mit dem Kommando pkg install Desktop spielen Sie dann die gewünschte Desktop-Umgebung auf das System [2]. Um beispielsweise XFCE zu installieren, lautet die Befehlszeile pkg install xfce (Zeile 7). In einer weiteren Abfrage listet das Programm die Anzahl der für die Desktop-Umgebung benötigten Pakete und deren Platzbedarf auf. Der Installer fragt Sie abschließend, ob Sie diese Pakete tatsächlich installieren möchten, was Sie durch einen Druck auf [Y] bejahen.
Editoren
FreeBSD installiert von Haus aus den Editor Vi, dessen Bedienung Einsteiger allerdings schnell überfordert. Alternativ zu Vi installieren Sie über die Paketverwaltung auch Editoren wie zum Beispiel Nano. Das entsprechende Paket nennt sich so wie das Programm, die Installation gelingt daher mit pkg install nano.
Damit haben Sie nun sowohl den X11-Server als auch eine Desktop-Umgebung installiert. Damit diese aber auch bei Eingabe des Befehls startx starten, erzeugen Sie im letzten Schritt am Prompt eine passende .xinitrc (Listing 2, Zeile 8). Nun lässt sich der Desktop durch Eingabe von startx mitsamt Desktop-Umgebung laden.
Sollte der X-Server nicht wie erwartet starten, sondern mit einem Hinweis auf eine fehlende Dbus-UUID geschlossen werden, müssen Sie noch am Prompt den Befehl dbus-uuidgen --ensure eingeben. Danach starten der X-Server und die Desktop-Umgebung ordnungsgemäß.
Handarbeit
Dem primär für Server-Systeme konzipierten FreeBSD fehlen zahlreiche Werkzeuge, um das System auf dem Desktop einzurichten. Da zudem die Hardware-Erkennung und teilweise auch die Treiberunterstützung für Desktop-Systeme zu wünschen übrig lassen [3], braucht es im Vergleich zu gängigen Linux-Distributionen mehr Handarbeit, um das Betriebssystem produktiv mit einer grafischen Arbeitsoberfläche nutzen zu können.
So stehen zwar die grafischen Konfigurationswerkzeuge der Arbeitsumgebungen nach der Grundinstallation zur Verfügung, arbeiten jedoch teils nur eingeschränkt: In vielen Fällen erkennt das System etwa Grafikkarten nur bedingt und bietet oft nur rudimentäre Anzeigeeinstellungen auf dem Desktop. Im Test standen in Kombination mit XFCE 4.12 lediglich die SVGA- und XGA-Auflösung zur Verfügung (Abbildung 4).

Abbildung 4: Mangels entsprechender Hardware-Erkennung schränkt FreeBSD die verfügbaren Auflösungen bei manchen Grafikkarten und Monitoren massiv ein.
Um das System an die Grafikhardware und Ausgabegeräte anzupassen, müssen Sie daher je nach eingebauter Hardware entweder über das Programm xrandr die passenden Videomodi einstellen oder aber direkt händisch unterschiedliche Konfigurationsdateien des X-Servers modifizieren. Auch diese Aufgaben erledigen Sie im Terminal.
Beachten Sie bitte, dass selbst bei eingestellter deutscher Lokalisierung in der FreeBSD-Installationsroutine der Desktop mit englischer Sprache und US-Tastaturbelegung lädt. Das lässt sich allerdings recht einfach im Menü Settings ändern, indem Sie im Dialog Keyboard im Reiter Layout das Häkchen vor der Option Use system defaults deaktivieren.
Anschließend klicken Sie auf den Button Add unter der Belegungsanzeige. Nun wählen Sie aus der aufklappenden Liste die deutsche Tastaturbelegung (etwa German (no dead keys)) und löschen die englische Belegung über Delete. Anschließend editieren Sie die entsprechenden Dateien im XFCE-Terminal. Ausführliche Dokumentationen dazu liefert die Webseite des FreeBSD-Projekts [4].
Pakete
Das Terminal als Dreh- und Angelpunkt bei der Steuerung und Anpassung von FreeBSD hält für erfahrene Linux-Anwender kaum Überraschungen bereit. Der Befehlssatz von FreeBSD ähnelt dem von Linux sehr stark, sodass Sie die gängigen aus Linux bekannten Befehle auch in FreeBSD verwenden können.
FreeBSD verfügt über ähnliche Möglichkeiten wie Linux, um zusätzliche Software zu installieren. Da die Installation des Systems mitsamt Desktop kaum Zusatzprogramme einspielt, lässt sich die Installation sehr gut an die eigenen Wünsche anpassen. Als Ergebnis erhalten Sie ein schlankes und ressourcenschonendes System. Allerdings fällt auch hier schon bei Alltagsanwendern ein hoher Zeitaufwand an, da es kein grafisches Frontend gibt, das das Stöbern in den Paketquellen erleichtert.
Die beiden gebräuchlichen Formen der Software-Installation unter FreeBSD sind die direkte Integration mithilfe von vorbereiteten Binärpaketen und der Bezug von Ports. Binärpakete spielen Sie aus den Repositories mithilfe des Befehls pkg install Paket in das System ein. Ports dagegen bestehen aus Makefiles und Korrekturen, Sie müssen sie also per “Rezept” aus dem Quellcode kompilieren.
Die Ports-Sammlung beziehen Sie mithilfe des Befehls portsnap. Mit entsprechenden Parametern ermöglicht er es, komprimierte Snapshots des Dateiarchivs aus dem Internet zu laden und im Verzeichnis /usr/ports/ abzulegen (Listing 3, erste drei Zeilen). Aus den Ports-Verzeichnissen heraus lassen sich dann anschließend mithilfe der Befehlssequenz make install clean die Programme installieren. Bei Bedarf geben Sie hinter dem Befehl make noch anwendungsspezifische Parameter zum Kompilieren an.
Listing 3
$ portsnap fetch $ portsnap extract $ portsnap update $ cd /usr/ports/ftp/filezilla $ make install clean
So bauen die letzten zwei Zeilen aus Listing 3 den FTP-Client Filezilla aus dem Quellcode und installieren ihn im FreeBSD-System. Das Make-Skript lädt dabei automatisch die von der Anwendung benötigten Abhängigkeiten und baut diese im selben Zug mit. Besonders beim Bauen der ersten Ports muss das System daher zahlreiche Werkzeuge installieren.
Zwischendurch erscheint immer wieder eine Abfrage nach speziellen Optionen – etwa, ob die Dokumentation mit gebaut werden soll. In der Regel müssen Sie hier nichts anpassen, sondern können den Dialog einfach mit OK schließen. Der gesamte Vorgang benötigt selbst auf einem schnelleren Rechner mehr als 20 Minuten.
Ausführliche Dokumentationen zu den Ports und diesem Weg der Software-Installation liefert das FreeBSD-Projekt im gut gepflegten und ins Deutsche übersetzten Handbuch [5]. Welche Ports unter welchem Namen zur Verfügung stehen, zeigt das Projekt in der webbasierten Ports-Sammlung, die erfreulicherweise über eine Suchfunktion verfügt [6].
Sicherheit
FreeBSD gilt nicht grundlos auf Server-Systemen als außerordentlich sicheres Betriebssystem. Das BSD-Derivat bietet gleich mehrere Firewalls, die alle auf Kernel-Ebene arbeiten. Dabei ähnelt die Syntax der im BSD-Universum allgegenwärtigen Paketfilter-Firewall (kurz: Pf) derjenigen von Ipfilter. Die unter Linux gebräuchliche Netfilter/Iptables-Firewall kennt FreeBSD allerdings nicht. Genauso wie unter Linux erfolgt die Steuerung der Paketfilter-Firewall über einfach zu lesende Regelwerke.
Als besonders interessante Sicherheitskomponente verfügt FreeBSD zudem über sogenannte Jails [7]. Hierbei handelt es sich, wie die Bezeichnung bereits andeutet, um abgeschlossene Instanzen, die mithilfe einer modifizierten Chroot-Umgebung die Sicherheit des Betriebssystems erhöhen. Das virtuelle Gefängnis verhindert, dass einzelne Prozesse auf Ressourcen Zugang erhalten, die sich außerhalb der Chroot-Umgebung befinden.
Aktualisierungen
Auch die FreeBSD-Community hält ihr System permanent auf dem aktuellen Stand. Festgeschriebene Patchdays wie bei anderen Betriebssystemen gibt es bei FreeBSD nicht. Die Installation der Sicherheits- und allgemeinen Systemaktualisierungen (die auch Updates auf neue Haupt- und Unterversionen beinhalten) erfolgt mithilfe des Kommandos freebsd-update (Abbildung 5) und entsprechenden Schaltern (Listing 4). Sollte ein Update unerwünschte Nebenwirkungen zeigen, lässt sich der letzte Satz von Änderungen mit freebsd-update rollback zurückrollen.
Listing 4
$ freebsd-update fetch $ freebsd-update install
Weit über die Möglichkeiten des Kommandos hinaus lässt sich das FreeBSD-Update über die Konfigurationsdatei /etc/freebsd-update.conf anpassen. Dort finden Sie beispielsweise die Option IgnorePaths, die es erlaubt, bestimmte Verzeichnisse vom Aktualisierungsprozess auszuklammern. So vermeiden Sie, dass manuell vorgenommene Änderungen im System durch ein Update wieder überschrieben werden.
Tragen Sie freebsd-update cron in die /etc/crontab ein, lässt sich das Update auch automatisieren und zum Beispiel einmal täglich im Hintergrund ausführen. Informationen zu den Updates und Hinweise zur Sicherheit des Systems schickt der Prozess in diesem Fall per E-Mail an den Benutzer root. Die Mails lesen Sie entweder über das spartanisch gehaltene Kommando mail oder installieren einen textbasierten E-Mail-Client wie Mutt oder Alpine (Abbildung 6). Zu den Funktionen des Aktualisierungswerkzeugs steht eine umfangreiche deutschsprachige Dokumentation bereit [8].

Abbildung 6: Das System schickt wichtige Informationen zu Updates und zum Status per E-Mail an den Root-Account. Mit mail oder wie hier mit dem E-Mail-Client Alpine lesen Sie die Infos aus.
Fazit
Im Test erweist sich FreeBSD in Bezug auf die Eignung als Desktop-System den gängigen Linux-Varianten als nicht ganz ebenbürtig. Zwar arbeitet das BSD-Derivat ähnlich stabil und weist mit dem Jails-Konzept auch eine interessante Sicherheitsfunktion auf, aber ein schnelles Aufsetzen des Betriebssystems wie unter Linux gelingt mit FreeBSD in den meisten Fällen nicht.
Die teilweise lückenhafte Hardware-Unterstützung und das Fehlen von grafischen Werkzeugen zum Installieren und Anpassen des Systems führt zu einem sehr hohen Arbeits- und Zeitaufwand, bis das System inklusive Desktop-Umgebung und Anwendungsprogrammen steht. Einsteiger greifen daher beim Einrichten eines Desktop-BSD-Systems besser auf Derivate wie TrueOS [9] oder GhostBSD [10] zurück: Sie fokussieren auf die Desktop-Nutzung und kompensieren den in diesem Bereich herrschenden signifikanten Entwicklungsrückstand zu Linux durch eigenentwickelte grafische Werkzeuge.
Infos
-
Download: https://www.freebsd.org/where.html
-
“Installing a Desktop Environment on FreeBSD”: https://www.freebsdfoundation.org/freebsd/how-to-guides/installing-a-desktop-environment-on-freebsd
-
Hardware-Kompatibilität: https://www.freebsd.org/doc/de_DE.ISO8859-1/books/faq/hardware.html
-
Dokumentation zum Aufsetzen eines Desktops: https://www.freebsd.org/doc/de_DE.ISO8859-1/books/handbook/x11-wm.html
-
“Installieren von Anwendungen: Pakete und Ports”: https://www.freebsd.org/doc/de_DE.ISO8859-1/books/handbook/ports.html
-
Ports-Liste: https://www.freebsd.org/de/ports
-
Jails: https://www.freebsd.org/doc/de_DE.ISO8859-1/books/handbook/jails.html
-
Dokumentation zu Freebsd-update: https://www.freebsd.org/doc/de_DE.ISO8859-1/books/handbook/updating-upgrading-freebsdupdate.html
-
TrueOS: https://www.trueos.org
-
GhostBSD: https://ghostbsd.org










“Zahlreiche Derivate ….wie bei Linux” .. Ja, alles klar ;-) Das sind gerade mal ein paar und aus guten und nachvollziehbaren Gründen, die Du anscheinend nicht kennst. Oder sind bei Dir eine Zahl (vermutlich unter 10) vergleichbar mit schon fast 1000 Linux Distributionen, da fehlt nicht mehr viel, um vierstellig zu werden. Was im übrigen totaler Schwachsinn ist. Da haben viele Leute anscheinend noch nicht verstanden, dass man einfach nur einen Paketmanager verwenden muss, um sich die gewünschten Pakete zu installieren. Und selbst Customization könnte viel besser über “meta Pakete” abgefackelt werden. Nun zu BSD und seinen Varianten in aller… Mehr »
Damals wie heute heißt das grafische Frontend für die Packages Octopkg.
Lediglich die Ports müssen übers Terminal installiert werden. Aber auch hier muss man nicht im dunklen tappen, wenn man den ehrwürdigen Midnight Commander per pkg install mc installiert.