FreeBSD: Installation mit Bildern kurz erklärt

Seit mindestens drei Jahren benutze ich neben Debian nun auch FreeBSD, nachdem es schon eine ganze Weile auf meiner TODO-Liste mit Betriebssystemen abseits von Linux gestanden hatte. Hiermit starte ich eine kleine Serie von Artikeln zu FreeBSD. Den Anfang macht die Installation.
Wer gerade keinen Ersatzrechner parat hat, um ein neues Betriebssystem auszuprobieren, dem empfehle ich FreeBSD in einer virtuellen Maschine zu installieren. Hierzu eignet sich z.B. ausgezeichnet QEMU/KVM, was sich mit virt-manager bequem via graphischer Oberfläche administrieren lässt.
VirtManager
Man kann zwischen verschiedenen Installationsmedien wählen. Ich habe mich für FreeBSD 11 und  AMD64 als Architektur entschieden.  Das minimale Image heißt zur Zeit FreeBSD-11.1-RELEASE-amd64-bootonly.iso. Es beinhaltet alle notwendigen Dateien, setzt jedoch eine funktionierende Netzwerkverbindung voraus. In virt-manager muss man danach nur noch eine neue virtuelle Maschine erstellen und das lokale Installationsmedium (hier eine ISO-Datei) auswählen. Als Speicher genügen 1024 MB RAM vollkommen. Ich habe mich noch für zwei virtuelle CPUs und eine kleine 3 GB Festplatte entschieden, danach kann man auch schon loslegen.
Der gesamte Installationsvorgang ist ausführlich im offiziellen FreeBSD-Handbuch beschrieben mit einer Anleitung in Deutsch oder Englisch. An dieser Stelle möchte ich deswegen nur noch auf einige Besonderheiten von FreeBSD und aus meiner Sicht erwähnenswerte Einstellungen eingehen. Die Installation gestaltet sich ähnlich wie bei Debian, wobei man erwähnen sollte, dass es keine Übersetzungen gibt und man zumindest eine grobe Ahnung der englischen Sprache haben muss. Das deutsche FreeBSD-Handbuch hilft hier jedoch weiter.
FreeBSD-Installation_1
Im Willkommenmenü bestätigt man Option 1 mit der Enter-Taste und mit einem weiteren Enter den Installationsbeginn. Interessant wird es direkt danach, wenn man die Tastaturbelegung auswählen muss. Die meisten Leser werden sich hier für German ISO-8859-15 entscheiden, man kann diese aber auch später noch in /etc/rc.conf ändern.

Bei der Auswahl um zusätzliche Systemkomponenten zu installieren, empfehle ich nur ports auszuwählen. Jede aufgeführte Option kann später auch noch nachträglich installiert werden, jedoch bietet sich ports direkt an, weil man damit unkompliziert weitere Software direkt aus den Quellen bauen kann. Dazu in einem weiteren Beitrag später mehr.
Als nächstes geht es daran das Netzwerk zu konfigurieren. Wer seine IP automatisch via DHCP bezieht, braucht hier lediglich wieder mit Enter bestätigen und danach einen deutschen Spiegelserver auswählen, von welchem das Basissystem heruntergeladen wird. Womit wir auch schon bei der Partitionierung wären. FreeBSD ist bekannt für sein ZFS-Dateisystem, an dieser Stelle empfehle ich jedoch erst einmal die geführte Partitionierung mit dem UFS-Dateisystem zu verwenden. Letzteres lässt sich wiederum mit dem EXT-Dateisystem unter Linux vergleichen, ist für Anfänger einfacher einzurichten, braucht weniger Ressourcen und fühlt sich deswegen in virtuellen Maschinen ohne weitere Konfiguration auch performanter an. Nichtsdestotrotz ist ZFS wegen seinen zahlreichen Verwendungsmöglichkeiten und Merkmalen später auf jeden Fall einen Blick wert. Die weiteren Schritte danach einfach wieder mit Enter bestätigen. Ein Interessanter Aspekt bei der Partitionierung ist, welche Namenskonventionen FreeBSD im Gegensatz zu Linux für Partitionen verwendet. Diese werden auch als Slices bezeichnet und das Ganze liest sich dann so:

