Einf\374hrung BSD - was ist das? Diese Frage wird sich mancher schon ein- mal gestellt haben, wenn der Begriff irgendwo auftauchte. Die- se Brosch\374re soll die wichtigsten Antworten zu diesem Thema geben und Ansatzpunkte f\374r eigene Nachforschungen zu Fra- gen geben, die nicht im Rahmen dieses Dokuments beantwortet 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 reichen bis in die 70'er Jahre des 20. Jahrhunderts zur\374ck, und folglich ist die vollst\344ndige Historie etwas zu umfangreich um an dieser Stelle komplett ausgerollt 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; Hinweis: Aus Platzgr\374nden kann auf diesem Faltblatt nicht auf BSDi, MacOS X, Dar- win und Dragon\003yBSD eingegangen werden. * 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 enorm vergr\366ssert. Professionelle Entwicklung Alle 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 dadurchein Release-Engineering f\374r ein ganzes verteilt entwickeltes Be- triebsystem 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 http://freshmeat.net) kompilieren und aus- f\374hren, 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 Bin\344r-Pakete f\374r Linux gibt. Dadurch lassen sich eine wei- tere gro\337e Anzahl Programme unter BSD nutzen, von denen es h\366chstens Linux-Versionen gibt ( Acrobat-Reader, Netscape 7, Quake 3, StarOf\002ce 6.0 etc.). Dies geschieht ohne sichtbare Geschwindigkeitseinbu\337en. Die Qualit\344t bzw. Vollst\344ndigkeit des Linux ABI ist jedoch nicht unter allen BSDs gleich gut ent- wickelt - 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/ Packages-System Viele 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 3,4,5beschreiben, 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 - http://www.freebsd.org Auf normalen PCs (Intel, AMD oder VIA-CPUs) ist FreeBSD der am h\344u\002gsten anzutreffende Vertreter 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 aufzunehmen, wie man sie von anderen Desktop-Systemen her kennt. Dadurch ist es f\374r Umsteiger attraktiver, auch weil es mit \374ber 10000 Pro- grammen die gr\366\337te Ports-Collection bietet. FreeBSD betrach- tet sich daher nicht mehr nur als reines Serversystem, das nur von geschulten Administratoren betrieben werden kann, son- dern es zielt bewu\337t auch auf den Bereich der Endbenutzer, speziell auch Umsteiger von Windows und Linux. Allerdings gibt es auch stabile Portierungen auf AMD 64/Opteron, DEC Alpha/AXP), Intel Itanium, Intel Pentiums etc, Pc98 (Japan), Sun UltraSparc-III, - in den meisten F\344llen wird aber i386 das Einstiegsystem sein. Als einziger der drei bietet FreeBSD eine ausgereifte Unterst\374tzung f\374r Systeme mit mehreren Prozesso- ren (SMP). NetBSD - http://www.netbsd.org 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 portierenwerden 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 - http://www.openbsd.org Ende 1996 spaltete sich OpenBSD von NetBSD ab und ist so- mit das mit Abstand j\374ngste Mitglied der Familie. Von NetBSD hat es die Unterst\374tzung zahlreicher Plattformen \374bernommen, allerdings sind einige der nicht so g\344ngigen Portierungen ver- k\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 den anderen BSDs nicht vernachl\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 Correctness. Das Team unter der F\374hrung von Theo de Raadt hat beispielsweise ein komplet- tes Quelltext-Auditing des Systems in Angriff genommen, um Schwachstellen auf die Schliche zu kommen. (Von diesen Ak- tionen pro\002tieren nat\374rlich auch FreeBSD und NetBSD, da die entsprechenden Korrekturen (sofern sie unumstritten sind) von ihnen \374bernommen werden.) OpenBSD's Bekenntnis zu Si- cherheit 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. UNIXRfl ist ein eingetragenes Warenzeichen von The Open GroupTMin den USA und anderen L\344ndern. Alle anderen Marken und Namen sind Eigentum ihrer jeweiligen Inhaber; alle entsprechenden Warenzeichen und eingetragenen Warenzeichen werden als solche anerkannt; ihre Nennung dient lediglich Iden- ti\002kationszwecken.BIM \226 BERKELEY IN MUNICH http://www.berklix.org/bim/ 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/ M\344rz 2004. Alle Angaben ohne Gew\344hr. Satz: LATEX 2eunter FreeBSD 4.9 Druck: dvips / ps2pdf Prepared/ Printed in Germany - Imprim\351 en Allemagne