cyberpirate schrieb:
Was ist das besondere an diesem BS? habe da noch nix von gehört. Und wenn es hier gepostet wird das es eine neue Version gibt ist es ja anscheinden etwas besonderes.
Es ist eine Abwechslung zu dem Üblichen "gibt mal wieder ne neue Linux-Distribution" :-)
Aber ja. Die Frage ist natürlich berechtigt.
Ich kann ja mal versuchen, was dazu zu sagen.
FreeBSD ist (wie alle BSDs) ein vollständiges System. Es ist also nicht wie bei Linux. Ein Linux-System als Solches gibts nicht. Es gibt den Kernel. Es gibt auch paar Kernel-nahe Systemtools usw. usw. usw. Das sind so einzelne Softwareporjekte die von Distributoren zu einem Paket geschnürt werden.
Bei einem BSD ist das anders. Dort wird der Kernel von der selben "Truppe" entwickelt wie auch der Rest des Systems (klar gibts da auch Beigaben von draußen; aber die Integration findet halt durchs System bzw. die Entwickler statt). Distributionen gibts zwar hier und da auch. Aber nicht in dem Maße wie im Linux-Umfeld.
Und das BSD ein vollständiges System ist, hat gewisse Implikationen. Kernel und die Programme sind optimal aufeinander abgestimmt. Das System ist sehr gut und klar strukturiert. Ein BSD fühlt sich konsistenter an als ein typisches Linux-System. Die Integration ist viel besser.
Das merkt man auch an vielen Stellen. Ich denke da z.B. an das Dateisystem ZFS. Bei Linux gibts das durch OpenZFS auch. Aber ist es einfach nur ein Yet-another-filesystem.
Bei FreeBSD ist es stärker im eigentlichen System integriert. Viele andere Systembestandteile machen auch teilweise intensiv Gebrauch von den speziellen Fähigkeiten von ZFS (wie z.B. Boot-Environments; ein Mechanismus, wo Du Dir mehrere Systeminstanzen parallel vorhalten kannst; was bei Upgrades ganz nützlich sein kann, weil ein fehlgeschlagenes Upgrade nicht zu einem unbrauchbaren System führen kann, weil Du jederzeit zu einem alten - gesicherten - Stand zurückkehren kannst).
Bei FreeBSD legt man auch sehr viel Wert auf eine gute Dokumentation. Fast jeder Aspekt des Systems ist recht gut dokumentiert. Fehlende Dokumentation gilt quasi als Bug. Wenn irgendwer irgendwas zum System beitragen will und liefert keine Dokumentation mit, so wird es nicht integriert werden. Da kann die Funktionalität oder der Code noch so gut sein.
Zur Dokumentation gehört auch, das dem System ein recht ordentliches
Handbuch beiliegt.
Mit FreeBSD allein kann man zwar schon einiges machen aber das allein reicht natürlich meist nicht aus. Wenn Du irgendwie einen Webserver brauchst oder auch eine Desktop-Oberfläche (KDE, GNOME und Co), dann bist Du auf Third-Party-Software angewiesen. Es gibt dann auch ein Mechanismus der mit dem vergleichbar ist, was man von den Paketmanagern unter Linux kennt.
Diese Third-Party-Software ist allerdings getrennt vom übrigen System (liegt unter
/usr/local). Das führt dazu, das ich immer ein funktionstüchtiges Basis-System habe selbst wenn mir mal bei den Packages was "anbrennt" :-)
Von den Packages gibt es zwei Repositories.
Quarterly. Das quartalsweise aktualisiert wird und
Latest. Lastest ist quasi ein Rolling-Release. Und es hat sich als ziemlich gute Kombi herauskristallisiert unten drunter ein FreeBSD zu haben was sozusagen im normalen Release-Modell gefahren wird und somit eine solide Basis bildet und oben drüber die Packages Arch-like als Rolling-Release.
Ein weiteres spannendes Feature für Storage-Angelegenheiten ist das
GEOM-Framework. RAID und Verschlüsselung sind so typische Anwendungen. Aber das Framework selbst ist generischer und erlaubt daher alle möglichen Setups rund um Storage zu bauen.
Die Netzwerkfähigkeiten von FreeBSD sind sehr gut. Einer der Gründe, warum Netflix für ihr Content-Delivery-Network auf FreeBSD setzt ist genau auf diesen Umstand zurückzuführen.
GIbt auch kleinere nette Features wie z.B. das Vulnerability-Tracking für Packages. Ich kann mir halt anzeigen lassen, welche installierten Pakete bekannte Security-Probleme aufweisen und bekomme so einen schnellen Überblick.
Mit
Jails hat man eine bereits seit langer Zeit etablierte und erprobte Container-Technologie am Start. Mit LXC, Docker und Co hat das ja inzwischen auch Linux breit Einzug gefunden. Wobei man jetzt Jails nicht direkt mit Docker vergleichen kann. Und bei Jails liegt der Fokus auch nicht so sehr aufs Containing, sondern eher auf Separation und Security. Ums mal plakativ zu formulieren: Wenn Du eine Jail erstellst ist Dein Hauptproblem Funktion freizuschalten während bei Docker Dein Problem ist, Dinge einzuschränken (damit sie nicht zum Security-Problem werden).
Von daher finde ich die beiden immer recht schwierig zu vergleichen (auch weil sie auf verschiedenen Leveln arbeiten; Docker ist eigentlich ein höherleveliges Tool; die Primitiven sind Namespaces und CGroups).
Aber um mal ein grobes Bild zu zeichnen was da gemacht wird, da kann man das als Beispiel heranziehen.
Es gibt noch mehr Funktionen die teilweise im bereits erwähnten
Handbuch aufgeführt und erklärt sind.
Was ich ebenfalls an FreeBSD schätze ist die Kontinuität und Kompatibilität. Die Entwicklung ist eher evolutionär als revolutionär und man gibt sich sehr viel Mühe das im Userland nix kaputt geht. Deine selbstgebastelten Skripte/Programme/whatever von vor 20 Jahren laufen halt heute noch, ums mal salopp zu formulieren.
Und falls Du tatsächlich mal eine uralt Software hast die partout auf eine alte FreeBSD-Version angewiesen ist, dann installierst Du halt das alte FreeBSD mitsamt Deiner Software in eine Jail und gut iss.
Generell wird bei der Entwicklung des Systems sehr darauf geachtet das wenn ein Feature implementiert wird, das auch ordentlich gemacht wird. Das führt dazu, das modernes Zeugs später als beispielsweise in Linux landet, aber wenn es dann da ist, dann funktioniert es auch (ich sag nur
PulseAudio, um mal ein bekanntes linux-typisches Paradebeispiel zu nennen
).
Ansonsten unterscheiden sich jetzt Linux und die BSDs nicht so sehr. Die sind halt alle irgendwie ein UNIX und viele Dinge fühlen sich gleich oder ähnlich an. Es gibt auch jetzt nicht die ein oder zwei Features die FreeBSD abheben, sondern es sind mehrere Dinge.
Es gibt natürlich auch ein paar Nachteile. FreeBSD (wie alle BSDs) bekommen sehr wenig Aufmerksamkeit im Vergleich beispielsweise zu Linux. Das führt dazu, das es bestimmte Dinge nicht gibt oder eben nicht so ausgereift. Auch die Hardwareunterstützung ist nicht sooo gut wie bei anderen Systemen. Gerade auch für Sachen die im Desktop-Bereich interessant sind (wenngleich sich da zugegebenermaßen in den letzten Jahren viel bewegt hat).
Um noch mal auf Docker zurückzukommen: Es gibt keinen Support für Docker (bzw. OCI-Container). Und das, obwohl mit Jails die grundlegende Technologie eigentlich da ist. Es gibt Ansätze ein eigenes Docker-like-System zu etablieren. In der Praxis hat sich aber nun mal Docker bzw. OCI durchgesetzt. Viekl von dem was es da draußen an Tools usw. gibt funktioniert halt nur mit entsprechenden OCI-Support.
Du hast auch andere Baustellen im System wo halt nicht nur Ressourcenmangel ein Problem sind, sondern das es z.B. konservative Gruppierungen gibt die bestimmte Wege auch ungern gehen wollen und bestimmte Dinge durchzusetzen ist auch nicht immer einfach. Das liegt auch daran, das FreeBSD bzw. die Community so eher demokratisch organisiert ist. Im Gegensatz z.B. zum Linux.Kernel. Da hast Du halt einen Torvalds oben drüber sitzen und dann sagt ggf. wo es lang geht oder wo es nicht lang geht.
Jede Vorgehensweise hat aber halt immer ihre Vor- und Nachteile.
Jesterfox schrieb:
Dazu Open Source mit einer sehr freien[1] Lizenz (im Gegensatz zur GPL von Linux)
Genau. Und das hat tatsächlich auch für den Anwender Auswirkungen. Das oben erwähnte ZFS gibts vor allem deshalb schon so lange in BSD, weils da nie irgendwelche Diskussionen rund um die Lizenz gab (geben musste) während bei Linux halt bis heute die Problematik da ist, das die GPL nicht mit der CDDL (unter der der ZFS-Code veröffentlicht wurde) kompatibel ist.
Ähnliches gilt ja auch für
DTrace.