# 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/