Was ist gut an den BSDs?

35

Ich habe Ubuntu seit Warty Warthog ein- und ausgeschaltet. Ich dachte darüber nach, Jaunty bald zu installieren. Ich bemerkte jedoch, dass über das Wochenende NetBSD 5.0 , Dragonfly BSD 2.2.1 , OpenBSD 4.5 und FreeBSD 7.2 veröffentlicht wurden. Deshalb wurde ich neugierig:

Was ist gut an den BSDs? Warum sollte oder sollte ich keinen von ihnen anstelle von Ubuntu installieren? Was sind ihre Hauptverkaufsargumente? Performance? Stabilität? Hardware-Kompatibilität? Benutzerfreundlichkeit? Sicherheit? Laufen sie gut auf älterer Hardware? Was ist es?

Bearbeiten: Dies ist aus der Sicht eines (in erster Linie Java) Desktop-Entwicklers, aber ich würde gerne wissen, was die Vor- und Nachteile für andere sind. Sind sie eher auf Server ausgerichtet? Für Firmenbenutzer? Oder was?

mmyers
quelle
1
Sind die guten Punkte von BSDs subjektiv? Wenn ja, erklärt das, warum ich persönlich niemanden kenne, der es versucht hat. : D
mmyers
17
Was ist gut an den BSDs? Um deine Feinde zu vernichten, sieh sie vor dir her getrieben und höre das Wehklagen ihrer Frauen.
Chaos
1
@mmyers - Hat einer Ihrer Freunde jemals Hotmail oder Yahoo verwendet?
ConcernedOfTunbridgeWells
Ähm, ein paar. Warum?
mmyers
1
@mmeyers - weil sowohl Hotmail als auch Yahoo FreeBSD als Hauptserver-Betriebssystem für ihre Web-Apps verwenden. (Oder zumindest Hotmail hat es verwendet und sie konnten es jahrelang nicht von FreeBSD nach Windows verschieben - ich bin mir nicht sicher, ob sie es immer noch tun).
ConcernedOfTunbridgeWells

Antworten:

65

Vorteile von BSDs

Die * BSD-Systemfamilie bietet (IMHO) einige entscheidende Vorteile gegenüber Linux, insbesondere für Server-Betriebssysteme.

  • Einfachheit und Kontrolle: Keine der * BSD-Distributionen muss Funktionen hinzufügen, die die Linux-Distributoren aufweisen. Daher ist die Standardinstallation der meisten von BSD abgeleiteten Systeme relativ einfach.

  • Stabilität: BSDs zählen zu den stabilsten O / S-Plattformen, die es gibt. FreeBSD (eines der älteren der 'modernen' BSDs) unterstützt viele bekannte .coms wie Yahoo und (zu einem bestimmten Zeitpunkt) Hotmail. Tatsächlich war Microsoft zu einem bestimmten Zeitpunkt sehr verlegen, weil es nicht möglich war, Hotmail von FreeBSD auf Windows zu migrieren.

  • Sicherheit: OpenBSD hat im Besonderen eine sehr gute Erfolgsgeschichte in Bezug auf Sicherheit und ein Großteil ihrer Arbeit liegt in der * BSD-Community im Allgemeinen.

  • Portabilität: Insbesondere NetBSD verfügt über Ports für Dutzende von Plattformen und ist besonders einfach zu portieren.

