FreeBSD: Unterschied zwischen den Versionen

Aus Foxwiki
Subpages:
Keine Bearbeitungszusammenfassung
Zeile 22: Zeile 22:
<references />
<references />
==== Projekt ====
==== Projekt ====
# https://www.freebsd.org/de/
==== Weblinks ====
==== Weblinks ====



Version vom 11. Februar 2023, 23:58 Uhr

topic kurze Beschreibung

Beschreibung

Installation

Anwendungen

Fehlerbehebung

Syntax

Optionen

Parameter

Umgebungsvariablen

Exit-Status

Konfiguration

Dateien

Sicherheit

Siehe auch

Dokumentation

RFC

Man-Pages

Info-Pages

Links

Einzelnachweise

Projekt

  1. https://www.freebsd.org/de/

Weblinks

Testfragen

Testfrage 1

Antwort1

Testfrage 2

Antwort2

Testfrage 3

Antwort3

Testfrage 4

Antwort4

Testfrage 5

Antwort5


Wikipedia

Vorlage:Infobox Betriebssystem

FreeBSD ist ein freies und vollständiges unixoides Betriebssystem, das direkt von der Berkeley Software Distribution abstammt. Mit einer Community aus fast 390 dauerhaft aktiven, offiziellen[1] und Tausenden mitwirkenden Entwicklern gehört FreeBSD zu den größten Open-Source-Projekten. Obwohl der Fokus der Entwickler auf der Erstellung einer stabilen Software-Plattform für Server und Appliances liegt, wird es auch auf Desktop-Computern verwendet. FreeBSD kommt hauptsächlich bei Internetdienstanbietern wie zum Beispiel Yahoo, für Hochlastanwendungen wie Netflix, in Internet-Backbone-Systemen wie Hochleistungsroutern und Namensdiensten sowie als Webhosting-Plattform zum Einsatz.[2][3] Dort belegt es regelmäßig die vordersten Plätze in der Liste der zuverlässigsten Systeme.[4]

Mehrere Standards im Bereich der Rechnernetze, wie beispielsweise IPv6, wurden von FreeBSD zuerst umgesetzt und verbreiteten sich von dort aufgrund der freizügigen BSD-Lizenz auch auf andere Systeme, unter anderem nach OpenBSD und Linux. Außerdem ist FreeBSD teilweise die Grundlage für Darwin, die Open-Source-Plattform von Apple, auf der macOS basiert.

Geschichte

Ursprünglich als inoffizielle Sammlung von Patches zur Fehlerbereinigung von 386BSD gedacht, gründeten Nate Williams, Rod Grimes und Jordan K. Hubbard 1993 ein eigenständiges Projekt, nachdem die Pflege des Patchkit-Mechanismus zu aufwändig wurde.[5] Das ursprünglich als 386BSD-Interim bezeichnete Projekt musste eingestellt werden, als der Autor von 386BSD, Bill Jolitz, seine Mitarbeit an dem Projekt und auch 386BSD selbst aufgab. Als man einen neuen Namen suchte, wurde FreeBSD von Bill Greenman vorgeschlagen, einem Mitarbeiter des Unternehmens Walnut Creek CDROM, bei der die Software des Projekts auf Datenträgern und mittels FTP vertrieben wurde.[6]

Genau wie bei dem kurz zuvor von anderen Autoren des Patchkits gegründeten NetBSD entschloss man sich gleich zu Beginn des Projekts im Juli 1993 dazu, die Software zentral mithilfe eines CVS-Archivs zu entwickeln. Man griff dafür bei den ersten Versionen von FreeBSD auf die Quellen von 4.3BSD-Lite (Net/2) zurück und auf 386BSD, welches die Berkeley Software Distribution auf die Intel-80386-Prozessorplattform portierte. Als jedoch die Unix System Laboratories begannen, die Anbieter von BSD-Software aufgrund von Lizenzverletzungen zu verklagen, änderte sich die Basis von FreeBSD auf 4.4BSD-Lite, welches die UC Berkeley 1994 veröffentlichte, nachdem der Rechtsstreit eingestellt worden war. Diese Version enthielt keinerlei Quellcode aus den Unix Laboratories mehr. Da hierdurch auch Teile des Betriebssystems fehlten, die zum Booten notwendig waren, dauerte es für die Herstellung einer funktionsfähigen Softwaredistribution, die als FreeBSD 2.0 veröffentlicht werden konnte, bis zum November 1994.[5] Ältere Versionen dürfen aus rechtlichen Gründen nicht mehr vertrieben werden.

Seither wurde das Betriebssystem auf diverse andere Plattformen portiert und hat sowohl an Funktionen als auch an nativ unterstützter Software von Drittanbietern zugenommen.[7][8] Aufgrund seiner Projektgröße und Verbreitung, ohne dabei öffentlich in Erscheinung getreten zu sein, wird FreeBSD auch inoffiziell als unbekannter Riese unter den freien Betriebssystemen bezeichnet.[9] Neben diversen Derivaten haben sich aus dem Projekt heraus mehrere Organisationen gegründet, die sich die Förderung von FreeBSD und der BSD-Familie zum Ziel gesetzt haben. Hierzu gehören z. B. die FreeBSD Foundation und die BSD Certification Group.[10]

Eigenschaften

Das vollständige System umfasst folgende Komponenten:

