... und was sind die Unterschiede zwischen ihnen? Ich habe meine Frage so formuliert, um zu verdeutlichen, dass ich nicht an einer Flamme von Meinungen interessiert bin, sondern an einem objektiven Vergleich der verschiedenen Varianten von BSD Unix. Idealerweise könnte ich Feedback von Benutzern erhalten, die Erfahrung in allen von ihnen haben.
Hintergrund
Ich habe kürzlich entdeckt, dass Unix viel mehr bietet als nur Linux. Ich benutze Solaris bei der Arbeit, es öffnete meine Augen. Jetzt interessiere ich mich für neue Unices, ich möchte eine neue ausprobieren und bin natürlich neugierig auf BSDs.
Das Problem
Ich frage nicht nach Ratschlägen oder Meinungen, welche BSD installiert werden soll . Ich möchte die Unterschiede (und Gemeinsamkeiten) zwischen ihnen kennen, damit ich mich selbst entscheiden kann. Das Problem ist, dass es schwierig ist, richtige Vergleiche zwischen ihnen zu erhalten.
Wenn Sie Glück haben, erhalten Sie eine hastige Definition wie diese:
FreeBSD = Popular all-rounder.
NetBSD = Portable (runs on a lot of platforms, including a toaster)
OpenBSD = Security above anything else.
(Es mag wahr sein, aber es ist nicht wirklich nützlich. Ich bin mir sicher, dass FreeBSD auch portabel und sicher ist ...)
Wenn Sie Pech haben, werden Sie in eine dieser unvermeidlichen Unix-Legenden verwickelt, in der es um Projekte geht, die sich aus intellektuellen und moralischen Gründen aufteilen, forken und umbenennen, wie Theo de Raadt ein Extremist ist und wie MacOS X und FreeBSD vor über 20 Jahren einen gemeinsamen Vorfahren hatten.
Faszinierend, aber nicht wirklich informativ, oder?
Die BSDs
Die BSDs, die mich interessieren, sind:
- FreeBSD
- OpenBSD
- NetBSD
und optional
- Libelle
- Darwin
- ...
Meine Fragen
Um die Unterschiede besser zu verstehen, finden Sie hier eine Liste verwandter Fragen zu den verschiedenen Distributionen (können wir diesen Begriff verwenden?). Wenn Sie Ihre Antwort in tabellarischer Form präsentieren, sind Sie mein Held aller Zeiten!
- Verwenden sie den gleichen Kernel?
- Verwenden sie die gleichen Userland-Tools? (Was sind die Unterschiede, falls vorhanden?)
- Verwenden sie dasselbe Paket- / Quellcodeverwaltungssystem?
- Verwenden sie dieselbe Standardshell?
- Sind Binärdateien zwischen ihnen portierbar?
- Sind Quellen zwischen ihnen portierbar?
- Verwenden sie unterschiedliche Verzeichnisbäume?
- Wie groß sind ihre jeweiligen Gemeinschaften? Sind sie gleich groß?
- Wie viel von der aktuellen Entwicklung ist gemeinsam?
- Was sind die Hauptunverträglichkeiten zwischen ihnen?
Ich weiß nicht, wie einfach diese Fragen zu beantworten sind und wie relevant diese Frage für das StackExchange-Format ist. Ich bin einfach nie auf ein einfaches Dokument gestoßen, in dem die Unterschiede zwischen BSDs übersichtlich aufgelistet sind. Dies ist nützlich, damit erfahrene Benutzer sich die Auswahl leicht ansehen und treffen können.
quelle
Antworten:
Ich glaube nicht, dass ich Ihnen und jedem die perfekte Antwort geben werde. Wenn ich jedoch jeden Tag ein BSD-System für die Arbeit verwende, bin ich sicher, dass ich Ihnen einen nützlichen Einblick in die BSD-Welt geben kann. Ich habe NetBSD nie benutzt, ich werde nicht viel darüber reden.
Nein, obwohl es Ähnlichkeiten aufgrund der historischen Gabeln gibt. Jedes Projekt wurde separat entwickelt.
Sie folgen alle POSIX. Es ist zu erwarten, dass eine Reihe von Tools dieselbe Funktionalität wie * BSD aufweist. Es ist auch üblich, einige offensichtliche Unterschiede in den Prozess- / Netzwerkmanagement-Tools innerhalb der BSDs festzustellen.
Sie bieten ein für jedes Betriebssystem unterschiedliches Verpackungssystem.
Nein, zum Beispiel benutzt FreeBSD csh, OpenBSD benutzt ksh.
Nein:
Sie unterstützen keine stabile und schnelle binäre Emulation. Verlasse dich nicht darauf.
Einige ja, solange Sie nicht Kernel-Code oder Libc-Code (der eng mit dem Betriebssystem verbunden ist) verwenden.
Nein, sie sind Linux hier sehr ähnlich. FreeBSD befürwortet jedoch die Verwendung von / usr / local / etc für Konfigurationsdateien von Drittanbietern. OpenBSD legt all in / etc ... ab. Sie legen alle Drittanbieter in / usr / local ab, wohingegen die Linux-Distribution das tut, was sie für richtig halten. Im Allgemeinen kann man sagen, dass * BSD diesbezüglich sehr konservativ ist, Dinge dahin gehören, wo sie hingehören, und dass man sich das nicht ausdenken kann.
FreeBSDs ist das größte und aktivste. Sie können es über eine Vielzahl von Foren, Mailinglisten, IRC-Kanälen und dergleichen erreichen. OpenBSD hat eine gute Community, ist aber meistens über IRC- und Mailinglisten sichtbar.
Wenn Sie denken, Sie brauchen eine gute Community, ist FreeBSD der richtige Weg. NetBSD- und OpenBSD-Communities konzentrieren sich auf die Entwicklung, sprechen über neue Verbesserungen usw. Sie machen nicht wirklich gerne einfache Benutzerunterstützung oder Werbung. Sie erwarten, dass jeder fortgeschrittene Unix-Benutzer ist und die Dokumentation lesen kann, bevor er etwas fragt.
Aufgrund der Tatsache, dass wirklich freie Lizenzen Code zwischen den Projekten fließen können, bessert OpenBSD häufig seinen Code nach NetBSD aus (da ihre Quellen eine Menge gemeinsam haben), FreeBSD übernimmt und integriert OpenBSDs Paketfilter usw. Es ist offensichtlich schwieriger, wenn es um Treiber und andere geht Kernel Dinge.
Sie sind in binärer Form nicht kompatibel, aber sie sind meistens in Syntax und Code kompatibel. Darauf können Sie sich verlassen, um Portabilität in Ihrem Code zu erreichen. Es kann problemlos auf allen BSD-Versionen erstellt oder / und ausgeführt werden, es sei denn, Sie befinden sich zu nahe am Kernel (ifconfig, pfctl ...).
So können Sie Spaß daran haben, aus der BSD-Welt zu lernen:
Versuchen Sie, Ihren Heimrouter durch eine OpenBSD-Box zu ersetzen, und spielen Sie mit PF und dem Netzwerk. Sie werden sehen, wie einfach es ist, das zu machen, was Sie wollen. Es ist sauber, zuverlässig und sicher. Verwenden Sie ein FreeBSD als Desktop, sie unterstützen viele GPUs, Sie können Flash in gewissem Umfang verwenden, es gibt eine gewisse Kompatibilität mit Linux-Binärdateien. Sie können Ihren benutzerdefinierten Kernel sicher erstellen (dies wird empfohlen). Es ist insgesamt eine gute Lernerfahrung. Probieren Sie NetBSD auf sehr alter Hardware oder sogar auf Toastern aus .
Obwohl sie unterschiedlich sind, versucht jedes von ihnen, ein gutes Betriebssystem zu sein, und es wird den Benutzern mehr als nur Situationen entsprechen. Als Lernerfahrung sollten Sie alle ausprobieren (Net / Open / Free), aber später werden Sie möglicherweise in den meisten Situationen nur 1 verwenden (da Sie sich in einem bestimmten System besser auskennen oder sich besser in die Community einfügen).
Die anderen BSDs sind Hybride oder nur leicht modifizierte Versionen. Ich finde es besser, in der Nähe der Quelle der Softwareentwicklung zu bleiben (Paketfilter unter OpenBSD verwenden, Desktop auf FreeBSD konfigurieren, ...).
Persönlich freue ich mich, einen Enthusiasten wie Sie zu sehen, und ich hoffe, Sie werden in der BSD-Welt viele gute Dinge finden. Bei BSD geht es nicht darum, Windows oder andere Betriebssysteme zu hassen, sondern Unix zu mögen.
quelle
(Ich kann keine vollständige Antwort geben, aber ich kann mich auch nicht von dieser Frage abwenden, also werde ich nur einige Punkte ansprechen ... FreeBSD war das am häufigsten verwendete BSD (im Jahr 2005) , also versuche ich es Hinweise zu "den anderen" geben.)
pkgsrc
, OpenBSDs sind hier , FreeBSDs hier . Sie können sich darauf beziehen, um verfügbare Pakete zu vergleichen. Die jeweiligen Ökosysteme sind ähnlich, aber nicht identisch.pkgsrc
zeichnet sich dadurch aus, dass es portabel ist, dh Sie können es auch mit Minix 3 oder Linux verwenden. Daher besteht kein BSD-Interesse daran und (möglicherweise in der Folge) gibt es mehr Ports.pkgsrc-wip
macht es einfach beizutragen.kyua
), das es ihnen ermöglicht, automatisierte Tests durchzuführen (undrump
es ermöglicht, Kernel-Code im Userspace testen zu lassen). Es hat auch die gründlichste XEN-Unterstützung, denke ich. Ausgehend von der Suche nach "Portabilität" führten sie drei Ebenen ein: "Focus", "Organic" und "Life Support" . Sie führten Lua auch in das Basissystem ein.Endeffekt? Schauen Sie sich um und probieren Sie es aus. Die Verwendung von Binärpaketen (normalerweise mit einer Binärversion angeboten, dh nicht für Snapshots von
-current
) ist nicht sehr aufwändig, um ein verwendbares BSD-System zu erhalten.Bearbeiten Sie könnten in ihren Planeten interessieren:
undeadly.org
für OpenBSD, blogs.FreeBSDish.org für FreeBSD undplanet.netbsd.se
für alle von ihnen ( nach unten ? Im Moment ())quelle