Einige Schwächen

  • Geringere Unterstützung für große SMP-Konfigurationen als für Linux. Dies wird ein größeres Problem sein, da Kisten mit einer großen Anzahl von Kernen weit verbreitet sind. Die meisten Netzwerkdienstanwendungen, die wirklich die Basis von BSD bilden, sind jedoch nicht so CPU-hungrig (1).

    Die SMP-Leistung auf BSD-Kerneln hat sich in den letzten zehn Jahren erheblich verbessert. Die Verbesserung der SMP-Leistung war eines der Hauptziele von Dragonfly BSD, und das FreeBSD-SMPNg-Projekt hat die SMP-Leistung auf dieser Plattform erheblich verbessert und Linux auf 8-Core-Plattformen übertroffen. Dies bedeutet, dass man auf Mainstream-2 und 4-Socket-Servern eine gute Leistung erwarten kann.

    Einige DebattenDie ersten Arbeiten zur Bereitstellung von NUMA-Unterstützung für FreeBSD sind bereits abgeschlossen, da das System derzeit keine APIs für die Speicherzuweisung, das Affinitätsmanagement oder andere Funktionen für die explizite NUMA-Unterstützung unterstützt. Eine gute Einführung in die NUMA-Unterstützung finden Sie hier .

  • Kleinere Hardwareunterstützung als Linux: In der Praxis bedeutet dies nur, dass Sie Komponenten auf einer Hardwarekompatibilitätsliste überprüfen müssen . Für einen Server ist dies in den meisten Fällen kein Problem, aber die Installation auf einem zufälligen Desktop-PC ist etwas schwieriger. Sie müssen immer noch eine komponentenweise Überprüfung durchführen, wenn Sie möchten, dass eine Maschine BSD installiert, was unter Linux mit geringerer Wahrscheinlichkeit der Fall ist.

  • Weniger Nachdruck auf dem Desktop: Desktop-Distributionen von Linux (wie Ubuntu) bieten in der Regel eine umfassendere Desktop-Unterstützung für Multimedia, Emulation und gebündelte Anwendungen. Während viele solcher Anwendungen Ports auf den verschiedenen BSD-Plattformen haben, ist die sofort einsatzbereite Unterstützung einer Desktop-Linux-Distribution in der Regel besser.

  • Einige Lücken in der Software: Viele kommerzielle Linux-Programme haben keinen BSD-Port. Zum Beispiel unterhält keiner der großen JVM-Anbieter einen nativen Port seiner Java-Laufzeit für eine der BSD-Plattformen. In einigen Fällen unterhalten Dritte Ports, es gibt jedoch keine offizielle Unterstützung für (zum Beispiel) Oracle auf einem der BSDs. Diese Art von Lücke taucht an einigen Stellen bei BSD auf. BSD ist möglicherweise nicht die Plattform für Sie, wenn Sie in einem Raum arbeiten, in dem diese Art von Lücke besteht.

Einige hervorstechende Punkte

  • Einer der großen Religionskriege der 90er Jahre war GPL vs. BSD. BSDs werden unter der BSD-Lizenz lizenziert, die andere Rechte hat als die GPL. Grundsätzlich erfordert die BSD-Lizenz nicht, dass Sie den Quellcode geänderter Versionen von BSD-lizenzierter Software weitergeben.

  • Kommerzielle Anbieter wie Oracle unterstützen BSD so wenig wie Linux. Wenn Sie also mit einem solchen Produkt arbeiten möchten, sind Sie mit Linux wahrscheinlich besser dran. Die meisten bieten jedoch Binärkompatibilität für Linux, System V, Solaris usw., sodass Sie häufig Binärdateien für andere Betriebssysteme ausführen können.

  • BSD-Communities werden in der Regel anders als Linux betrieben und sind oftmals kleiner (obwohl in vielen Fällen nicht mehr vornehm - Theo De Raadt hat so etwas wie den Ruf eines Töpfchens ).

  • Einige der BSD-Varianten sind Nischenprodukte, die für bestimmte Ziele optimiert sind. Zum Beispiel ist OpenBSD speziell für die Bereitstellung einer sicheren Netzwerkinfrastruktur auf Computern mit Internet-Zugang optimiert, wobei ein sehr großer Aufwand erforderlich ist, um Sicherheitslücken wie Pufferüberlauf-Schwachstellen zu untersuchen. Viele sicherheitsbewusste Organisationen setzen es aus genau diesem Grund ein. NetBSD wurde für die Portierung von Ports auf Dutzende von Plattformen entwickelt und ist in eingebetteten Systemen weit verbreitet. Für Anwendungen im Sweet Spot eines dieser Systeme ist es möglicherweise die beste Wahl für die Plattform.

Die Basis von * BSD sind Netzwerkdienste - E-Mail- und Webserver, Infrastruktur und dergleichen. Sie können mit jedem der BSDs einen perfekt geeigneten Geek-Desktop einrichten und theoretisch etwas so Warmes und Flauschiges wie Ubuntu produzieren. Dies ist jedoch nicht der Hauptfokus der meisten BSD-Produkte, obwohl einige wie PC-BSD darauf abzielen, Desktop-Systeme bereitzustellen.