FreeBSD ist als unixartiges System weitgehend POSIX-konform. Es unterstützt alle grundlegenden Funktionen des POSIX.1-Standards, jedoch nicht alle Erweiterungen des X/Open System Interfaces. Aus diesem Grund darf es auch nicht den rechtlich geschützten Namen UNIX tragen. An einer Herstellung der vollständigen Unterstützung der Schnittstellen von C99, POSIX und des XSI wird aber gearbeitet.[11] Neben der x86-, AMD64- und ehemals in Japan verbreiteten PC-98-Architektur werden eine Reihe weiterer Prozessortypen unterstützt. Dazu gehören SPARC und PowerPC sowie die ARM- und experimentell auch die MIPS-Architekturen für eingebettete Systeme.[12] Da FreeBSD eine eigene Binärschnittstelle (ABI) anbietet, ist die Installation proprietärer Software problemlos möglich. Ebenso können Windows-Netzwerkgerätetreiber, deren Hersteller die Hardware-Spezifikationen nicht freigegeben haben, über die NDIS-Schnittstelle verwendet werden, z. B. Intels Centrino.[13]

Dateisysteme

FreeBSD hat einige besondere Funktionen in Bezug auf die Speicherung von Daten.

Das UFS-Dateisystem, das häufig von den BSD-Betriebssystemen genutzt wird, verfügt über Metadaten-Journaling und Softupdates, die die Konsistenz des Dateisystems im Falle eines Systemabsturzes sicherstellen. Schnappschüsse von Dateisystemen können in kürzester Zeit effizient erzeugt werden. Sie ermöglichen unter anderem zuverlässige Backups von laufenden Dateisystemen. Des Weiteren verfügt FreeBSD über GEOM, ein modulares Framework, welches RAID, Verschlüsselung ganzer Festplatten, Journaling, Caching und Zugriff auf netzwerkbasierten Speicherplatz zur Verfügung stellt. Mit Hilfe von GEOM können komplexe Speicherlösungen aufgebaut werden, die mehrere dieser Mechanismen gleichzeitig nutzen.

Ein weiteres häufig eingesetztes Dateisystem unter FreeBSD ist das von Sun entwickelte ZFS. Dieses wurde zunächst aus freien Quellen, die mit OpenSolaris veröffentlicht wurden, auf FreeBSD portiert und wird seit FreeBSD 8.0 als stabil eingestuft. Inzwischen werden im Rahmen von OpenZFS Verbesserungen des Dateisystems entwickelt, die dann zum Teil für FreeBSD übernommen werden. ZFS wird vor allem wegen seiner einfachen Bedienung, Flexibilität und Stabilität geschätzt. Seit FreeBSD 10.0 ist es möglich, ausschließlich über den System-Installer ein komplett auf ZFS basierendes System zu installieren. Zuvor musste dies manuell erfolgen.

Software-Verwaltung

Neben den Programmen aus dem Basissystem stehen über 26.000 Softwarepakete von Drittanbietern zur Verfügung. Über sie kann teilweise bereits während der Installation je nach Einsatzzweck eine Vorauswahl getroffen werden. Die meisten Pakete stehen auch als Binärdateien (package) zur Verfügung und können somit direkt vom Installationsmedium oder einem regionalen Projektrepository installiert werden.

Häufiger kommen jedoch die sogenannten Ports als Paketverwaltung zum Einsatz. Neben einer größeren Auswahl liegen die Vorteile der FreeBSD-Ports in der komfortablen Abhängigkeitsauflösung, einer möglichen prozessorspezifischen Optimierung und der Nutzung von Compilezeit-Optionen. Die meisten Ports werden als Quellcode geladen, meist aus dem Netz, und dann auf dem eigenen System kompiliert. Hier finden sich die meisten Open-Source-Programme für Server und Desktop sowie einige proprietäre Programme. Die Flexibilität und einfache Bedienung der FreeBSD-Ports haben zu einer Verbreitung dieser Paketverwaltung auch auf anderen Systemen geführt. Neben NetBSD, DragonFly BSD (als DPorts) und OpenBSD werden die Ports auch auf Darwin und Mac OS X/​OS X/​macOS unter dem Namen MacPorts eingesetzt. Aufgrund der weitgehenden Quellcode-Kompatibilität dieser Systeme sind dafür höchstens kleine Änderungen an den Metadaten der Ports notwendig.

Netzwerk

Aufgrund der Ausrichtung des Projekts liegen die Stärken von FreeBSD im Netzwerkbereich. So waren wegen des KAME-Projekts die BSDs unter den ersten Betriebssystemen mit IPv6- und IPsec-Unterstützung. Es stehen mehrere redundante Paketfilter-Implementierungen zur Verfügung: das auch für proprietäre Unices verfügbare IPFilter, die Eigenentwicklung ipfw und pf aus OpenBSD. Des Weiteren existiert mit dummynet ein leistungsfähiger Trafficshaper.

FreeBSD beherrscht Netzwerkprotokolle auf verschiedenen Ebenen, zum Beispiel 802.1Q VLANs, PPP, L2TP. Mit netgraph[14] gibt es außerdem ein graphenbasiertes Kernelsubsystem, welches die modulare Implementierung neuer Protokolle und flexible Kombination vorhandener unterstützt. Ebenso arbeitet FreeBSD mit verschiedener Netzwerkhardware zusammen, u. a. 10-Gigabit-Ethernet, WLAN, ATM, ISDN, FDDI und UMTS.

Virtualisierung

FreeBSD stellt ab Version 4.x die Virtualisierungsumgebung jails (dt. Gefängnisse) zur Verfügung.[15] Aus dem Inneren eines Jail ist kein Zugriff auf die System- und Konfigurationsdateien des Hauptsystems möglich – es verwendet seine eigenen Dateien, Prozesse und auch User-Accounts, so dass die Umgebung sich fast nicht von der eines vollwertigen Systems unterscheidet. Gegenüber etwa chroot bietet dies eine Reihe von Vorteilen, insbesondere im Hinblick auf Sicherheit, Administration und Performance. Im Vergleich zu Paketen wie Xen oder VMware wiederum ist die Umsetzung sehr viel einfacher und transparenter, bietet aber nicht die Möglichkeit, ein fremdes Betriebssystem zu betreiben.[16] In anderen Systemen sind Abwandlungen von FreeBSD-Jails als sysjails oder container bekannt.

Die Open-Source-Edition der Virtualisierungssoftware VirtualBox ist in den Ports enthalten und ermöglicht es, FreeBSD sowohl als Gast-Betriebssystem als auch als Virtualisierungshost, der virtuelle Maschinen beherbergt, zu betreiben.

Mit FreeBSD 10.0 hielt der extra für FreeBSD entwickelte Typ‑2-Hypervisor bhyve Einzug in das Betriebssystem.[17] Er unterstützt zurzeit diverse FreeBSD-Versionen, Open-/NetBSD, Linux und Windows als Gast-Betriebssysteme.[18]

FreeBSD ist als Xen-Gastsystem inklusive des paravirtualisierten PVH-Modus einsetzbar, ebenso hat FreeBSD mittlerweile Unterstützung als Hostsystem.

Binärkompatibilität

FreeBSD

Die FreeBSD-Entwickler sind sehr darauf bedacht, neue Versionen des Betriebssystems abwärtskompatibel zu halten. Das bedeutet, dass Programme, die unter einer älteren Version des Betriebssystems ausgeführt werden konnten, auch unter der neueren Version noch ausgeführt werden können. Dieser Anspruch wird für alle Teile des Betriebssystems erhoben (insbesondere auch Kernel-Module).[19] Der Benutzer wird auf Ausnahmen von dieser Regel bei Bedarf hingewiesen.

Linux

FreeBSD bietet Linux-Binärkompatibilität.[20] Das bedeutet, dass Programme, die für GNU/Linux geschrieben und kompiliert wurden, unter FreeBSD ausgeführt werden können. Dies bietet vor allem die Möglichkeit, Programme, die nur in kompilierter Form für Linux erhältlich sind (wie z. B. Adobe Reader, Adobe Flash Player, Skype) unter FreeBSD zu nutzen. Die Linux-Binärkompatibilität wird häufig Linux Emulator oder linuxulator genannt. Technisch gesehen nutzt dieses Feature allerdings keine Emulation, sondern es beruht auf der Implementierung einer Binärschnittstelle (ABI).[21]

Windows

Mithilfe der Laufzeitumgebung Wine, die in der Ports-Collection sowie als Binärpaket zur Verfügung steht, können unter FreeBSD eine Reihe von Windows-Anwendungen ausgeführt werden, z. B. Microsoft Office.[22][23]

Entwicklung

Vorlage:Veraltet Die Entwicklungszweige des Quelltextes werden durch zentrale Subversion/CVS-Archive zur Verfügung gestellt. Das System ist sehr homogen, da alle Systembestandteile von der gleichen Entwicklergruppe gepflegt werden. Diese Archive werden regional gespiegelt, um das Netzwerk des Hauptarchivs zu entlasten. Aus Gründen der Performance und um Inkonsistenzen zu vermeiden sind die Archive mit direktem Schreibzugriff getrennt von denen, die gelesen werden können.[2]

Bei FreeBSD spielt die Verfügbarkeit des Quelltexts auch praktisch eine große Rolle: Viele Anwender halten einen lokalen Quelltextbaum vor und synchronisieren ihn regelmäßig über das Netz mit einem zentralen Quelltextarchiv (Repository). Dadurch ist es möglich, ein lokales System genau für seinen Einsatzzweck anzupassen, indem z. B. der Kernel mit systemspezifischen Treibern neu gebaut oder Software des Basissystems bzw. aus den Ports angepasst werden kann. Im Repository kann man in den alten Versionen der Quelltexte und den Anmerkungen der Entwickler recherchieren und somit sehr gut Einsicht in den Aufbau und die Funktionsweise des Systems gewinnen.

Projektorganisation

Die Pflege des Quelltextes wird von drei Gruppen der FreeBSD-Entwicklergemeinde übernommen:

  • src: In diesem Teil des Quelltextbaums sind der Kernel und das Userland enthalten. Committer mit Zugriff auf den src-Baum treiben daher auch die Entwicklung des Systems voran.
  • ports: Benannt nach der gleichnamigen Paketverwaltung, wird hier die Software von Drittanbietern eingepflegt. Die FreeBSD-Ports sind von Kernel und Userland unabhängig.
  • doc: Committer mit Zugriff auf diesen Teil des Quelltextbaums sind verantwortlich für die Pflege des sehr umfangreichen Handbuchs und der Manpages, die mit FreeBSD ausgeliefert werden.

Zusätzlich zu diesen drei Gruppen gibt es noch Teams, die für das Releasemanagement, die Administration der Projektserver, das Einpflegen von Sicherheitsupdates etc. zuständig sind. Dabei gibt es personelle Überlappungen zwischen all diesen Gruppen.[2]

Koordiniert wird die Entwicklung vom Core Team, das alle zwei Jahre von den aktiven Entwicklern mit CVS-Zugriff gewählt wird.

Die Kommunikation zwischen Entwicklern untereinander und mit Benutzern findet wie bei vielen Opensource-Projekten hauptsächlich über das Internet statt (Mailinglisten, Newsgroups, IRC, Foren).

