# Mal was anderes: FreeBSD
## Was ist FreeBSD?
- FreeBSD ≠ Linux Distribution
- "Echtes" UNIX
- Teil des OS von Switch, PS3, PS4, iOS, macOS ab 10.0
- Paket aus Kernel und Userland
Note:
- FreeBSD stammt in mehr oder weniger direkter Linie von der Berkeley Software Distribution (BSD) ab, die den UNIX-Kernel mit zusätzlicher Software auf Tapes verteilte
- Teile von FreeBSD sind zusammen mit Android-Teilen in das OS der Nintendo Switch eingeflossen. FreeBSD und NetBSD sind die Basis für die PlayStation 3 system software. Die PlayStation 4 system software basiert auf einem Fork von FreeBSD 9. Das Userland von macOS hat viel von FreeBSD übernommen. Der Kernel ist integraler Teil von Darwin, dem iOS/macOS Kernel.
- Extra-Info: Bill Joy hat auf BSD vi, chroot entwickelt, und als Mitgründer von Sun Microsystems NFS entwickelt
## Wofür FreeBSD
- Generischer Desktop
- Besonders stark als Server
- TrueNAS als SAN-System
- Netflix streamt von FreeBSD Servern
- OPNsense/pfSense
Note:
- FreeBSD am Desktop hat Einschränkungen, besonders bei der 3D-Beschleunigung von Grafikkarten. Treiber-Unterstützung da ist noch schlechter als bei Linux.
- TrueNAS hieß früher FreeNAS.
- TrueNAS kann auch Speicher per FibreChannel und iSCSI anbieten.
- Netflix streamt mit 400Gbps pro Server
- Für EuroBSDcon 2022 Vortrag angemeldet "The “other” FreeBSD optimizations used by Netflix to serve video at 800Gb/s from a single server"
- OPNSense/pfSense als High-Performance High-Availability Firewall
# Besondere Features
## Packages
- Extra Software abseits des Basis-Systems
- Ähnlich den Repos in Linux-Systemen
- Haupt-Repo quartalsaktuell oder Bleeding Edge
Note:
- Quartals-Update sind stabliler & enthalten auch Security Updates
- Bleeding Edge ähnlich wie Arch Linux
## Ports
- Bleeding Edge++
- Anleitung für Source Builds
Note:
- Ports sind wie eBuilds in Gentoo
## ZFS
- ZFS Bestandteil seit FreeBSD 7 (2008)
- ab FreeBSD 13 OpenZFS
- Integration mit NFS Server, OS Upgrades, Jails
Note:
- ZFS Snaptshots automatisch bei Upgrade, per `beadm` leicht umstellbar
- NFS exports können per ZFS Attribut erstellt werden
## Jails
- OS-level Virtualisierung
- Jails nutzen gleichen Kernel wie Host
- Eigene IPs
- Eigenes Userland
Note:
- `iocage` verwendet ZFS als Basis um Jails aus Snapshots bzw. Overlays zu erstellen
## Dokumentation
- Handbuch ist *sehr* gut
- Man-Pages sind umfassend
# Demo
# Links
- FreeBSD: https://freebsd.org/
- FreeBSD Handbuch: https://docs.freebsd.org/de/books/handbook/
- FreeBSD Manual Pages: https://www.freebsd.org/cgi/man.cgi
- TrueNAS: https://www.truenas.com/
- Darwin: https://en.wikipedia.org/wiki/Darwin_(operating_system)
- UNIX Family Tree: https://upload.wikimedia.org/wikipedia/commons/7/77/Unix_history-simple.svg
- Serving Netflix Video at 400Gb/s on FreeBSD - Drew Gallatin, EuroBSDcon 2021: https://papers.freebsd.org/2021/eurobsdcon/gallatin-netflix-freebsd-400gbps/