Wenn Sie einen Unix-Aussenseiter zum Desktop machen wollen, wird BSD dies genauso tun wie jedes andere Unix-oid-System.

  1. In der VAX / 4.2BSD-Ära der 1980er-Jahre zum Beispiel konnte eine Maschine wie eine VAX-11/750 E-Mail-Dienste für eine gesamte Abteilung oder einen Universitätscampus bereitstellen und würde wahrscheinlich auch andere Aufgaben übernehmen (obwohl man das beachten sollte) Die meisten E-Mails enthielten nur Text und Anhänge waren nicht so verbreitet wie heute (Festplatten, die auf diesem Computer verwendet wurden, hatten normalerweise eine Kapazität zwischen 120 und 450 MB). Ein moderner Server hat 3-4 Größenordnungen mehr CPU-Leistung und Arbeitsspeicher und ein Festplattensubsystem mit vielleicht 2 Größenordnungen mehr Durchsatz und 3-4 Größenordnungen mehr Speicherplatz.
ConcernedOfTunbridgeWells
quelle
9
Besonders gute Paarung: OpenBSD und BIND. Wenn ich einen öffentlichen DNS-Server betreiben würde, wäre dies unter OpenBSD BIND. DNS-Server werden häufig angegriffen und OpenBSD ist wahrscheinlich das sicherste Universal-Unix.
Richard Gadsden
2
Fantastische Antwort. Zwei Aspekte möchte ich hinzufügen: BSD ist kleiner als Linux (kann also in kleineren Umgebungen ausgeführt werden) und ist besser dokumentiert (jeder Befehl in FreeBSD hat eine Manpage - jede !)
Mei
3
Ich habe gehört, dass Sie BSD erhalten würden, wenn Sie einen Unix-Programmierer zum Schreiben eines PC-Betriebssystems auffordern würden, während Sie Linux erhalten würden, wenn Sie einen Windows-Programmierer zum Schreiben eines Unix-Betriebssystems auffordern würden.
gbjbaanb
1
Gute Antwort! Wenn ich verschiedene Betriebssysteme ausprobiert habe, war es Linux wie Mangrova Marsh (veraltete, unvollständige Dokumentation, viele verschiedene inkonsistente Philosophien) und als ich FreeBSD ausprobierte, war es, als käme ich in eine Bibliothek - geordnete, einheitliche Philosophie, alles dokumentiert ( auf dem neuesten Stand!). Vielleicht weniger aufregend, aber auf jeden Fall leicht einzugehen.
Slovon
3
Ich denke nicht, dass es richtig ist, Theo als Töpfchen zu bezeichnen. Er hat starke Meinungen und er ist nicht diplomatisch, aber er schwört nicht. Das nervigste an Theo De Raadt ist, dass er entweder einen guten Punkt hat oder Recht hat :-P
DutchUncle
15

Ich halte BSD nicht für so ausgereift wie Linux auf dem Desktop, aber für Server ist es absolut solide.

Ob Sie BSD installieren möchten oder nicht, hängt ganz davon ab, wofür Sie Ihren Computer verwenden. Viele Dinge ähneln Linux, aber auch andere.

Hier ist jedoch eine Überarbeitung der verschiedenen BSDs

  • OpenBSD: Eines der Mail-Ziele ist es, das sicherste Betriebssystem zu sein (und das ist es wahrscheinlich auch)

  • NetBSD: Das Motto lautet "Natürlich läuft NetBSD". Dies muss eines der portabelsten Betriebssysteme sein, die es gibt. Viele Leute betreiben es auch auf Desktops.

  • FreeBSD: Sehr beliebt bei Servern, auch wenn es wieder viele Leute auf dem Desktop laufen lassen. Wahrscheinlich das beliebteste aller BSDs

  • DragonFly BSD: Ein relativer Neuling (2003), es war ein Fork von FreeBSD 4.8. Ich habe es selbst nicht benutzt, aber anscheinend ist es stabil.

Nathan
quelle
5
Die BSDs gehören zu den ausgereiftesten Architekturen überhaupt - Teile der 4.xBSD-Codebasis sind älter als viele Serverfault-Poster. Sie können ganz einfach einen herkömmlichen Unix-Geek-Desktop auf Basis eines BSD erstellen. Die meisten versuchen jedoch nicht, einen Consumer- oder Business-Desktop so zu erstellen, wie es Canonical mit Ubuntu tut. Blah blah young whippersnappers ...; -}
ConcernedOfTunbridgeWells
11

In der Linux-Welt fehlt es den Distributionen in der Regel an diesem ... zusammenhängenden Gefühl. Sie sind oft dezentral aufgebaut, was dazu führt.