ada0s1aDie erste Partition (a) in der ersten Slice (s1) der ersten SATA-Festplatte (ada0).

Anschließend wird das Basissystem, der Kernel und die Portssammlung installiert. Man gibt das Rootpasswort an und wählt noch die Zeitzone aus, in welcher sich der Rechner befindet und schon befindet man sich bei diesem Schritt:

Hier lassen sich noch optionale Dienste/Programme installieren. SSH ist immer eine gute Wahl und unerlässlich, wenn man sich von einem entfernten Rechner verbinden will. Der Rest kann auch später noch installiert werden. Weiter gehts mit der Konfiguration einiger Sicherheitseinstellungen.

Im Prinzip ist es hier sinnvoll alles zu selektieren, wobei die ersten beiden Optionen eher bei Mehrbenutzersystemen mit mehreren lokalen Benutzern Sinn machen, jedoch bei einem Einzelrechner wie  in diesem Fall auch verwirren können. Insbesondere das Ausschalten des entfernten Loggens und das Abschalten von Sendmail sind in den allermeisten Fällen zu empfehlen. Den Sendmail-Dienst kann man bei Bedarf entweder durch eine vollwertige Lösung wie Postfix oder das extrem simple ssmtp ersetzen.
Nun ist der letzte Schritt auch schon fast erreicht. Ein normaler, unprivilegierter Benutzer muss noch angelegt werden, ein einfaches Frage- und Antwortspiel. Aufpassen sollte man aber bei: Invite user into other groups? Hier solltet ihr wheel eintragen. Eine Eigenheit von FreeBSD ist, dass kein normaler Benutzer zu Root werden kann, der nicht Mitglied dieser Gruppe ist.
Das war es auch schon. Anschließend Exit und Neustart wählen und sich in sein neues FreeBSD einloggen. Mehr zu den wichtigsten Befehlen, Konfigurationsdateien und Unterschieden zu Debian, bald hier in einem neuen Beitrag.

Debian mit FreeBSD-Kernel: GNU/kFreeBSD

Im Jahr 2013 kam ich zum ersten Mal mit Debian GNU/kFreeBSD in Berührung als ich an einem Patch für libgphoto2 arbeitete. Galt GNU/kFreeBSD zu Zeiten von Debian 6 "Squeeze" noch als technische Vorschau, war es in Debian 7 "Wheezy" schon eine offiziell unterstützte Debian-Architektur. Als Teil von Debian Testing konnten demnach Kompilierungsfehler von GNU/kFreeBSD die Veröffentlichung eines Pakets verhindern. Dieser Status hat sich mit der aktuellen stabilen Debian-Veröffentlichung nun erneut geändert, leider aber zum Schlechteren. GNU/kFreeBSD ist keine offizielle unterstützte Debian-Architektur mehr, gehört jedoch weiterhin zu den sogenannten Debian-Ports wie GNU/Hurd (eine weitere Kernelalternative) oder m68k (unterstützt ältere Amiga, Atari und Apple Macintosh). Der wohl entscheidende Grund, warum GNU/kFreeBSD seinen alten Status verloren hat, ist die zu geringe Anzahl an aktiven Entwicklern und vielleicht vermag dieser Artikel das Interesse zu wecken, sich etwas mehr mit dieser Debianvariante auseinander zu setzen.

Warum GNU/kFreeBSD?

