BIM - Berkeley in Munich
stellt vor:

BSD
BERKELEY SOFTWARE DISTRIBUTION

fill

=0.8

fill

In dieser Brosch|re mvchten wir Ihnen einen |ber die drei Open-Source-Vertreter der Familie der BSD-UNIX\textregistered-Betriebssysteme vermitteln:

FreeBSD      http://www.freebsd.org/
NetBSD      http://www.netbsd.org/
OpenBSD      http://www.openbsd.org/

fill

English translation also available: http://www.berklix.org/bim/leaflet/ fill

to BIM, http://www.berklix.org/bim/Jan/2003. Alle Angaben ohne Gewdhr. to Satz: LATEX2e unter FreeBSD 4.7 Druck: dvips/ps2pdf to Prepared/ Printed in Germany    -    Imprimé en Allemagne

Einf|hrung

BSD-Unix - was ist das? Diese Frage wird sich mancher schon einmal gestellt haben, wenn der Begriff irgendwo auftauchte. Diese Brosch|re soll die wichtigsten Antworten zu diesem Thema geben und Ansatzpunkte f|r eigene Nachforschungen zu Fragen geben, die nicht im Rahmen dieses Dokuments beantwortet werden kvnnen.

Viele BSDs - Eine Philosphie

Traditionell unterteilt man die Gruppe der UNIX-Betriebssysteme in zwei Lager: System V (kurz: ,,SysV``) und BSD. Letzteres wurde urspr|nglich an der Universitdt Berkeley (Kalifornien) entwickelt. Die heutigen BSD-Systeme sind direkte Nachfahren von ,,4.4BSD Lite2``, der letzten offiziellen BSD-Version von Berkeley.

Die Urspr|nge des BSD-Unix reichen bis in die 70'er Jahre des 20. Jahrhunderts zur|ck, und folglich ist die vollstdndige Historie etwas zu umfangreich um an dieser Stelle komplett ausgerollt zu werden - man kann aber folgendes sagen:

Gemeinsamkeiten
Alle BSDs haben folgende Eigenschaften und Randbedingungen gemeinsam:

BSD-Lizenz
Der grv_te Teil des Quellcodes der freien BSD-Betriebsysteme wird nach verschiedenen BSD-Lizenzen lizensiert.Im Gegensatz zur vom Linux-Kernel verwendeten GPL-Lizenz gestatten BSD-artige Lizenzen (auch hier gibt es mehrere Varianten...) die Weitergabe von Bindrcode ohne dazugehvrigen Sourcecode, was vorallem f|r kommerzielle Produkte wichtig ist, die auf BSD-Code basieren aber deren Quellcode man nicht oder nicht vollstdndig freigeben will.

Aus einem Guss
Jedes BSD definiert nicht nur den Kernel, sondern auch eine bestimmte Anzahl von System-Bibliotheken (libc, libpam...), Benutzer- (ls, more, find, sort, lpr...) und Systemadministrator-Programme (ifconfig, chown, cron, dump, restore...) sowie Build-Tools (gcc, make, ld) als ,,Betriebsystem``, das als in sich abgeschlossene Einheit betrachtet und auch so gepflegt wird. Upgrades beziehen sich immer auf das gesamte Betriebsystem und nicht nur auf den Kernel, wie bei Linux.

Das gesamte Betriebsystem und der Kernel lassen sich mit wenigen Kommandos aus den Sourcen komplett neu bauen. In neuerer Zeit hat Gentoo-Linux diesen Gedanken auch unter Linux bekannt gemacht und verwirklicht, ohne dabei jedoch die anderen Vorteile der BSDs bieten zu kvnnen. Weiterhin herrscht eine strikte Trennung zwischen Betriebsystem und Zusatzprogrammen (Apache, Netscape, OpenOffice), durch eine geeignete Filesystem-Hierarchie. In der Folge lassen sich Betriebsystem und Anwendungsprogramme immer nur getrennt aktualisieren, was aber in der Praxis die Langlebigkeit der Installationen enorm vergrvssert.

Professionelle Entwicklung
Alle BSDs pflegen den kompletten Betriebsystem-Sourcecode in einem CVS-Repository (Sourcecode-Verwaltung). Dadurch lassen sich alle Dnderungen nachvollziehen, zur|ckverfolgen und ggf. auch zur|ckrollen. Ausserdem ldsst sich erst dadurch ein Release-Engineering f|r ein ganzes, verteilt entwickleltes Betriebsystem sinnvoll realisieren.

Straffe Organisation
Die BSD-Projekte sind kein ,,loser Haufen``, in dem jeder ab- und zu einmal beliebigen Code einpflegen darf, sondern bilden eine professionelle Organisation dhnlich wie in kommerziellen Software-Projekten. Es existiert jeweils eine Art ,,Steering Committee``, genannt Core, das neben dem eigentlichen Programmieren mit zunehmender Projektgrv_e hauptsdchlich Planungsaufgaben wahrnimmt, oder wahrnehmen sollte. Um das Core-Team herum gibt es eine gro_e Anzahl weiterer Entwickler - Committer - die f|r die Pflege der Dokumentation oder Treibern etc. zustdndig sind - eben alle die Aufgaben, die bei der Realisierung eines gro_en Projekts anfallen.

Software im
Alle BSDs kvnnen |ber 99% der im Quellcode verf|gbaren Software (z.B. von freshmeat.net) kompilieren und ausf|hren, meist gibt es aber auch schon fertige Pakete (Gimp, KDE, teTeX).

Durch ein sgn. ABI (Application Binary Interface) lassen sich Linux-Programme auch unter den BSDs nutzen, selbst wenn es nur Bindr-Pakete f|r Linux gibt. Dadurch lassen sich eine weitere gro_e Anzahl Programme unter BSD nutzen, von denen es hvchstens Linux-Versionen gibt (Acrobat-Reader, Netscape7, StarOffice 6.0, Quake3 etc.). Dies geschieht ohne sichtbare Geschwindigkeitseinbu_en. Die Qualitdt bzw. Vollstdndigkeit des Linux ABI ist jedoch nicht unter allen BSDs gleich gut entwickelt - FreeBSD hat hier die meisten Fdhigkeiten.

Stabiles Filesystem
Das UFS-Dateisystem ist seit Jahren bewdhrt und sehr leistungsfdhig, durch Softupdates wird die Integritdt der Meta-Daten auch bei einem Crash sichergestellt.

Ports-System
Viele frei verf|gbare Software ist nur im Source verf|gbar, oder kann nicht ohne (juristische) Probleme als Package (fertig kompiliertes Paket, das BSD-Gegenst|ck zum RPM) weiterverbreitet werden. Daher gibt es das sgn. Ports-Framework. Es besteht aus einer Hierarchie von Makefiles und ggf. Patches die beschreiben, wie sich ein bestimmtes Source-Paket entpacken, kompilieren und installieren ldsst. Das Ports-System kann eigenstdndig benvtigte Quellcode- oder Bindrdateien aus dem Internet oder von CDROM laden und ber|cksichigt dabei auch Abhdngigkeiten.

Die BSDs im einzelnen:

FreeBSD
Auf normalen PCs (Intel, AMD oder VIA CPUs) ist FreeBSD der am hdufigsten anzutreffende Vertreter der BSD-Familie. Dies liegt vermutlich daran, da_ es die breiteste Hardware-Unterst|tzung f|r diese Plattform bietet, und es ist daf|r am besten optimiert. Au_erdem tendiert es mehr als die anderen beiden dazu, ,,Bequemlichkeitsfunktionen`` aufzunehmen, wie man sie von anderen Desktop-Systemen her kennt. Dadurch ist es f|r Umsteiger attraktiver, auch weil es mit |ber 10000 Programmen die grv_te Ports-Collection bietet. FreeBSD betrachtet sich daher nicht mehr nur als reines Serversystem, das nur von geschulten Administratoren betrieben werden kann, sondern es zielt bewu_t auch auf den Bereich der Endbenutzer, speziell auch Umsteiger von Windows und Linux. Allerdings gibt es auch stabile Portierungen auf Alpha, AMD64/Opteron, Intel Itanium, UltraSPARC-III - in den meisten Fdllen wird aber i386 das Einstiegsystem sein. Als einziger der drei bietet FreeBSD eine ausgereifte Unterst|tzung f|r Systeme mit mehreren Prozessoren (SMP).