Die BSDs werden in der Regel von einer Person verwaltet, so dass Sie das Gefühl haben, dass jede Variante ein Produkt ist, hinter dem viel Planung steckt. Die Dinge arbeiten sehr gut zusammen und alle Komponenten sind sehr gut dokumentiert. Kludges findet man selten.

Dies ist ein sehr solides Fundament, das die BSDs zu einer leicht zu wartenden Plattform macht und das Potenzial hat, zu einer sichereren und besser verwaltbaren Umgebung zu führen.

Ich bin jetzt seit 13 Jahren Linux-Benutzer und obwohl ich es immer noch für eine tragfähige Plattform halte, habe ich aus den oben genannten Gründen alle meine Produktions- und Personal-Server auf die BSDs verlagert.

Linux ist jedoch möglicherweise immer noch die bessere Wahl für den Desktop, da es die neuesten Treiber unterstützt.

Michael Gorsuch
quelle
1
Wenn Sie
aktuelle
@OP, dies ist der zwingendste Grund, von [linux distro] auf * bsd
theman_on_osx
1
Oder gehen Sie zu einer One-Man-on-the-Top-Distribution wie Slackware;)
Voyager
9

BSD wird im Allgemeinen standardmäßig als sicher eingestuft, indem alle außer den Kerndiensten deaktiviert werden. Es ist auch sehr stabil. Dies lässt sich an einem der vielen Überwachungsdienste für die Betriebszeit ablesen.

Seien Sie jedoch gewarnt, dass Linux nicht dasselbe ist wie BSD. Es gibt eine Lernkurve. Erwarten Sie also nicht, direkt in diese zu springen. Zum Beispiel werden Sie feststellen, dass alle Kernbefehle lsunterschiedliche Flags haben, was zunächst verwirrend sein kann und es eine Weile dauern kann, bis die alte Angewohnheit, Linux-Flags zu verwenden, überwunden ist.

Adam Gibbins
quelle
8

* BSD ist ein vollständiges Betriebssystem , dh der Kernel und das Userland werden aus demselben Quellcode-Baum entwickelt, wohingegen Linux-Distributionen aus verschiedenen Quellen zusammengeschlachtet werden. Aus diesem Grund fühlen sich BSD-Systeme viel zusammenhängender und solider an. Auch besser dokumentiert.

Ante Gotovina
quelle
8

Nur ein paar Fragen:

Pro (Free) BSD:

  • ZFS-Dateisystem / Volume-Verwaltung
  • Dtrace zur Verfolgung / Analyse
  • Ausgezeichnete und leicht zu findende Dokumentation (FreeBSD-Handbuch, OpenBSD-FAQ, Handbuchseiten sind wirklich gut und haben tatsächlich nützliche Beispiele)
  • Sauberer und absolut solider Upgrade-Prozess für Betriebssystemversionen
  • Trennung des Kernbetriebssystems von anderer Software ("Ports Collection")
  • BSD-Lizenz (keine Lizenzkreuzfahrer hier)
  • Toller Firewall- / Paketfilter: PF (Linux Iptables lässt meinen Kopf explodieren)

Gegen BSD:

  • Nicht unterstützte Virtualisierungsprodukte (VM-Host) (VMware, KVM, Xen, VirtualBox)
Paidhi
quelle
3
Ein Update zur Virtualisierung. Es sieht so aus, als hätte sich FreeBSD für VirtualBox entschieden. Es ist jetzt im Hafenbaum. Weitere Informationen hier: miwi.bsdcrew.de/2009/06/virtualbox-is-now-available-in-ports wiki.freebsd.org/VirtualBox virtualbox.de/wiki/FreeBSD%20build%20instructions
Paidhi
8

Ich mag es wirklich /usr/ports. Das soll nicht apt-getheißen, dass ich es auch nicht wirklich mag , aber es ist ein erfreuliches Gefühl zu wissen, dass Ihre Installationen auf und für Ihre spezielle Maschine gebaut werden, mit jeglichen Optimierungen, die Sie gerne in die Standardeinstellungen für Makefiles einfließen lassen würden.

Wie viel der wahrgenommene Nutzen davon Aberglaube ist, habe ich nicht erforscht, aber ich mag es. :)

Chaos
quelle
1
Also ist es ein bisschen wie Gentoo? Das klingt so, als ob es nach einer Weile langweilig werden könnte (ein Grund, warum ich Gentoo noch nie ausprobiert habe).
mmyers
6
Gentoos "Portage" kommt wie andere Dinge von BSD. Die meisten BSDs verfügen jedoch zusätzlich über Binärpakete. OpenBSD hat zum Beispiel sowohl Ports als auch Pakete. Tatsächlich sind sie dasselbe.
dwc
7