Brauche ich einen FreeBSD-Kernel, wenn Debian mit dem Linux-Kernel schon tadellos auf meinem Rechner läuft. Vermutlich ist die Antwort "eher nicht" aus den gleichen Gründen, warum FreeBSDler nicht zu Linux wechseln. Es ist diese Mischung aus Gewohnheit und der Tatsache, dass man mit beiden sowohl Desktop- als auch Serveraufgaben erledigen kann. Was GNU/kFreeBSD jedoch interessant macht ist die Tatsache, dass es zwei verschiedene Welten miteinander verbindet und was in der einen nur sehr schwierig oder gar nicht funktioniert, lässt sich mit dieser Kombination, FreeBSD-Kernel aber Debian-Paketsystem und Systemwerkzeuge, möglich machen.
Die Entwickler geben im Debian-Wiki die Antwort auf die Warum-Frage. Aus meiner Sicht am interessantesten sind:

  • Die Möglichkeit Jails zu benutzen, die man am besten mit OpenVZ bei Linuxsystemen vergleichen kann. Für Systemadministratoren bieten sie ein zusätzliches Sicherheitsmerkmal und die Möglichkeit Prozesse "einzusperren" und so eine weitere Barriere für Angreifer zu schaffen. Wie in einer Chroot-Umgebung unter Linux ließe sich aber auch ein Debian GNU/kFreeBSD unter FreeBSD betreiben und natürlich auch umgekehrt.
  • Das 128-bit-Dateisystem ZFS, das theoretisch so viel Speicherplatz bietet, dass die zum Betrieb notwendige Energiemenge alle Ozeane der Welt verdampfen könnte.  Wie man sich schnell denken kann, wurde es vor allem für den Einsatz in Rechenzentren mit immens vielen Daten konzipiert. Auf handelsüblichen Rechnern lässt es sich natürlich auch verwenden, setzt aber mindestens 1 GB RAM voraus, besser 2 GB oder gar mehr. Am ehesten lässt es sich mit btrfs vergleichen, wobei es jedoch schon deutlich länger produktiv zum Einsatz kommt. Größtes Hindernis für einen Einsatz auf Linuxsystemen ist die CDDL-Lizenz des Dateisystems, die leider inkompatibel mit der GPL-Lizenz des Linuxkernels ist. Das OpenZFS-Projekt versucht unter anderem dieses Problem zu lösen. Mit dem FreeBSD-Kernel gibt es aufgrund der liberalen BSD-Lizenz keine Probleme.
  • GNU/kFreeBSD benutzt die gleichen Debianpakete, die sich auch beim Linuxpendant finden lassen. Sie lassen sich genauso installieren und verwalten wie man das schon von Debian GNU/Linux gewohnt ist. FreeBSD bietet mit den Ports und seinem neuen Paketmanager pkg ebenfalls einfache Hilfe beim Installieren, jedoch muss man als Benutzer permanent die neuste Upstream-Version installieren, da sich der Support auf das Kernsystem beschränkt. Sicherheitsupdates für GNOME 3, Apache oder LibreOffice als stabile Version für drei oder sogar fünf Jahre, gibt es bei FreeBSD nicht.

Installation und erste Erfahrungen

Am einfachsten lässt sich FreeBSD zur Zeit mit dem "Test-Image" von Steven Chamberlain installieren, der maßgeblich die Entwicklung von GNU/kFreeBSD vorantreibt. Sehr wahrscheinlich wird es in den nächsten Monaten auch wieder ein offizielles Abbild auf debian.org zu finden geben. Ich empfehle entweder die Installation auf einem älteren, unbenutzten Rechner 😉 oder ihr probiert das Ganze mit Qemu aus.
Vor drei Jahren hatte ich zuerst die Qemu-Variante gewählt und anschließend das Ganze auf meinen "neuen" Lenovo-X200-Laptop transplantiert, es geht aber wohl auch einfacher. Danach funktioniert die Installation weiterer Pakete genauso wie unter Debian GNU/Linux. Meine alten Anleitungen sollten hier immer noch weiterhelfen können. Wer GNU/kFreeBSD auf etwas älteren Rechnern mit wenig Arbeitsspeicher verwenden will, sollte besser das ufs-Dateisystem wählen, was einen deutlichen Performanceschub verspricht.
GNU/kFreeBSD 1
Ich selbst teste gerne mit Lightdm als Displaymanager und Mate (alias Gnome 2). Andere Desktopvarianten sollten auch funktionieren, wobei man bei den großen wie Gnome 3 und KDE jedoch Abstriche hinnehmen und ggf. einen anderen Displaymanager wählen muss. Das gesamte System "fühlt" sich nicht viel anders als unter Linux an. So lässt sich zum Beispiel der Befehl lsmod weiterhin benutzen, das entsprechende Kommando von FreeBSD lautet kldstat. Bekannte Software wie Firefox und VLC funktionieren ohne Probleme und lassen sich mit apt install firefox vlc installieren. Neu und anders sind die Gerätebezeichnungen für Festplatten oder Netzwerkkarten, einige bekannte FreeBSD-Werkzeuge fehlen oder wurden durch die GNU-Alternativen ersetzt.
GNU/kFreeBSD 2
Einige Anlaufschwierigkeiten hatte ich bisher nur mit dem Grafikartentreiber und manchmal startete ein Spiel nicht. Ich denke, das sind Fehler, die sich durch mehr Benutzer schneller finden und beseitigen ließen. Oft wäre es auch möglich beim FreeBSD-Projekt nach Patches zu suchen. Insgesamt ist GNU/kFreeBSD deutlich weiterentwickelt als dies z.B. beim GNU/Hurd-Port der Fall ist, dies sollte jedoch nicht darüber hinwegtäuschen, dass sich die Pakete nur aus "unstable" installieren lassen und damit mit Vorsicht zu genießen sind. Zum Testen und Ausprobieren reicht es allemal. Um den Vergleich abzurunden, empfehle ich ebenso einen Blick auf FreeBSD zu werfen, das demnächst Version 10.3 veröffentlichen wird.