Community-Treffen

Jedes Jahr werden weltweit mehrere Konferenzen abgehalten, sogenannte BSDcons. Entwickler und interessierte Nutzer stellen BSD-bezogene Projekte vor, diskutieren sie und erlernen in Workshops den Umgang mit ihnen. Im Rahmen der Konferenzen finden gesonderte Entwicklertreffen statt (sog. DevSummits), auf denen zukünftige Entwicklungen des Projektes diskutiert und koordiniert werden.[24] Häufig finden die Konferenzen in universitärem Umfeld statt. Meist werden sie von der FreeBSD Foundation finanziell und logistisch unterstützt. So verwendet die FreeBSD Foundation einen Teil ihres Budgets, um Entwicklern die Teilnahme an Konferenzen zu finanzieren. Namhafte Firmen (darunter Google, Netflix, iXsystems), die in die Entwicklung von FreeBSD involviert sind oder FreeBSD in größerem Umfang nutzen, treten auch als Sponsoren von Konferenzen auf. Die Konferenzen werden geschätzt, da sie die Möglichkeit des Austausches zwischen Programmierern, System-Administratoren, Studenten, Professoren und IT-Firmen bieten. Immer häufiger werden Teile der Konferenzen live gestreamt oder es sind Mitschnitte von Vorträgen oder andere Konferenzmaterialien (Präsentationen, Handouts) online über die jeweilige Webseite zur Konferenz abrufbar.

Folgende Konferenzen finden regelmäßig statt:

  • AsiaBSDCon (Asien, Japan)
  • BSDCan (USA, Canada)
  • EuroBSDcon (Europa)
  • KyivBSD (Ukraine, Kiew)
  • NYCBSDCon (USA, New York City)
  • ruBSD (Russland)

Zusätzlich zu den Konferenzen finden unregelmäßige Zusammentreffen statt, sogenannte BSDDays. Sie dienen demselben Zweck wie die Konferenzen, sind aus Mangel an Zeit oder Finanzen aber nicht so umfangreich.

Des Weiteren gibt es noch in vielen Ländern sogenannte User Groups. Dies sind Gruppen, die aus Benutzern von FreeBSD oder solchen, die es werden wollen, bestehen. Sie dienen primär dem persönlichen Erfahrungsaustausch. Wann, wo und wie sich Mitglieder solcher Gruppen treffen, ist gruppenspezifisch und wird häufig auf den Webseiten dieser Gruppen öffentlich bekannt gegeben.

Entwicklungszweige

Die Entwicklung des FreeBSD-Kernels und -Userlands läuft in mehreren Zweigen parallel ab:

  • CURRENT, in dem neue Features entwickelt und getestet werden und nur für Entwickler oder fortgeschrittene Anwender geeignet ist. (CVS-Tag: CURRENT, HEAD oder .)
  • STABLE, der als genügend getestete Software aus dem CURRENT-Zweig hervorgegangen ist und von dem etwa alle vier bis sechs Monate neue Versionen veröffentlicht werden.
  • RELEASE sind Schnappschüsse des jeweiligen RELEASE-Zweiges, welche wiederum aus einem STABLE-Zweig hervorgehen. Bei Releases werden keine Änderungen mehr vorgenommen, sondern nur noch sicherheitsrelevante Änderungen eingepflegt.

Um zum Beispiel sicherheitsrelevante Änderungen zwischen den einzelnen Zweigen austauschen zu können oder Verbesserungen aus dem Stable-Zweig auch in Current einfließen lassen zu können, wird im Hintergrund auf eine Versionsverwaltung mit Perforce zurückgegriffen, da sich mit CVS keine zweigübergreifenden Änderungen durchführen lassen.[2] Der Wartungszeitraum beträgt je nach Release und Priorität zwischen 6 und 24 Monaten.

Versionstabelle

