Einf\374hrung BSD-Unix - was ist das? Diese Frage wird sich mancher schon einmal gestellt haben, wenn der Begriff irgendwo auftauchte. Diese Brosch\374re soll die wichtigsten Antworten zu diesem The- ma geben und Ansatzpunkte f\374r eigene Nachforschungen zu Fragen geben, die nicht im Rahmen dieses Dokuments beant- wortet werden k\366nnen Viele BSDs - Eine Philosphie Traditionell unterteilt man die Gruppe der UNIX-Betriebs- systeme in zwei Lager: System V (kurz: \204SysV\223) und BSD. Letzteres wurde urspr\374nglich an der Universit\344t Berkeley (Ka- lifornien) entwickelt. Die heutigen BSD-Systeme sind direkte Nachfahren von \2044.4BSD Lite2\223, der letzten of\002ziellen BSD- Version von Berkeley. Die Urspr\374nge des BSD-Unix reichen bis in die 70'er Jahre des 20. Jahrhunderts zur\374ck, und folglich ist die vollst\344ndige Hi- storie etwas zu umfangreich um an dieser Stelle komplett aus- gerollt zu werden - man kann aber folgendes sagen: * In BSD-Systemen stecken 30 Jahre Entwicklungsarbeit, in denen die Software zwar immer wieder den Anforde- rungen der Zeit angepasst wurde, aber ohne jedesmal al- les \374ber den Haufen zu werfen und komplett neu anzu- fangen. In der Folge ist heute jedes der BSD-Derivate ein reifes, stabiles Unix ohne \204Kinderkrankheiten\223. * Im Laufe der Zeit entstanden aus einem einzigen \204BSD- Stamm\223 mehrere lose gekoppelte Linien, die jedes f\374r sich jeweils eigene Ziele verfolgen, sich im Kern aber immer noch sehr \344hnlich sind und auch durch wechsel- seitige Portierungen von Schnittstellen, Treibern und Ap- plikationen gegenseitig austauschen. * Es gibt heute folgende \204Linien\223 oder Derivate: FreeBSD, NetBSD, OpenBSD, BSDi; letzteres ist ein kommerzi- eller Abk\366mmling. Ein kommerzieller Abk\366mmling ist aber ebenfalls Mac OS X von Apple und dessen zur sel- ben Familie geh\366rendes komplett offenes Derivat \204Dar- win\223. BSDi, Darwin und MacOS X werden in diesem Faltblatt aus Platzgr\374nden nicht behandelt. * Keines der BSDs ist eine \204Linux Distribution\223 - Linux und FreeBSD sind zwar insofern \344hnlich, als das sie z.T.die gleiche Software verwenden (z.B. gcc etc.) aber Ker- nel, Lizenz und Entwicklungsmodell unterscheiden sich gravierend. Gemeinsamkeiten Alle BSDs haben folgende Eigenschaften und Randbedingun- gen gemeinsam: BSD-Lizenz Der gr\366\337te Teil des Quellcodes der freien BSD-Betriebsysteme wird nach verschiedenen BSD-Lizenzen lizensiert. Im Gegen- satz zur vom Linux-Kernel verwendeten GPL-Lizenz gestatten BSD-artige Lizenzen (auch hier gibt es mehrere Varianten...) die Weitergabe von Bin\344rcode ohne dazugeh\366rigen Sourceco- de, was vorallem f\374r kommerzielle Produkte wichtig ist, die auf BSD-Code basieren aber deren Quellcode man nicht oder nicht vollst\344ndig freigeben will. Aus einem Guss Jedes BSD de\002niert nicht nur den Kernel, sondern auch eine bestimmte Anzahl von System-Bibliotheken (libc, libpam...), Benutzer- (ls, more, \002nd, sort, lpr...) und Systemadministrator- Programme (ifcon\002g, chown, cron, dump, restore...) sowie Build-Tools (gcc, make, ld) als \204Betriebsystem\223, das als in sich abgeschlossene Einheit betrachtet und auch so gep\003egt 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 we- nigen Kommandos aus den Sourcen komplett neu bauen. In neuerer Zeit hat Gentoo-Linux diesen Gedanken auch unter Li- nux bekannt gemacht und verwirklicht, ohne dabei jedoch die anderen Vorteile der BSDs bieten zu k\366nnen. Weiterhin herrscht eine strikte Trennung zwischen Betriebsystem und Zusatzpro- grammen (Apache, Netscape, OpenOf\002ce), durch eine geeigne- te Filesystem-Hierarchie. In der Folge lassen sich Betriebsy- stem und Anwendungsprogramme immer nur getrennt aktuali- sieren, was aber in der Praxis die Langlebigkeit der Installatio- nen nur vergr\366ssert. Professionelle EntwicklungAlle BSDs p\003egen den kompletten Betriebsystem-Sourcecode in einem CVS-Repository (Sourcecode-Verwaltung). Dadurch lassen sich alle \304nderungen nachvollziehen, zur\374ckverfolgen und ggf. auch zur\374ckrollen. Ausserdem l\344sst sich erst dadurch ein Release-Engineering f\374r ein ganzes verteilt entwickleltes Betriebsystem sinnvoll realisieren. Straffe Organisation Die BSD-Projekte sind kein \204loser Haufen\223, in dem jeder ab- und zu einmal beliebigen Code einp\003egen darf, sondern bil- den eine professionelle Organisation \344hnlich wie in kommerzi- ellen Software-Projekten. Es existiert jeweils eine Art \204Steering Committee\223, genannt Core, das neben dem eigentlichen Pro- grammieren mit zunehmender Projektgr\366\337e haupts\344chlich Pla- nungsaufgaben wahrnimmt, oder wahrnehmen sollte. Um das Core-Team herum gibt es eine gro\337e Anzahl weiterer Entwick- ler - Committer - die f\374r die P\003ege der Dokumentation oder Treibern etc. zust\344ndig sind - eben alle die Aufgaben, die bei der Realisierung eines gro\337en Projekts anfallen. Software im \334ber\003uss Alle BSDs k\366nnen \374ber 99% der im Quellcode verf\374gbaren Software (z.B. von freshmeat.net) kompilieren und ausf\374hren, meist gibt es aber auch schon fertige Pakete (Gimp, KDE, te- TeX). Durch ein sgn. ABI (Application Binary Interface) lassen sich Linux-Programme auch unter den BSDs nutzen, selbst wenn es nur Bin\344r-Pakete f\374r Linux gibt. Dadurch lassen sich eine weitere gro\337e Anzahl Programme unter BSD nutzen, von de- nen es h\366chstens Linux-Versionen gibt (Acrobat-Reader, Nets- cape7, StarOf\002ce 6.0, Quake3 etc.). Dies geschieht ohne sicht- bare Geschwindigkeitseinbu\337en. Die Qualit\344t bzw. Vollst\344n- digkeit des Linux ABI ist jedoch nicht unter allen BSDs gleich gut entwickelt - FreeBSD hat hier die meisten F\344higkeiten. Stabiles Filesystem Das UFS-Dateisystem ist seit Jahren bew\344hrt und sehr lei- stungsf\344hig, durch Softupdates wird die Integrit\344t der Meta- Daten auch bei einem Crash sichergestellt. Ports-System 3,4,5Viele frei verf\374gbare Software ist nur im Source verf\374gbar, oder kann nicht ohne (juristische) Probleme als Package (fertig kom- piliertes Paket, das BSD-Gegenst\374ck zum RPM) weiterverbrei- tet werden. Daher gibt es das sgn. Ports-F ramework. Es be- steht aus einer Hierarchie von Make\002les und ggf. Patches die beschreiben, wie sich ein bestimmtes Source-Paket entpacken, kompilieren und installieren l\344sst. Das Ports-System kann ei- genst\344ndig ben\366tigte Quellcode- oder Bin\344rdateien aus dem In- ternet oder von CDROM laden und ber\374cksichigt dabei auch Abh\344ngigkeiten. Die BSDs im einzelnen: FreeBSD Auf normalen PCs (was man oft als x86- oder i386-Hardware bezeichnet) ist FreeBSD der am h\344u\002gsten anzutreffende Ver- treter der BSD-Familie. Dies liegt vermutlich daran, da\337 es die breiteste Hardware-Unterst\374tzung f\374r diese Plattform bietet, und es ist daf\374r am besten optimiert. Au\337erdem tendiert es mehr als die anderen beiden dazu, \204Bequemlichkeitsfunktionen\223 auf- zunehmen, wie man sie von anderen Desktop-Systemen her kennt. Dadurch ist es f\374r Umsteiger attraktiver, auch weil es mit knapp 8000 Programmen die gr\366\337te Ports-Collection bie- tet. FreeBSD betrachtet sich daher nicht mehr nur als reines Serversystem, das nur von geschulten Administratoren betrie- ben werden kann, sondern es zielt bewu\337t auch auf den Bereich der Endbenutzer, speziell auch Umsteiger von Windows und Li- nux. Inzwischen wurde FreeBSD auch auf Rechner portiert, die auf der Alpha/AXP-Architektur basieren. Auch auf der jungen IA64-Architektur (intel Itanium) ist es mittlerweile lauff\344hig, ben\366tigt jedoch noch den \204letzten Schliff\223. Portierungen auf Ul- traSparc (Sun), PowerPC und StrongARM sind in Arbeit, aber es gibt hier noch keine vorzeigbaren Ergebnisse. Als einziger der drei bietet FreeBSD eine ausgereifte Unterst\374tzung f\374r Sy- steme mit mehreren Prozessoren (SMP). NetBSD NetBSD ist etwa genauso alt wie FreeBSD. Seine hervorragend- ste Eigenschaft ist, da\337 es auf einer gro\337en Zahl von Hardware- Plattformen l\344uft \226 es unterst\374tzt mehr Architekturen als jedes andere Betriebssystem. Eine vollst\344ndige Liste w\374rde den Rah- men dieser Brosch\374re sprengen (und w\344re wahrscheinlich kur- ze Zeit sp\344ter schon wieder \374berholt), daher sei an dieser Stel-le auf die Webseite des NetBSD-Projektes verwiesen. In vie- len F\344llen mag die Entscheidung f\374r NetBSD leichtfallen, da es einfach das einzige in Frage kommende Betriebssystem ist, das auf der vorhandenen Rechnerplattform l\344uft. Selbst, wenn man eine so exotische Hardware besitzt, da\337 bisher keines der drei BSD-Systeme darauf l\344uft, ist die Chance bei NetBSD am gr\366\337ten, da\337 es unter ertr\344glichem Aufwand darauf portieren werden kann. Obwohl nicht viel \344lter als FreeBSD, betrach- tet sich NetBSD gern als der \204gro\337e Bruder\223 der Open-Source- BSDs. Es tendiert eher als die anderen beiden dazu, traditionel- le 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 so- mit das mit Abstand j\374ngste Mitglied der Familie. Von seinem gro\337en Bruder hat es die Unterst\374tzung zahlreicher Plattformen \374bernommen, allerdings sind einige der nicht so g\344ngigen Por- tierungen verk\374mmert, da es an Betreuern mangelt. OpenBSD hat sich das Thema \204Sicherheit\223 ganz gro\337 auf die Fahnen geschrieben. Zwar ist dies ein Aspekt, der von sei- nen zwei \344lteren Geschwistern durchaus auch nicht vernach- l\344ssigt wird, doch ist dieses bei OpenBSD augenscheinlich am st\344rksten ausgepr\344gt - was nicht bedeuten soll, OpenBSD sei ein \204Security Software Stew\223 - ein Eintopf aus lauter Security- Software. Security bedeutet bei OpenBSD vorallem auch Cor- rectness. Das Team unter der F\374hrung von Theo de Raadt hat beispielsweise ein komplettes Quelltext-Auditing des Sy- stems in Angriff genommen, um Schwachstellen auf die Schli- che zu kommen. (Von diesen Aktionen pro\002tieren nat\374rlich auch FreeBSD und NetBSD, da die entsprechenden Korrekturen (sofern sie unumstritten sind) von ihnen \374bernommen werden.) OpenBSD's Bekenntnis zu Sicherheit ist auch ein Bekenntnis zu Kryptographie. Herausragend sind hier vorallem die Unterst\374tzung einiger Crypto-Beschleuniger karten, und die breit angelegte Integra- tion starker Verschl\374sselungsalgorithmen im Betriebssystem. Da Theo de Raadt in Kanada lebt, unterliegen diese Algorith- men keinerlei Exportbeschr\344nkungen.BIM \226 Berkeley in Munich stellt vor: BSD BERKELEY SOFTWARE DISTRIBUTI ON In dieser Brosch\374re m\366chten wir Ihnen einen \334berblick \374ber die drei Open-Source-Vertreter der Familie der BSD-UNIXRfl- Betriebssysteme vermitteln: FreeBSD http://www.freebsd.org/ NetBSD http://www.netbsd.org/ OpenBSD http://www.openbsd.org/ English translation also available: http://www.berklix.org/bim/lea\003et/ cfl BIM, http://www.berklix.org/bim/ Jan/2003. Alle Angaben ohne Gew\344hr. Satz: LATEX 2eunter FreeBSD 4.7 Druck: dvips / ps2pdf Prepared/ Printed in Germany - Imprim\351 en Allemagne