NetBSD
NetBSD ist etwa genauso alt wie FreeBSD. Seine hervorragendste Eigenschaft ist, da_ es auf einer gro_en Zahl von Hardware-Plattformen lduft - es unterst|tzt mehr Architekturen als jedes andere Betriebssystem. Eine vollstdndige Liste w|rde den Rahmen dieser Brosch|re sprengen (und wdre wahrscheinlich kurze Zeit spdter schon wieder |berholt), daher sei an dieser Stelle auf die Webseite des NetBSD-Projektes verwiesen. In vielen Fdllen mag die Entscheidung f|r NetBSD leichtfallen, da es einfach das einzige in Frage kommende Betriebssystem ist, das auf der vorhandenen Rechnerplattform lduft. Selbst, wenn man eine so exotische Hardware besitzt, da_ bisher keines der drei BSD-Systeme darauf lduft, ist die Chance bei NetBSD am grv_ten, da_ es unter ertrdglichem Aufwand darauf portieren werden kann. Obwohl nicht viel dlter als FreeBSD, betrachtet sich NetBSD gern als der ,,gro_e Bruder`` der Open-Source-BSDs. Es tendiert eher als die anderen beiden dazu, traditionelle Eigenschaften beizubehalten. Dieses konservative Verhalten hat durchaus auch einen positiven, ausgleichenden Effekt auf die anderen BSD-Systeme.

OpenBSD
Ende 1996 spaltete sich OpenBSD von NetBSD ab und ist somit das mit Abstand j|ngste Mitglied der Familie. Von NetBSD hat es die Unterst|tzung zahlreicher Plattformen |bernommen, allerdings sind einige der nicht so gdngigen Portierungen verk|mmert, da es an Betreuern mangelt.

OpenBSD hat sich das Thema ,,Sicherheit`` ganz gro_ auf die Fahnen geschrieben. Zwar ist dies ein Aspekt, der von den anderen BSDs auch nicht vernachldssigt wird, doch ist dieses bei OpenBSD augenscheinlich am stdrksten ausgeprdgt - was nicht bedeuten soll, OpenBSD sei ein ,,Security Software Stew`` - ein Eintopf aus lauter Security-Software. Security bedeutet bei OpenBSD vorallem auch Correctness. Das Team unter der F|hrung von Theo de Raadt hat beispielsweise ein komplettes Quelltext-Auditing des Systems in Angriff genommen, um Schwachstellen auf die Schliche zu kommen. (Von diesen Aktionen profitieren nat|rlich auch FreeBSD und NetBSD, da die entsprechenden Korrekturen (sofern sie unumstritten sind) von ihnen |bernommen werden.) OpenBSD's Bekenntnis zu Sicherheit ist auch ein Bekenntnis zu Kryptographie.

Herausragend sind hier vorallem die Unterst|tzung einiger Crypto-Beschleuniger karten, und die breit angelegte Integration starker Verschl|sselungsalgorithmen im Betriebssystem.

Da Theo de Raadt in Kanada lebt, unterliegen diese Algorithmen keinerlei Exportbeschrdnkungen.

fill

to UNIX\textregistered ist ein eingetragenes Warenzeichen und The Open GroupTM ist ein Warenzeichen von The Open GroupTM in den USA und anderen Ldndern. Alle anderen Marken und Namen sind Eigentum ihrer jeweiligen Inhaber; alle entsprechenden Warenzeichen und eingetragenen Warenzeichen werden als solche anerkannt; ihre Nennung dient lediglich Identifikationszwecken.



julian stacey 2024-04-24