Version Veröffentlichung[7] Unterstützung bis[25] wesentliche Änderung
Vorlage:Version Vorlage:FormatDate erste Version
Vorlage:Version Vorlage:FormatDate Wartungsrelease mit Bugfixes für 386BSD-Import, portierte Programme (XFree86, nntp) hinzugefügt[26]
Vorlage:Version
Vorlage:Version Vorlage:FormatDate
Vorlage:Version Vorlage:FormatDate Codebasis von 386BSD wurde durch BSD-Lite 4.4 ersetzt, wegen des Vergleichs zwischen USL und BSDi,[27] neuer Installer und Bootmanager, Unterstützung anderer Dateisysteme (FAT, unionfs, kernfs), dynamisch ladbare Kernelmodule aus NetBSD importiert[28]
Vorlage:Version Vorlage:FormatDate vollständige Unterstützung von NIS-Client und Server, T/TCP, ISDN, FDDI und Fast-Ethernet-Karten (100Mbit), Übersetzung der Dokumentation in diverse Sprachen, Ports auf dem Installationsmedium enthalten[29]
Vorlage:Version 19. November 1995
Vorlage:Version Juli 1996
Vorlage:Version Dezember 1996
Vorlage:Version Februar 1997
Vorlage:Version März 1997 NFSv3, Linux-Emulations-Schicht inklusive ELF, Einführung der man section 9 für Kernelfunktionen[30]
Vorlage:Version April 1997
Vorlage:Version Mai 1997
Vorlage:Version 22. Oktober 1997 Unterstützung aktueller Cyrix- und AMD-Prozessoren, neue VGA-Bibliothek[31]
Vorlage:Version 25. März 1998 Unterstützung für Plug and Play[32]
Vorlage:Version 22. Juli 1998 Unterstützung für FAT32, Update zur PC-98-Architektur[33]
Vorlage:Version 29. November 1998 Traffic-Shaping mit dummynet, Paketfilterung mit ipfw, Unterstützung von IDE-Laufwerken größer als 8 GiB[34]
Vorlage:Version Oktober 1998 Unterstützung symmetrischer Multiprozessorsysteme (SMP), SCSI und VESA[35]
Vorlage:Version 15. Februar 1999 Einführung von USB und PAM[36]
Vorlage:Version 17. Mai 1999
Vorlage:Version 17. September 1999 Unterstützung des Advanced Power Management zur Energieverwaltung[37]
Vorlage:Version 20. Dezember 1999
Vorlage:Version 24. Juni 2000
Vorlage:Version 14. März 2000 Import von IPv6 und IPsec aus dem KAME-Projekt, Integration von OpenSSH in das Basissystem, Emulation für SVR4-Binärdateien, USB-Ethernet, telnet-Verschlüsselung[38]
Vorlage:Version 27. Juli 2000 Erweiterung der Unterstützung von Alpha-Prozessoren[39]
Vorlage:Version 27. September 2000 Virtueller Ethernet-Gerätetreiber für Bridge-Konfigurationen, Unterstützung von ATA100-Controllern[40]
Vorlage:Version 21. November 2000 Unterstützung von USB-Scannern, USB-Modems, Umstrukturierung der Ports[41]
Vorlage:Version 20. April 2001
Vorlage:Version 20. September 2001 Erkennung neuer Prozessoren (Transmeta Crusoe et al.), Unterstützung von Streaming SIMD Extensions (SSE) und SMB-Dateisystemen[42]
Vorlage:Version 29. Januar 2002 31. Dezember 2002 TCP hinsichtlich Durchsatz, Performance und Robustheit gegen DoS-Attacken überarbeitet, Unterstützung des Bootloaders für Dateisysteme mit 16K-Blöcken[43]
Vorlage:Version 15. Juni 2002 Mai 2003
Vorlage:Version 15. August 2002 Mai 2003
Vorlage:Version 10. Oktober 2002 Dezember 2003
Vorlage:Version 3. April 2003 31. März 2004 Unterstützung von FireWire und Hyper-Threading, Framework aus OpenBSD zur Verschlüsselungsunterstützung des Kernels importiert[44]
Vorlage:Version 28. Oktober 2003 31. Oktober 2004 Experimentelle Unterstützung von Physical Address Extensions[45]
Vorlage:Version 27. Mai 2004 Mai 2006 Unterstützung von USB 2.0[46]
Vorlage:Version 25. Januar 2005 31. Januar 2007
Vorlage:Version 14. Januar 2003 30. Juni 2003 Unterstützung von UltraSPARC- und IA-64-Prozessoren, SMP-Unterstützung durch Umwandlung des Giant lock in kleinere Locks, GEOM, Mandatory Access Control aus TrustedBSD importiert, fsck im Hintergrund, Bluetooth, ACPI, CardBus, devfs, UFS2, Universal Disk Format, Treiber für die Direct Rendering Infrastructure (DRI), Pluggable Authentication Modules, Unterstützung für 80386-Prozessoren, kernfs und UUCP entfernt, Perl aus dem Basissystem in die Ports verschoben, das rc.d Framework aus NetBSD importiert[47]
Vorlage:Version 9. Juni 2003 Februar 2004 Experimentelle Unterstützung von AMD64-Prozessoren, 1:1- und M:N-Thread-Bibliotheken für Multithreading, Name Service Switch und des ULE-Schedulers, Unterstützung von Physical Address Extensions, zwingende Verwendung von GEOM und devfs, IPv6 Unterstützung des Linux-Emulators, Beginn der Dokumentationsübersetzung ins Dänische[48]
Vorlage:Version 9. Januar 2004 31. Dezember 2004 AMD64 als Tier1-Architektur unterstützt, Protocol Independent Multicast, ATA-Treiber aus dem Giant lock entfernt, Unterstützung des NFSv4-Client, Start der Dokumentationsübersetzung ins Türkische,[49] Einführung von Cardbus- und 802.11a/b/g-Treibern, experimentelle Unterstützung für die Filterung und Forwarding von IP-Daten in mehreren Threads[50]
Vorlage:Version 25. Februar 2004 31. Dezember 2004
Vorlage:Version 6. November 2004 31. Oktober 2006 ALTernate Queueing, eintrittsinvariante Netzwerk- und Socketsubsysteme in mehreren Threads, Einführung des Kernel debugger frameworks (KDB), dynamische und statische Linkerunterstützung für Thread-local storage, Import der pf-Firewall aus OpenBSD, native Ausführungsunterstützung von NDIS-Treibern, Ersetzung von XFree86 durch X.org, Kryptographie-Unterstützung durch Basissystem[51]
Vorlage:Version 9. Mai 2005 31. Oktober 2006 Import des Common Address Redundancy Protocol aus OpenBSD[52]
Vorlage:Version 25. Mai 2006 31. Mai 2008 Beide Kerne von Dual-Core-Prozessoren sind per Voreinstellung durch SMP-Kernel nutzbar[53]
Vorlage:Version 4. November 2005 31. Januar 2007 Experimentelle Unterstützung für PowerPC, WPA, Treiber weiterer Wireless-Karten hinzugefügt, vollständige Unterstützung von 802.11g, 802.11i, 802.1x und WME/WMM, Verbesserung von Zugriffen auf Dateisysteme und direkt auf Datenträger, SMP-fähige Schicht des virtuellen Dateisystems VFS, Import der Bridge-Implementierung mit Unterstützung des 802.1D Spanning Tree Protocol aus NetBSD[54]
Vorlage:Version 8. Mai 2006 31. Mai 2008 Tastatur-Multiplexer, automatische Konfiguration vieler Bluetooth-Geräte, Treiber für Ethernet, SAS und SATA-RAID-Controller[55]
Vorlage:Version 15. Januar 2007 31. Mai 2008 Unterstützung der Xbox-Architektur, OpenBSM, ipfw-Tags für Pakete, Einführung von freebsd-update für binäre Sicherheitsupdates und Patches und OpenIPMI als Intelligent Platform Management Interface[56]
Vorlage:Version 18. Januar 2008 31. Januar 2010 Reimplementierung von UnionFS, Hinzufügen eines Upgrade-Schalters zu freebsd-update[57]
Vorlage:Version 28. November 2008 30. November 2010 Unterstützung des Camellia-Algorithmus zur Verschlüsselung, Ermöglichen des Bootens von USB-Datenträgern und Geräten mit GPT-BIOS, buffer corruption protection bei der Speicherallokierung[58]
Vorlage:Version 27. Februar 2008 30. April 2009 Unterstützung von ZFS, XFS und GPT, Referenzimplemenation von SCTP, Unterstützung für die ARM-Architektur und das High Definition Audio Interface (HDA) von Intel hinzugefügt, phkmalloc durch jemalloc,[59] Unterstützung für DEC Alpha eingestellt[60]
Vorlage:Version 4. Januar 2009 28. Februar 2011 DTrace von OpenSolaris übernommen, ULE-Scheduler wird voreingestellter Scheduler für i386- und AMD64-Platformen[61]
Vorlage:Version 4. Mai 2009 30. Juni 2010 Unterstützung der UltraSPARC-III-Prozessoren, transparente Verwendung von Superpages im Virtual-Memory-Subsystem, Verbesserungen an den FreeBSD jails[62]
Vorlage:Version 23. März 2010 31. März 2012 Neuer Bootloader gptzfsboot mit Unterstützung für GPT und ZFS, Unterstützung für VIA-Nano-Prozessoren[63]
Vorlage:Version 24. Februar 2011 28. Februar 2013 Unterstützung für UltraSPARC-IV, -IV+ und SPARC64-V-Prozessoren hinzugefügt, IEEE 802.3 Vollduplex[64]
Vorlage:Version 25. November 2009 30. November 2010 Neuer USB-Stack, Unterstützung für IEEE 802.11s, Verwendung von Superpages, Erhöhung der Anzahl maximaler Slices und Unterstützung von NFSv4[65]
Vorlage:Version 23. Juli 2010 31. Juli 2012 Hochverfügbarkeitsspeicher, SMP für PowerPC G5-Systeme, threadsicheres MS-DOS-Dateisystem, zfsloader, NFSv4-ACL für UFS und ZFS[66]
Vorlage:Version 24. Februar 2011 31. Juli 2012 Import von V4L in den Linux-Emulator, Unterstützung von USB 3.0 und des Extensible Host Controller Interface[67]
Vorlage:Version 18. April 2012 30. April 2014 Unterstützung der TRIM-Funktion für SSDs, GNOME Version 2.32.1, KDE Version 4.7.4[68]
Vorlage:Version 9. Juni 2013 1. August 2015 Dateisystem tmpfs kann nun produktiv eingesetzt werden, KDE Version 4.10.1[69]
Vorlage:Version 12. Januar 2012 31. März 2013 Userland DTrace, UFS SoftUpdates+Journal, SMP-Support für mehr als 32 Prozessoren, Einführung der Non-Uniform Memory Architecture[70]
Vorlage:Version 31. Dezember 2012 31. Dezember 2014 Neuer Intel-Grafiktreiber mit GEM/KMS-Unterstützung[71]
Vorlage:Version 30. September 2013 31. Dezember 2014 Unterstützung von TRIM sowie LZ4-Kompression unter ZFS[72]
Vorlage:Version 16. Juli 2014 31. Dezember 2016 Unterstützung von ZFS-bookmarks, Einführung von /usr/lib/private, Aktualisierung zahlreicher Bibliotheken[73]
Vorlage:Version 20. Januar 2014 28. Februar 2015 Umstellung auf Clang/LLVM als Standardcompiler;[74] Linux-inotify-Emulation[75]
Vorlage:Version 14. November 2014 31. Dezember 2016 Unterstützung für UEFI bei amd64, UDP-Lite-Protokoll und SMP bei armv6 hinzugefügt, Performance-Verbesserungen bei Virtualisierung und ZFS[76]
Vorlage:Version 13. August 2015 31. Dezember 2016
Vorlage:Version 29. März 2016 30. April 2018 Unterstützung von ZFS-Boot bei UEFI-Installationen, 64-Bit Linux-Emulation
Vorlage:Version 4. Oktober 2017 31. Oktober 2018
Vorlage:Version 10. Oktober 2016[77] 30. November 2017[78] Der WLAN-Treiber unterstützt 802.11n und weitere Hardware, außerdem setzt er standardmäßig die Regulierungsdomäne auf FCC-Regeln um, es wird die RISC-V- und arm64-Architektur unterstützt, der Hypervisor Bhyve unterstützt nun Windows Vista und aufwärts, libblacklist wurde von NetBSD übernommen, sowie Bugfixes und Paketaktualisierungen[79]
Vorlage:Version 26. Juli 2017[80] 30. September 2018[81] LLVM, LLDB, Clang wurde aktualisiert, der NFS-Client unterstützt nun das Amazon Elastic File System und der Hyper-V-Hypervisor zweiter Generation erhält Support, ergänzt wurden die Tools zfsbootcfg und efivar, weitere Softwareupdates und Verbesserungen sowie Updates, um reproduzierbare Builds besser zu unterstützen[82]
Vorlage:Version 27. Juni 2018[83] 31. Oktober 2019 LLVM, Clang, LLDB wurde genauso wie OpenSSH und OpenSSL aktualisiert, KDE 4.14.3, Gnome 3.18.0, Treiberupdates
Vorlage:Version 5. Juli 2019 30. September 2020 KDE 4.15.3, Gnome 3.28.0
Vorlage:Version 5. Juli 2019 30. September 2021
Vorlage:Version 11. Dezember 2018[84] 29. Februar 2020
Vorlage:Version 4. November 2019 31. Januar 2021 OpenSSL Version 1.1.1d; Clang/LLVM Version 8.0.1; BearSSL im Basissystem[85]
Vorlage:Version 27. Oktober 2020 31. März 2022 Unterstützung für Intel 100Gb Ethernet Karten; Unterstützung von Linux in jails; OpenSSH 7.9p1; OpenSSL 1.1.1h[86]
Vorlage:Version 7. Dezember 2021 Einige Netzwerktreiber aktualisiert; Upstream Software aktualisiert; Userland-Anwendungen aktualisiert; Kernel Bugs behoben[87]
Vorlage:Version 13. April 2021 31. August 2022 Umstellung von ZFS auf OpenZFS[88]; Clang/LLVM Version 11.0.1[89]
Vorlage:Version 16. Mai 2022 FIDO/U2F-Authentifizierung für SSH mittels ecdsa-sk und ed25519-sk; OpenSSH Version 8.8p1; OpenSSL Version 1.1.1o; OpenZFS 2.1.4[90]
Vorlage:Version

