FreeBSD

Aus Foxwiki

FreeBSD ist ein freies und vollständiges unixoides Betriebssystem, das direkt von der Berkeley Software Distribution abstammt.

Beschreibung

FreeBSD ist ein freies und vollständiges unixoides Betriebssystem, das direkt von der Berkeley Software Distribution abstammt.

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.

Installation

Anwendungen

Fehlerbehebung

Syntax

Optionen

Parameter

Umgebungsvariablen

Exit-Status

Konfiguration

Dateien

Sicherheit

Siehe auch

Dokumentation

RFC

Man-Pages

Info-Pages

Links

Projekt

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

Weblinks



Wikipedia

| Screenshot    = Screenshot of FreeBSD 6.2
| Beschreibung  = FreeBSD mit Message of the Day
| Entwickler    = The FreeBSD Project
| Quelle = 
| Stammbaum     = Vor Version 2.0:
UNIXVorlage:KindBSDVorlage:Kind386BSDVorlage:KindFreeBSD
Ab Version 2.0:
4.4BSDVorlage:KindFreeBSD | Kernel = monolithisch | Architekturen = x86 und x64 vollständig, und diverse andere teilweise[5] | Lizenz = BSD-Lizenz | Website = www.freebsd.org/de/


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.[6] 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.[7]

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.[6] Ä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.[8][9] 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.[10] 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.

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.[12]

Neben der x86-, AMD64- und ehemals in Japan verbreiteten PC-98-Architektur werden eine Reihe weiterer Prozessortypen unterstützt.

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.

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]

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.[24][25]

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[26]
  • 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[27][28]
  • 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[29]
  • 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.[30]
    • 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.[31] <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.[32]

Einzelnachweise

  1. 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 von FreeBSD unterstützte Plattformen und deren Status
  5. 6,0 6,1 freebsd.org: About the FreeBSD Project (englisch)
  6. Vorlage:Webarchiv, Eintrag von Axel S.
    • Gruner
  7. FreeBSD Release Information, Übersicht aller Releases inklusive unterstützter Hardwareplattformen (englisch)
  8. Vorlage:Webarchiv (englisch)
  9. heise.de: FreeBSD der unbekannte Riese
  10. Vorlage:Webarchiv für C99 und IEEE 1003.1-2001 (POSIX) inklusive der XSI Extensions.
  11. freebsd.org: Network Setup, Using Windows NDIS Drivers (englisch)
  12. Netgraph Manpage
  13. Vorlage:Webarchiv (englisch)
  14. Vorlage:Webarchiv
  15. New Logo FreeBSD-Announce, Jun Kuriyama (31.
    • Oktober 2005); abgerufen am 6.
    • Juli 2020.
  16. Project Logo FreeBSD Foundation; abgerufen am 6.
    • Juli 2020.
  17. NetApp Data ONTAP mit FreeBSD-Basis: