Linuxer Chemnitztage/2019/BSD/Vortrag

Aus C3D2
Wechseln zu: Navigation, Suche

---

title: FreeBSD und seine Ausprägung description: Vortrag FreeBSD und seine Ausprägung zur Veranstaltung Chemnitzer Linuxtage 2019 mit anschließendem Teil für Fragen und Antworten tags: BSD, deutschsprachig, C3D2, vater, FreeBSD langs: de-de slideOptions:

 transition: fade
 theme: white

---


---

  1. FreeBSD
    1. und seine
  2. Ausprägung

---

https://hackmd.c3d2.de/p/clt_2019_freebsd# https://hackmd.c3d2.de/s/clt_2019_freebsd#

vater@c3d2.de       </br> vater@bsd.services

https://wiki.c3d2.de/BSD            https://wiki.c3d2.de/BSDienstag

vater@jabber.c3d2.de</br> vater@jabber.ccc.de  

![](https://www.freebsd.org/gifs/doc.jpg)


---

    1. "Vortrag"

---

        1. "Vortrag"
          1. Niveau vom Inhalt & Zielgruppe & Vollständigkeit

- ~~(Wikipedia benennt (bestimmt) auch (nahezu) alle Inhalte.)~~ - Es soll eine Vortrag zum einfachen Konsum - insbesondere für Neugierige und Faule - sein. - ~~Es besteht der Anspruch nach

   - ~~(inhaltliche) Vollständigkeit~~
   - Aktualität

- [1](https://hackmd.c3d2.de/bsd (ständiger Vortrag *(Free)BSD mit all den Abarten*))

---

        1. "Vortrag"
          1. Durchführung & Co

- Bei Fragen oder Anmerkungen: Bitte fragen oder anmerken.

 - Nach der Vorstellung soll es aber ohnehin einen Teil "Fragen und Antworten" (aka Q&A) geben.

- (Es wird womöglich das generisches Femininum verwendet.)

---


---

        1. "Vortrag"
          1. Hail Eris!

- Alles ist lieb gemeint. Möge sich bitte kein Mensch angegriffen fühlen. (Vielleicht wird unabsichtlich legerem Sprech verwendet.) - Alle sollten auch GNU/Linux mögen.

 - Debian ist awesome!
 - Fedora ist heiß!
 - Nix(OS) ist funktional!
 - …

- *nix im Chaos

 - Solidarität, Respekt & Konsens!
 - Toleranz! Koexistenz! …
 - liebe. freiheit. alles.

---

        1. Motivation

Werbung!

- Monokultur Linux (ThinkPad/Linux/Arch||Debian ~~||Ubuntu~~ / …) entgegenwirken!

 - Diversität (insbesondere auch in ~~Hackspaces~~Industrie)!
 - Ausfallsicherheit!
   - insbesondere technisch
   - (aber auch) kulturell

- Unterstellte (relative) Unbekanntheit überwinden!

 - *BSD macht einiges (anders) richtiger (oder falscher)!

- Mögliche Mythen ausräumen (oder schaffen)! - Gute Lösungen!

 - einfach, solide, handhabbar

---

        1. Inhalte

1. BSD

   1. FreeBSD

2. allgemeine Vorstellung 3. Ausprägungen

   1. allgemein
   2. NAS
   3. firewall
   4. Desktop/Laptop
   5. Spezielles
   6. Sonstiges
   7. Besonderes

4. Welt

---

    1. BSD

---

        1. BSD

- Berkeley Software Distribution - UNIX

   - [nicht GNU](https://www.gnu.org/gnu/linux-and-gnu.html) ([GNU's Not Unix](https://www.gnu.org/gnu/gnu-history.en.html))
   - (erneute) Vervollständigung (statt Nachbau) von UNIX
       - UC Berkeley

- (grundsätzlich) technisch kompatibel mit *nix - BSD-Lizenz

   - ~~[3 Bedingungen (BSD-3-Clause)](https://opensource.org/licenses/BSD-3-Clause)~~ [2 Bedingungen (BSD-2-Clause)](https://opensource.org/licenses/BSD-2-Clause)
   - [MIT](https://opensource.org/licenses/MIT) & Co

---

        1. *BSD
          1. Arten

Die grundsätzlichen vier Ausprägungen: - NetBSD  

 - OpenBSD

 

- FreeBSD  

  - Dragonfly BSD

                                    

---

        1. *BSD
          1. Schlagworte

Die grundsätzlichen vier Ansätze: - NetBSD Portabilität

 - OpenBSD

Sicherheit

- FreeBSD Funktionalität

  - Dragonfly BSD

Leistungseffizienz                                   


---

    1. [FreeBSD](https://freebsd.org/)

---

        1. FreeBSD w00t?

*The Power To Serve*

- [FreeBSD Foundation](https://freebsdfoundation.org/) - [FreeBSD Core Team](https://www.freebsd.org/administration.html#t-core)

- [Version 12.0 (2018-12-11)](https://www.freebsd.org/releases/12.0R/relnotes.html)

   - [Version 11.2 (2018-06-27)](https://www.freebsd.org/releases/11.2R/relnotes.html)

- Version 1.0 1993(-11-01)

   - (Version 2.0 1994-11-22)

---

        1. FreeBSD w00t!

- bekannt für

   - ZFS (seit Jahren)
   - Jails
   - Ports

- Verbreitetsten (Verwendetsten) in der Welt von BSD

---

    1. Prägung und Ausprägungen von FreeBSD

---

        1. FreeBSD
          1. Prägung

- vanilla

- (NanoBSD)

- STABLE (12) - CURRENT (13) - ~~(legacy)~~

   - Versionen für "LTS" aka "Extended" (11.~~3~~2)
   - ansonsten 3 Monate zum Aktualisieren

---

        1. FreeBSD
          1. Ausprägungen
            1. I/IV

Desktop & Co - ([TrueOS](https://trueos.org/)) (~~PC-BSD~~)

   - [Trident](http://project-trident.org/) (~~PC-BSD~~)
   - [GhostBSD](http://ghostbsd.org/)

- ~~[DesktopBSD](http://desktopbsd.net/)~~

NAS & Co - [FreeNAS](https://freenas.org/) - ~~[NAS4Free](https://nas4free.org/)~~[XigmaNAS](https://www.xigmanas.com/) - ([ZFSguru](http://zfsguru.com/))

---

        1. FreeBSD
          1. Ausprägungen
            1. II/IV

Weiterentwicklungen & Co - [HardendBSD](https://hardenedbsd.org/) - ~~NextBSD~~ - [TrueOS](https://trueos.org/)

Router & Co - [BSDRP](https://bsdrp.net/)

Firewall & Co - [pfSense](https://pfsense.org/)

   - [OPNsense](https://opnsense.org/)

---

        1. FreeBSD
          1. Ausprägungen
            1. III/IV

- [CBSD](https://www.bsdstore.ru/)

   - Verwaltung von Instanzen
   - `pkg install cbsd`
   - [ClonBSD](https://clonos.tekroutine.com/)

- [ElectroBSD](https://www.fabiankeil.de/gehacktes/electrobsd/)

   - Betrieb vom Tor-Netzwerk

- [RaspBSD](http://raspbsd.org)

   - (viele verschiedene) Einplatinencomputer

---

        1. FreeBSD
          1. Ausprägungen
            1. IV/IV

- [TrustedBSD](http://trustedbsd.org)

   - TrustedBSD mit OpenBSM 

- [MidnightBSD](https://midnightbsd.org/)

   - Desktop

- [SoloBSD](https://solobsd.org/)

   - (OpenBSD/)HardendBSD 

- [NomadBSD](https://freeshell.de/~mk/projects/nomadbsd.html)

   - Live per USB

---

    1. Üblichkeiten vom FreeBSD

---

        1. nennenswerte (übliche) Funktionalitäten von FreeBSD
            1. I/II

- Ports - (Open)ZFS

   - snapshots & all the cow foo
   - boot environments
       - getrennt vom home-Verzeichnis
   - (nahezu) betriebssystemübergreifend
   - (aber auch UFS als Standard verfügbar)

---

        1. nennenswerte (übliche) Funktionalitäten von FreeBSD
            1. II/II

- Jails - bhyve

   - bei OS  (als `xhyve`) und (fast) bei illumos

- …

---

        1. Projekt FreeBSD

- sehr nette Art - gewähltes Core Team (von allen Aktiven mit [commit bit](https://www.freebsd.org/doc/en/articles/committers-guide/committer.types.html)) - Mentoring - (Mail-Verteiler) - [FreeBSD Foundation](https://www.freebsdfoundation.org) - Projekte

   - [TeachBSD](http://teachbsd.org/)
   - …

---

        1. (bedenkliche) Grundannahmen von FreeBSD

Üblicher Weise soll FreeBSD zum Betreiben von Diensten genutzt werden. Anpassungen - über eine "unheimliche" Umgebung hinaus - sind entsprechend der Gegegebenheit ohnehin passend vorzunehmen. ~~(Daher liegt der Standard auf "für alle Fälle" und ist damit nicht besonders angemessen angepasst.)~~#HardenedBSD

---

        1. Pakete (aka Ports)

- pkg

   - "normale" Paketverwaltung
       - grob vergleichbar mit apt, ~~yum~~dnf, ...

- make

   - (individuelles) Bauen aus den Ports

- [FreshPorts](https://freshports.org/)

---

        1. Firewall

- IPFW - PF

   - PF ist die Weiterentwicklung von der vorherigen pf (von OpenBSD)

- IPF - …

---

        1. Jails

- Nutzung vom gleichen Kernel - ansonsten "eigenständiges" System

Verwaltung von Jails - ezjail - ~~Warden~~ - iocage~~iocell~~ - …

---

        1. bhyve

- (Free)BSD Hypervisor

   - EPT Voraussetzung
       - ab Intel ~~E5500~~E5600

- (relativ) Type-2

- Systeme als Gästin

   - *BSD
   - Illumos
   - Linux
   - (Windows)

---

      1. TrueOS

---

        1. (Exkurs) TrueOS Entstehung I
    • PC-BSD**

- 2005 (von Kris Moore) erschaffen - einfacher Betrieb (auch als Arbeitsplatz) von FreeBSD - 2006 Unterstützung durch iXsystems - 2012-07 PC-BSD mit Variante *Server* - 2012-11 Bezeichnung der Variante von PC-BSD für den Server als *TrueOS*

---

        1. (Exkurs) TrueOS Entstehung II
    • TrueOS**

- 2012-11 Bezeichnung der Variante von PC-BSD für den Server als *TrueOS* - 2016 Umstellung von PC-BSD auf TrueOS

   - weiterhin als Variante *Desktop* oder *Server* (aber theoretisch auch andere Varianten)
   - Wechsel des Zweiges von FreeBSD (von FreeBSD STABLE zu FreeBSD CURRENT)

- 2018 Umstellung zu TrueOS als "Grundsystem"

   - nun eigener Strang neben FreeBSD CURRENT
   - Grundlage für Trident (und GhostBSD)


---

        1. TrueOS ~~TrueOS~~

- rolling release (FreeBSD CURRENT) - stable vs. unstable

   - stable ist (OpenBSD like) halbjährlich
   - maßgeblich für base und sich darauf beziehende Pakete

- OpenRC

   - anstatt rc.d
   - ((von NetBSD) von Gentoo)

- mögliches "langandauerndes" Verfahren der Aktualisierung - SysAdm - iXsystems

---

      1. ~~PC-BSD~~ TrueOS

- ehemals PBI (wie bis FreeNAS 9.3) - ehemals FreeBSD STABLE

   - nun FreeBSD CURRENT

- ehemals (normales) rc.d

   - nun OpenRC

- ehemals ~~GUI~~WebUI für AppCafe & Co

   - nun SysAdm

- ehemals KDE (4)

   - nun Lumina

---

      1. [Trident](http://project-trident.org/)

- aka *Project Trident* - basiert auf TrueOS

- Betrieb als Arbeitsplatz, also mit grafischer Oberfläche

   - (wieder) klare Fokusierung, wie urspünglich einmal bei *PC-BSD*

- basierend auf (dem "Grundsystem") TrueOS

   - Selbstverständlichkeit für modernere Techniken, die (auch) beim Arbeitsplatz verwendet werden sollen

---

          1. Desktop foo mit Trident

- (PCDM) - GUI für die Verwaltung von

   - Netzwerkverbindungen
   - Dienste
   - Massenspeicher (ZFS zum Klicken)
   - Firewall
   - …
        1. Desktop foo mit SysAdm

- (remote) GUI für die Verwaltung von

   - Paketen (AppCafe)
   - Aktualisierung
   - Dienste
   - …

---

        1. Lumina

- Qt (5)

   - vergleichbar ~~LXDE~~LXQt

- eigene kleine Anwendungen

   - Dateiverwaltung (mit ZFS foo)
   - Texteditor
   - …

- nicht nur für FreeBSD (bzw. *BSD)

   - ~~systemd~~

---

        1. SysAdm

- Server

   - Administration per WebSockets oder per REST
   - (Port bzw.) Package [`sysutils/sysadm`](https://www.freshports.org/sysutils/sysadm/) für FreeBSD (2017-03-08)

- Client

   - Qt (5)
   - für eine Vielzahl von Betriebssystemen
   - zur Verwaltung von (entfernen) Maschinen (Instanzen)
   - funktioniert (eigentlich) wie alles für den Desktop (localhost)

---

        1. das neue Rad von Trident auswuchten

- verschlüsselter Massenspeicher im Programm für die Installation funktioniert nicht (w00t?)

   - Programm für die Installation von FreeBSD nutzen (ZFS mit beadm rockt!)

- ~~ntpd~~opentpd - hal für `sysrc hald_enable="YES"`

---

      1. FreeNAS

---

        1. FreeNAS

- iXsystems - FreeNAS vs. TrueNAS - übliche "Heimanwendugen" als Plugin (in Jails) - neben NAS, auch

   - Jails
   - bhyve

---

    1. (Exkurs) FreeNAS ~~10~~Corral gescheitert

- "zurückgenommen" - FreeNAS 11, basierend auf dem bisher bekannten FreeNAS, löste "das Experiment" ab. - geplant als FreeNAS 10 (basierend auf FreeBSD 10)

   - veröffentlicht mit FreeBSD 11

- Jordan Hubbard (Projektleitung) - "nicht stabil", daher nur noch "technology preview"

---

    1. (Exkurs) FreeNAS ~~10~~Corral fancy ~~shit~~foo

- "responsive" middleware (python)

   - dispatcher 
   - ~~relaunchdvater 16:52, 17. Mär. 2019 (CET)jobd~~serviced

- 9pfs (Server/Client)

   - (schnelle Anbindung von) ZFS datasets vom Host in virtuelle Instanzen mit bhyve

- docker

   - auch Plugins (für FreeNAS) via [Docker Hub](https://hub.docker.com/u/freenas/)
   - ~~Jails~~ (~~VIMAGE~~)

- ~~MontageJS~~

---

    1. die Firma iXsystems

- stellt Hardware (Server) her

   - ~~BSDi~~

- Fokus liegt "ausschließlich" auf dem Betrieb von freien Betriebssystemen - im Fokus des Engagement für freie Software liegt insbesondere FreeBSD (und einzelnen Ausprägungen) - beheimatet maßgebliche Projekte

---

        1. [GhostBSD](https://ghostbsd.org/)

- einfacher Betrieb (auch als Arbeitsplatz) von FreeBSD - Verwendung von ~~GNOME (2)~~ MATE (und auch Xfce) - Umstellung (von FreeBSD STABLE) auf TrueOS

---

        1. [CBSD](https://bsdstore.ru/)

- einfacher Betrieb (insbesondere als Host für mehrere Instanzen) von (ausschließlich standardmäßigen) FreeBSD - (Port bzw.) Package [sysutils/cbsd](https://www.freshports.org/sysutils/cbsd/) (2013-05-24) - Verwaltung für

 - Jails (Container), auch mit Verwendung von X (Server)
 - bhyve (Hypervisor)
 - (Xen (Hypervisor))

- und arg vieles mehr

          1. [ClonOS](https://clonos.tekroutine.com/)

- CBSD mit einer grafischen Oberfläche per http

---

        1. ElectroBSD

- Tor-Netzwerk - …?

---

        1. [HardenedBSD](https://hardenedbsd.org/)
  • FreeBSD mit (irgendwie) allen Funktionalitäten für Sicherheit von OpenBSD und NetBSD (ootb)
  • secadm (und secadm-kmod)

---

        1. [RaspBSD](http://raspbsd.org/)

- Platinen

   - BananaPi
   - BeagleBone Black & Green
   - Pine64
   - Raspberry Pi (B+, 2 and 3)

- …?

---

        1. Unartigkeiten
 * ~~Arch~~Pacman meets FreeBSD 
  • ~~Gentoo/*BSD~~
 * Gentoo mit allen BSD-Kerneln 
  • ~~ubuntuBSD~~

---

    1. Mythen (und Wahrheiten)

---

        1. Mythen (und Wahrheiten)
            1. I/O

eher so für Server - Architektur amd64 only

   - nope!

- suspend

   - suspend to ram
       - oft 
   - suspend to disc
       - gelegentlich 

- weniger Treiber als Linux

   - jein
   - aber für den Mainstream beim Hacking (eigentlich) nicht relvant
        1. Mythen (und Wahrheiten)
            1. II/O

- Audio?

   - (nahezu) alles = vieles 
   - OSS
       - mächtig 

- Drucken?

   - CUPS (& Co)

- Video?

   - (Naja!) Jein! (depends)

Einfach (Project) Trident (aka TrueOS) nutzen! Läuft!

        1. Mythen (und Wahrheiten)
            1. III/O

- hervorragende Dokumentation

   - Jo!
   - "Absolute FreeBSD" (3rd Edition) von Michael W Lucas erschien gerade (2019).

- ~~Heizen!~~ Bauen von passgenauen Paketen

   - Üblicher Weise werden Pakete lokal beim Installieren gebaut.
   - Kannst du halt schon so machen, aber ….
       - Kannst du halt (nahezu immer) auch pkg nutzen.
   - (professionelles) Umfeld für große Organisationen
       - poudriere

---

        1. Mythen (und Wahrheiten) X
            1. X/O

???

!!!

---

        1. übliche Projekte

- (Open)ZFS

   - Erweiterbarkeit von RAID-Z
   - ~~Verringern der Anzahl von Geräten~~ (auch von RAID-Z)
   - (native) Verschlüsslung je Dataset

- Wayland - "embedded" - …

   - …

---

    1. Welt um BSD

---

        1. "Soziales"

- BUG (BSD user group)

   - [BSDienstag](https://wiki.c3d2.de/BSDienstag)
       - erster Dienstag im Monat beim [C3D2](https://c3d2.de/)
   - …

- podcasts

   - [BSD Now](https://bsdnow.tv/)
       - wöchentlicher Video podcast
   - [bsdtalk](https://bsdtalk.blogspot.de/)
       - seltener podcast
   - … 

- [bsd.network](https://bsd.network/)

   - Mastodon
   - BSD & Co

- …

---

        1. "Professionelles"

- [code of conduct](https://www.freebsd.org/internal/code-of-conduct.html)

   - ([TrueOS Rules of Conduct](https://www.trueos.org/rulesofconduct/))

- [BSD Certification Group (bsdcg)](http://bsdcertification.org/) - [CFT](http://callfortesting.org/) - …

---

        1. Konferenzen

- "kontinentale" Ausprägung

   - …
   - EuroBSCon
   - BSDCam
   - …
   - BSDCan
   - …

- Talk "My BSD sucks less than yours"

   - FreeBSD vs. OpenBSD

---

    1. Chaos

---

        1. chaotische Infrastruktur

---

        1. Congress

- Assembly:BSD

   - (erstmals (wieder)) 33C3
       - RUN BSD
   - 36C3 is coming!
       - mit all den anderen (im Cluster "OS")
       - RUN BSD

---

    1. *BSD hacken

---

          1. bau!

- auf Fehler testen - Fehler beheben - Software portieren - Software aktualisieren/weiterentwickeln - …

---

  1. "Standard" von (GNU/)Linux

- Shebang (#!) ~~/bin/bash~~/usr/bin/env bash - …

---

        1. charmante Projekte? I

- NixBSD

   - NixOS meets (Free)BSD

- QubesBSD

   - Qubes OS meets (Free)BSD

- ZFSLuru

   - einfache Verwalten von ZFS mit GNU/Linux
   - ZFSGuru like
   - ZFS on Linux

- (SaltedBSD oder toweredBSD)

   - (Free)BSD meets (absolutely configured by) SaltStack oder Ansible

---

        1. charmante Projekte? II

- FreeHub

 - FreeNAS Corral reloaded
 - Auditieren der Kompnenten
   - Sind Koponenten zu ersetzen?
 - Auditieren der Middleware
   - Ist die Middleware (gar in einer anderen Sprache) umzuschreiben?
 - Ersetzen der Oberfläche (WUI)

- HAMMER (2) on OpenBSD

---

        1. charmante Projekte? III

- adminpit

 - (Redhat) Cockpit like
 - Cockpit meets *BSD

- ServiceBSD

 - Plugins (in Jails)
 - übliche Anwendungen für Gruppen
 - entprechende Verknüpfung der Anwendungen

- FalseOS

 - Virtualisierung und Containerisierung zum Klicken
 - Proxmox like
 - (FreeBSD) Jails | (FreeBSD) bhyve

---

  1. Q&A!

---

  1. Ende!

---