Folgende Zeitleiste stellt den Lebenszyklus unterschiedlicher FreeBSD-Versionen dar. Bis zum End of life einer Version werden Sicherheitslücken und Softwarefehler beseitigt und ein Teil essentieller neuer Features, die in künftigen Versionen vorhanden sind, zurückportiert. Vorlage:Zeitleiste FreeBSD

Altes FreeBSD-Logo Vorlage:Nowrap

Der BSD-Daemon ist das „Maskottchen“ von BSD-Unix und wurde von Beginn an als Logo verwendet. Er wird oft Beastie genannt, obwohl ihn der Träger des Copyrights für namenlos erklärt.

Das Zeichen erwies sich jedoch teils schwer reproduzier- und skalierbar, daher riefen im Februar 2005 die Entwickler des FreeBSD-Projektes auf, ein Logo für FreeBSD zu entwerfen. Ende Juni 2005 wurden die Vorschläge verschiedener Grafiker eingereicht und Ende September 2005 wurde das neue Logo ausgewählt. Zum Schluss standen sieben Einsendungen in der engeren Wahl – gewonnen hat ein Design von Anton K. Gural.[91][92]

Es gab darauf – wie bei NetBSD – verschiedene Erwägungen, das traditionelle Maskottchen nicht weiter als Logo zu verwenden. Im Ergebnis bleibt der Daemon Beastie nun doch das Maskottchen des Projektes. Das neue Logo ist eine Anspielung auf den Kopf des Daemons mit seinen Hörnern.