Freie Betriebssysteme abseits von Linux

Vor zwei Wochen wurde ich in den Kommentaren zu dem 20 Jahre alten Highscreen Laptop darauf hingewiesen, dass ich bei all meinen Artikeln zur "Rettung" oder besser Weiterbenutzung älterer Hardware noch nie etwas zu FreeDOS geschrieben hätte. Das stimmt!
Bevor ich diesen Fauxpas jetzt wieder wett mache, möchte ich kurz die Gründe nennen, warum ich Betriebssystem X oder Linuxdistribution Y noch nicht hier erwähnt habe. Die Antwort ist vermutlich

  1. Ich kenne es nicht.
  2. Ich habe davon gehört, es aber noch nicht ausprobiert.
  3. Ich habe davon gehört, finde es aber nicht interessant genug.
  4. Ich kenne es, hatte aber bisher noch keine Zeit darüber zu schreiben.

Zuerst sei gesagt: "Namen sind Schall und Rauch". Das meine ich auch so. Für mich ist nur wichtig, dass das Betriebssystem eine sinnvolle Verwendung der Hardware ermöglicht und Freie Software ist. Mein Schwerpunkt in diesem Blog liegt bei Linuxdistributionen, weil diese in der Regel sehr portabel sind und auf einer Vielzahl von Hardware die beste Kompatibilität und den größten Softwareumfang bieten. Außerdem sind die Synergieeffekte in der Regel größer, will heißen, Wissen über Linux lässt sich zwischen Distributionen viel leichter übertragen, selbst wenn es natürlich Unterschiede in der Umsetzung gibt.
Da ich nicht über etwas schreiben möchte, dass ich selbst noch nicht ausprobiert habe, fanden hier einige interessante Betriebssystem noch keine Erwähnung. Doch irgendwann vielleicht morgen, vielleicht in einer Woche, vielleicht aber auch erst in einem Jahr, werde ich sie mir näher anschauen. Bis dahin soll diese kurze Liste und ein paar Links die Zeit verkürzen.

BSD. Die Berkeley Software Distribution zählt nach Linux sicherlich zu den bekanntesten und verbreitetsten Freien Betriebssystemen. Im Allgemeinen bringe ich mit BSD die drei Projekte FreeBSD, OpenBSD und NetBSD in Verbindung. FreeBSD scheint das am meisten verbreitete der Drei zu sein. Zu OpenBSD erinnere ich mich immer an Linus Torvalds Spruch, der die Entwickler von OpenBSD schon mal als "masturbierende Affen" bezeichnet hat. Aber seine Aussprüche sind ja mittlerweile so legendär, dass er sogar in der Zitatesammlung bei wikiquote.org auftaucht. Ob die Entwickler von OpenBSD sich tatsächlich nur auf Sicherheitsaspekte und sonst nichts anderes konzentrieren, muss ich erst selbst noch herausfinden.

