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-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
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:
- In BSD-Systemen stecken 30 Jahre Entwicklungsarbeit,
in denen die Software zwar immer wieder den Anforderungen der Zeit angepasst wurde,
aber ohne jedesmal alles |ber den Haufen zu werfen und komplett neu anzufangen.
In der Folge ist heute jedes der BSD-Derivate ein reifes,
stabiles Unix ohne ,,Kinderkrankheiten``.
- Im Laufe der Zeit entstanden aus einem einzigen ,,BSD-Stamm`` mehrere lose
gekoppelte Linien,
die jedes f|r sich jeweils eigene Ziele verfolgen,
sich im Kern aber immer noch sehr dhnlich sind und auch durch
wechselseitige Portierungen von Schnittstellen,
Treibern und Applikationen gegenseitig austauschen.
- Es gibt heute folgende ,,Linien`` oder Derivate:
FreeBSD, NetBSD, OpenBSD,Hinweis:
Aus Platzgr|nden kann auf diesem Faltblatt nicht auf BSDi, MacOS X, Darwin und DragonflyBSD eingegangen werden.
- Keines der BSDs ist eine ,,Linux Distribution`` - Linux und
FreeBSD sind zwar insofern dhnlich,
als das sie z.T.
die gleiche Software verwenden (z.B. gcc etc.) aber Kernel,
Lizenz und Entwicklungsmodell unterscheiden sich gravierend.
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
julian stacey
2025-01-30