[linux-l] Welche Distribution ist die richtige?
Peter Ross
Peter.Ross at alumni.tu-berlin.de
So Jul 2 03:11:45 CEST 2006
On Sat, 1 Jul 2006, Volker Grabsch wrote:
> Aber da ich schonmal einen BSD-Nutzer hier antreffe: Es gibt doch
> mehrere BSDs, richtig?
Ja. Und FreeBSD ist nicht unbedingt besser, jedes hat einen anderen
Ansatz und ein etwas anders geartetes Ziel.
Es gibt derzeit mindestens 4 Abkoemmlinge von 4.4BSD. Als jemand, der
aktiv nur FreeBSD einsetzt, bin ich vielleicht nicht die ultimative
Quelle, ich versuchs trotzdem.
FreeBSD entstand aus 386BSD, dem Projekt, 4.4BSD auf PC-Hardware zu
portieren. Daher ist es urspruenglich vorallem "Intel-PC-lastig", und
angesichts der weiten Verbreitung von PC-Hardware ist es nicht
verwunderlich, dass Du zunaechst von FreeBSD hoerst. Es gibt aber
inzwischen eine Handvoll Ports auf andere Architekturen, z.B. auf
SPARC-Rechner sowie Itanium und AMD64 sowie ARM.
Neben der "Hauptdistribution" gibt es Projekte wie FreeSBIE (eine Art
FreeBSD-Knoppix), PC-BSD, eine Art FreeBSD-Distribiution fuer Desktops,
PicoBSD fuer Minimalinstallationen fuer Kleinstgeraete etc.
NetBSD hatte dagegen von vornherein den Anspruch, moeglichst portabel zu
sein. Du findest da wahrscheinlich was fuer so ziemlich alles jenseits des
Abakus';-)
OpenBSD ist ein Projekt, welches ein besonderes Augenmerk auf Sicherheit
legt. OpenSSH wird hier z.B. gepflegt.
Seit einiger Zeit gibt es DragonFlyBSD, entstanden aus FreeBSD 4, von
Entwicklern, die bei der Weiterentwicklung etwas andere Ziele als die
hatten, die in FreeBSD-5/6 verwirklicht wurden und werden.
Trotz unterschiedlicher Ansaetze (und manchmal auch persoenlicher
Eitelkeiten) gibt es einen regen Austausch unter den einzelnen Projekten,
Treiber werden von einem System aufs andere portiert, FreeBSD hat z.B. den
bei OpenBSD entwickelten Paketfilter pf integriert etc.
Ausserdem "strahlt" natuerlich *BSD auf eine Menge kommerzielle
Entwicklungen aus. Die BSD-Lizenz erlaubt es ja, den Code zu modifizieren
und selbst einzusetzen, ohne die Aenderungen freilegen zu muessen. Daher
ist es juristisch einfacher, ihn in existierende kommerzielle Systeme zu
integrieren, oder komplett darauf aufbauende Systeme (z.B. Fileserver oder
Firewalls) zu entwickeln, ohne den in-House entstandenen Mehrwert
freigeben zu muessen.
So ist FreeBSD-Code in Mac OS X zu finden, und ein Haufen Appliances
verwenden BSDs. Oft unbemerkt. Es ist schon eine Weile her, dass ich in
einer australischen PC-Zeitschrift (APC) einen Vergleich von NAS-Servern
fand, uberschrieben "Windows oder Linux?" Erst im Kleingedruckten der
Tabelle konnte man sehen, dass von 6 sogenannten "Linux-Systemen" die
Haelfte in Wirklichkeit FreeBSD-basiert waren.
Das scheint mir auch das Hauptproblem der *BSD-Systeme zu sein: die
oeffentliche Wahrnehmung. Open Source und Linux werden in der
Oeffentlichkeit ja schon synonym verwendet.
Wen Du unter den 15000 FreeBSD-Ports nachschaust, wirst du selten ein
Paket vermissen, welches Du unter Linux verwendest.
Sollte es doch einmal der Fall sein (z.B. weil ein kommerzieller Anbieter
nur Linux-Binaries bereitstellt), ist es moeglich, unter den BSDs
Linux-Applikationen laufen zu lassen. Sie werden nicht etwa emuliert, der
Kernel ist tatsaechlich in der Lage, Linux-System-Aufrufe zu beantworten,
ist also sozusagen ein "Linux-Kernel". Das linux-base-Paket installiert so
eine Handvoll Red-Hat-Libraries (glibc und Co.), auf denen
Linux-Applikationen laufen koennen.
Wer sich laenger mit FreeBSD beschaeftigt, der weiss vorallem die Eleganz
zu schaetzen. Der Grund liegt meines Erachtens hier:
http://www.freebsd.org/doc/en_US.ISO8859-1/books/developers-handbook/introduction-archguide.html
1.3 Architectural Guidelines
Our ideology can be described by the following guidelines
* Do not add new functionality unless an implementor cannot complete a
real application without it.
* It is as important to decide what a system is not as to decide what
it is. Do not serve all the world's needs; rather, make the system
extensible so that additional needs can be met in an upwardly compatible
fashion.
* The only thing worse than generalizing from one example is
generalizing from no examples at all.
* If a problem is not completely understood, it is probably best to
provide no solution at all.
* If you can get 90 percent of the desired effect for 10 percent of
the work, use the simpler solution.
* Isolate complexity as much as possible.
* Provide mechanism, rather than policy. In particular, place user
interface policy in the client's hands.
Mehr Informationen über die Mailingliste linux-l