Distributionen und Derivate

Vorlage:Anker

FreeBSD-Distributionen

<section begin="Distros" />

  • m0n0wall: eine Firewall-Distribution;
  • NomadBSD: ein Live-System (keine Installation nötig) für USB-Sticks[93]
  • OPNsense: eine (stateful) Firewall/Router-Distribution; unterstützt LibreSSL und ASLR
  • pfSense: eine Firewall/Router-Distribution
  • TrustedBSD: Erweiterung mit dem Hauptgewicht auf Sicherheitseigenschaften
  • HardenedBSD: eine Erweiterung mit dem Hauptgewicht auf Sicherheitseigenschaften; Zusammenarbeit mit OPNsense<section end="Distros" />

FreeBSD-Derivate

<section begin="Derivate" />

  • CellOS und OrbisOS: Betriebssysteme der PlayStation 3 und 4 von Sony[94][95]
  • Darwin: gemeinsames Basisbetriebssystem für macOS, iOS etc.; XNU, Hybridkernel aus OSF Mach- und FreeBSD-Kernel; Das Userland des als UNIX 03 zertifizierten macOS stammt größtenteils von FreeBSD, es ist nicht Bestandteil von Darwin
  • Data ONTAP: das Betriebssystem von NetApp-Speichersystemen[96]
  • DesktopBSD: ein Arbeitsplatzsystem mit KDE als grafischer Arbeitsumgebung
  • DragonFly BSD: Abspaltung von FreeBSD 4.x
  • FuryBSD: Nachdem sich Project Trident (künftig Void Trident) entschlossen hat künftig anstatt auf TrueOS/FreeBSD auf Void Linux zu setzen, gründete ein Teil der Community FuryBSD mit dem Fokus auf ein vollständig grafisches Desktop OS
  • FreeNAS: für Network Attached Storage (NAS) konzipiert
  • FreeSBIE: ein Live-System mit Xfce and Fluxbox; entstand während des Google Summer of Code 2005
  • JunOS: das Betriebssystem der Router von Juniper Networks
  • Kylin: entwickelt für chinesische Behörden
  • MidnightBSD: mit grafischer Arbeitsumgebung auf Basis von GNUstep; ursprünglich abgeleitet von FreeBSD 6.1 Beta
  • NAS4Free: für Network Attached Storage (NAS) konzipiert
  • PicoBSD: eine minimierte Variante von FreeBSD, die auf eine einzelne Diskette passt – also weniger als 1,44 MB umfasst
  • TrueOS (ehemals PC-BSD): ein FreeBSD erweiterndes und als Arbeitsplatzsystem optimierendes Derivat; die Entwicklung wurde Anfang 2020 eingestellt.[97]
    • GhostBSD: ursprünglich FreeBSD-, ab 18.10 TrueOS-basierend; MATE als vorgesehene grafische Arbeitsumgebung, ursprünglich Gnome
  • TwinCAT/BSD: Betriebssystem zur Industrieautomatisierung der Firma Beckhoff Automation.[98] <section end="Derivate" />