Als Java-Entwickler gibt es keine Standard-JVM für * BSD. Bevor mich alle in Flammen aufgehen lassen, gibt es kein aktuelles JDK von Sun oder einem der anderen großen Anbieter (IBM, BEA / Oracle). Sie spielen also immer die zweite Geige gegenüber Linux- und Windows-Benutzern.

Dave Cheney
quelle
Das ist nützlich zu wissen. Portiert jemand OpenJDK oder so?
mmyers
Ja, sehen Sie sich openjdk.java.net/projects/bsd-port an . Dieser Port wird jedoch nicht ausgeführt, und es ist unwahrscheinlich, dass er kommerziell unterstützt wird. Wir arbeiten für ein Java-basiertes Software-Unternehmen und unterstützen die Sun JVM sowie Bea und JRocket widerwillig. Es gibt keine Möglichkeit, die Supportressourcen zu erweitern, um jemandem zu helfen, der unsere Software auf IceTea, Blackdown, GCJ usw. ausführen möchte
Dave Cheney,
Ja, ich verstehe, was du meinst. (Übrigens haben Sie in Ihrem ersten Satz das "Nein"
weggelassen
Habe gerade diesen "OpenJDK BSD Port Fortschritt" Beitrag gesehen: robilad.livejournal.com/49303.html .
mmyers
5

Lizenzierung

Der Hauptunterschied zwischen den BSDs und Linux ist die Lizenzierung.

Sie können eine BSD-Codebasis verwenden, die gewünschten Änderungen vornehmen und die resultierende Binärdatei verteilen, sie verkaufen usw., ohne die von Ihnen vorgenommenen Quellcodeänderungen zu öffnen.

Dies ist sehr attraktiv für Unternehmen wie Apple, bei denen sie aufgrund gesetzlicher Verpflichtungen gegenüber ihren Aktionären möglicherweise dazu verpflichtet sind, proprietäres geistiges Eigentum "sicher" zu verwahren. Zum Beispiel hat Apple einen Teil seines Kernels auf FreeBSD basiert.

Tivo hätte nicht die (geringfügigen) Lizenzprobleme gehabt, die es vor Jahren hatte, wenn sie auf BSD und nicht auf Linux aufgebaut hätten.

Einige praktische Unterschiede

  • Die BSDs sind nicht so populär wie Linux und haben daher keine Treiber für die neueste Hardware.
  • Es gibt weniger BSDs als Linux-Distributionen und sie sind sehr gut definiert, sodass Sie im Allgemeinen wissen, wann Sie eine über eine andere verwenden sollten.
  • Sie alle legen mehr Wert auf Stabilität als viele andere Faktoren und werden daher häufig in Situationen mit hoher Zuverlässigkeit eingesetzt.

-Adam

Adam Davis
quelle
1
+1. Die Benchmarking-Wahrheit ist, dass bsds nicht so gut abschneiden und immer noch nicht über viele Kernel-Features verfügen, die Linux und Solaris bereits haben. Die BSD-Lizenz ist der beste (oder schlechteste) Teil über BSD.
Tim Matthews
Das Schöne an Benchmarks ist, dass es so viele zur Auswahl gibt. Für Netzwerk- / Filteraufgaben habe ich BSD mit besseren Ergebnissen als Linux verwendet. Für die numerische Modellierung habe ich Linux oder Solaris mit der Sun Studio-Compiler-Suite verwendet. Es geht nur darum, herauszufinden, was das Beste ist Werkzeug für den Job.
Bill B
4
Es wäre schön, einen Beweis für diese Aussage zu sehen: "Die Benchmarking-Wahrheit ist, dass Bsds nicht so gut abschneiden ..."
Josh Brower
1

Sicherheit, Sicherheit und noch einmal Sicherheit.

Kazimieras Aliulis
quelle
1

Ansonsten möchte ich noch hinzufügen, dass die Dokumentation sehr gut ist. Die man (1) Seiten sind ausgezeichnet!

pfo
quelle
0

BSD (Berkeley Software Distribution) bekannt durch ihre Stabilität: FreeBSD,
Sicherheit: OpenBSD
und Unterstützung einer Vielzahl von Plattformen: NetBSD

Ali Mezgani
quelle