FreeDOS. FreeDOS ist ein Freies Betriebssystem, welches unter der GPL lizenziert ist und versucht eine freie Implementierung des nicht mehr weiterentwickelten proprietären MS-DOS zu erschaffen. FreeDOS konzentriert sich dabei auf 8086 bis zur i386 Architektur. Vom IBM PC mit nur 640k Arbeitsspeicher bis hin zu aktuellen Rechnern soll Hardware von FreeDOS unterstützt werden. Software wird in Paketen ausgeliefert. Darunter gibt es mit Arachne sogar einen grafischen Browser und E-Mail-Client. Besonders interessant dürfte FreeDOS sicherlich für alte DOS Spiele sein, die sich Dank der Kompatibilität zum proprietären MS-DOS weiterhin bewahren lassen. Da FreeDOS auch über einen Mediaplayer, Editoren (darunter sogar VIM!) und ein paar portierte Linuxprogramme verfügt, ist es für die Zukunft auf jeden Fall vorgemerkt.

Haiku. Haiku ist ein Open-Source-Projekt, welches BeOS als Inspirationsquelle gewählt hat, mit diesem aber so gut wie keinen Code teilt. Das Betriebssystem wird unter einer MIT-Lizenz zur Zeit aktiv entwickelt, befindet sich aber noch in einer Alpha-Phase. Haiku ist für den Einsatz auf 32bit PCs gedacht. Als Hardwareanforderungen werden ein PIII mit 256 MB RAM genannt, wobei aber auch ein PII mit 64 MB erfolgreich getestet wurde. Der Name leitet sich übrigens von einer japanischen Gedichtform ab.

Minix3. Minix gilt als eine der Inspirationsquellen für den Linuxkernel und wurde schon 1987 veröffentlicht. Im Laufe der Zeit hat sich dieses ehemals für Unterrichtszwecke gedachte Betriebssystem zu Minix3 weiterentwickelt, welches mittlerweile als Zielgruppe Computer mit beschränkten Ressourcen und eingebettete Systeme ausgerufen hat. Nur um mögliche Einsatzzwecke zu verdeutlichen, Minix1 treibt heute noch einen 286er Webserver an. 🙂

ReactOS. Was FreeDOS für MS-DOS ist, soll ReactOS einmal für Windows XP/2003 sein. Dieses soll sich so weit wie möglich im Erscheinungsbild und vor allem in der Kompatibilität wie Microsofts Windows verhalten. Dabei wurde es laut den Entwicklern von Grund auf neu entwickelt und wird unter einer freien GNU GPL Lizenz veröffentlicht. Einige Bestandteile des Codes stammen aus dem Wine-Projekt, zu welchem ReactOS nach eigenen Angaben auch Code beisteuert. Die FAQ beantwortet die drängendsten Fragen. Trotz der Antworten in der FAQ stellt sich für mich doch die Frage, warum man sich die Mühe macht von Grund auf neu anzufangen und bestehenden Code von Linux oder BSD ignoriert. Das Projekt befindet sich in einer Alpha-Phase und ist demnach mit Vorsicht zu genießen.
So weit nur ein kleiner Blick auf einige interessante Freie Betriebssysteme. Alle anderen, die ich nicht aufgezählt habe, lassen sich schnell auf Wikipedia.org finden. Ich denke, dort gibt es noch einiges mehr zu entdecken.
Als Schlusswort: Ich freue mich natürlich über jeden Kommentar, insbesondere auch diejenigen, die mich in eine neue Richtung stoßen. Ein Freies Betriebssystem, das keine Linuxvariante war, hatte ich aber schon vorgestellt. Wer etwas Zeit und Lust hat sollte sich auf gar keinen Fall KolibriOS entgehen lassen. Mit Sicherheit das beeindruckendste Freie Betriebssystem, dass ich bis dato gesehen habe. 🙂