Portierungen auf den FreeBSD-Kernel

<section begin="Portierungen" />

  • Arch BSD: eine Arch-Linux-Portierung auf den Kernel von FreeBSD
  • Gentoo/FreeBSD: eine Gentoo-Portierung auf den Kernel von FreeBSD
  • Debian GNU/kFreeBSD: eine Portierung des Debian-GNU-Systems auf den Kernel von FreeBSD<section end="Portierungen" />

Hardwareanforderungen

Die Hardwareanforderungen hängen vom Einsatzgebiet ab. Ein Embedded System beispielsweise hat andere Anforderungen als ein Webserver oder ein Desktop.

Für FreeBSD 11.x gelten 96 MB RAM und 1,5 GB Festplattenspeicher als Minimalanforderung. Bei Desktop-Systemen beginnen die Anforderungen bei 2–4 GB RAM und mindestens 8 GB freiem Festplattenspeicherplatz.[99]

Siehe auch

Literatur

  • Marshall Kirk McKusick, George V. Neville-Neil: The Design and Implementation of the FreeBSD Operating System. Addison-Wesley, 2004, ISBN 0-201-70245-2 (Beschreibung des Betriebssystems auf akademischen Niveau)
  • Marshall Kirk McKusick, George V. Neville-Neil, Robert N. M. Watson: The Design and Implementation of the FreeBSD Operating System. 2. Auflage. Addison-Wesley, 2015, ISBN 978-0-321-96897-5 (beschreibt den FreeBSD-11-Kernel)
  • Greg Lehey: The Complete FreeBSD. 4. Auflage. O'Reilly, 2003, ISBN 0-596-00516-4 (Installation, Konfiguration und Gebrauch des FreeBSD-Systems)
  • Harald Zisler: FreeBSD. Franzis, Poing 2006, ISBN 3-7723-6538-8.
  • Michael Lucas: Absolute FreeBSD: The Ultimate Guide to FreeBSD. 2. Auflage. No Starch Press, San Francisco 2007, ISBN 978-1-59327-151-0.
  • Michael Urban, Brian Tiemann: FreeBSD 6 Unleashed. Sams, 2006, ISBN 0-672-32875-5.
  • Michael Lucas: FreeBSD de Luxe. Unix-Serveradministration. Mitp-Verlag, Bonn 2003, ISBN 3-8266-1343-0.
  • Benedikt Nießen: Der eigene Server mit FreeBSD 9. dpunkt.verlag, Heidelberg 2012, ISBN 978-3-89864-814-1.

Weblinks

Vorlage:Commonscat

Einzelnachweise

  1. 2,0 2,1 2,2 2,3 How the FreeBSD Project works, Vortrag von Robert N. M. Watson bei Google TechTalks 2007 (englisch)
  2. netcraft.com: Nearly 2.5 Million Active Sites running FreeBSD, Umfrage von 2004 (englisch)
  3. netcraft.com: Most Reliable Hosting Company Sites in May 2009 and June 2011 (englisch)
  4. 5,0 5,1 freebsd.org: About the FreeBSD Project (englisch)
  5. Vorlage:Webarchiv, Eintrag von Axel S. Gruner
  6. 7,0 7,1 FreeBSD Release Information, Übersicht aller Releases inklusive unterstützter Hardwareplattformen (englisch)
  7. Vorlage:Webarchiv (englisch)
  8. heise.de: FreeBSD der unbekannte Riese
  9. Vorlage:Webarchiv für C99 und IEEE 1003.1-2001 (POSIX) inklusive der XSI Extensions.
  10. Referenzfehler: Es ist ein ungültiger <ref>-Tag vorhanden: Für die Referenz namens plattform wurde kein Text angegeben.
  11. freebsd.org: Network Setup, Using Windows NDIS Drivers (englisch)
  12. Netgraph Manpage
  13. Vorlage:Webarchiv (englisch)
  14. Vorlage:Webarchiv
  15. bell-labs.com: USL vs. BSDI documents (englisch)
  16. heise online:Freies Unix-Derivat FreeBSD 10.0: GCC und make fehlen in Standardinstallation
  17. FreeBSD 10.0 – FreeBSD wiki
  18. New Logo FreeBSD-Announce, Jun Kuriyama (31. Oktober 2005); abgerufen am 6. Juli 2020.
  19. Project Logo FreeBSD Foundation; abgerufen am 6. Juli 2020.
  20. NetApp Data ONTAP mit FreeBSD-Basis:

Vorlage:Normdaten