Diskussion:BSD/Vorstellung

Aus C3D2
Zur Navigation springen Zur Suche springen

HackMD slides

---

title: (Free)BSD mit all den Abarten
description: Vortrag (Free)BSD mit all den Abarten zur Veranstaltung Datenspuren 2017 mit anschließendem Teil für Fragen und Antworten
tags: BSD, deutschsprachig 
langs: de-de
slideOptions:
  transition: fade
  theme: white

---

# (Free)BSD
## mit all den
# Abarten

---

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

vater@c3d2.de       
vater@bsd.services

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

vater@jabber.c3d2.de
vater@jabber.ccc.de  

---

## "Vortrag"

---

#### "Vortrag"
##### Niveau vom Inhalt & Zielgruppe

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

---

#### "Vortrag"
##### Durchführung & Vollständigkeit

- 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 besteht der Anspruch nach (inhaltliche) Vollständigkeit.
  - Inhaltliche Vollständigkeit kann aber (leider) nicht garantiert werden.

---

<!-- --.slide: --data-background="https://scontent-lhr3-1.cdninstagram.com/t51.2885-15/e35/20184192_100616983955855_5737137277281239040_n.jpg" --data-background-repeat="repeat" --data-background-position="right" -- -->

#### "Vortrag"
##### Eris & Co

- Alles ist lieb gemeint. Möge sich bitte kein Mensch angegriffen fühlen. (Vielleicht wird unabsichtlich legerem Sprech verwendet.)
- Alle sollten GNU/Linux mögen.
  - Debian ist awesome!
  - Nix(OS) ist funktional!
  - …
- *nix im Chaos
  - Respekt! Toleranz! Koexistenz! Liebe! usw.
- (Es wird das generisches Femininum verwendet.)

---

#### Motivation

Werbung!

- Monokultur Linux (ThinkPad/Linux/Arch | Debian ~~| Ubuntu~~ / …) entgegenwirken!
  - Diversität (insbesondere auch in Hackspaces)!
  - Ausfallsicherheit!
    - insbesondere technisch
    - (aber auch) kulturell
- Unterstellte (relative) Unbekanntheit überwinden!
  - *BSD macht einiges (anders) richtig (oder falscher)!
- Mögliche Mythen ausräumen (oder schaffen)!

---

## BSD

---

#### BSD

- Berkeley Software Distribution
- UNIX
  - nicht GNU (GNU's Not Unix!)
- (grundsätzlich) technisch kompatibel mit *nix
- BSD-Lizenz
  - MIT & Co

---

#### *BSD
##### Arten

Die grundsätzlichen vier Ausprägungen:
- NetBSD
 

  - OpenBSD
 

- FreeBSD
 

   - Dragonfly BSD
 
                                  

---

#### *BSD
##### Schlagworte

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

  - OpenBSD
Sicherheit

- FreeBSD
Funktionalität

   - Dragonfly BSD
Leistungseffizienz
                                  

---

## NetBSD

---

#### NetBSD
Ergänzungen notwendig!

- Version 7.1
  - 2017-03-11

- bekannt für
  - unglaubliche Liste an Architekturen
    - Ja, auch Toaster!
  - pkgsrc

---

#### NetBSD

- EdgeBSD
- DeforaOS

---

## FreeBSD

---

#### FreeBSD

- Version 11.1
  - 2017-07-26

- bekannt für
  - ZFS (seit Jahren)
  - Jails

- Verbreitetsten (Verwendetsten)

---

## OpenBSD

---

#### OpenBSD

- Version 6.2
  - 2017-11-03

- bekannt durch
  - ("Projekte")
    - OpenSSH
    - LibreSSL
    - (OpenBGPD)
    - (OpenNTPD)

- Theo de Raadt

---

#### OpenBSD

- halbjährlich Veröffentlichung einer neuen Version
  - (fast) keine Aktualisierung innerhalb einer Version
  - Aktualisierung der Version (nun) normal (einfach)

- UFS (only)

---

#### OpenBSD

- "wahre" Firewall pf

- Virtualisierung mit vmm (WTF!)

- erstes *BSD, das GNOME3 portierte (WTF!)

- "Einfachheit" httpd

---

#### OpenBSD

- Bitrig
- LibertyBSD
- SoloBSD
  - OpenBSD(/HardendBSD)
- (~~MirBSD~~)MirOS
- securityrouter.org

---

## Dragonfly BSD

---

#### Dragonfly BSD
- Version 5.0.0
- 2017-10-15

- Fork von FreeBSD (4.8 (2003-06-16))
- motiviert durch einen "übermäßigen" Anspruch zur Effizienz (Performence)
- Hybrid-Kernel (kein monolitischer Kernel, wie FreeBSD oder Linux)
- Dateisystem HAMMER (2)

---

#### Dragonfly BSD

- kleinste Gruppe an Entwicklerinnen
- beständig am führensten bei der Portierung von Funktionaliäten vom Linux-Kernel, etwa zu Grafik

- Matthew Dillon (Matt)

---

#### Abartigkeiten und ähnliche Anmutungen

---

#### (Exkurs) Abartigkeiten FreeBSD

- macOS
  - Darwin
- Orbis OS (PlayStation)
- …

---

#### (Exkurs) illumos

- Nachfolge von OpenSolaris
- ~~(klassisches) *BSD~~
- UNIX

- (Solaris) Zones
- Crossbow
- …

- OpenIndiana
- SmartOS

---

#### (Exkurs) illumos (SmartOS)

- "SmartOS rockt!" Datenspuren 2016 (Daniel Plominski)
- Bryan Cantrill
  - DTrace
- Joyent

- ZFS
- KVM

- Project FiFo
  - (seit 2017-10) auch für FreeBSD 

---

# FreeBSD
## und seine
# Arten

---

#### FreeBSD
##### Prägung

- vanilla

- (NanoBSD)

- STABLE (11)
- CURRENT (12)
- ~~(legacy)~~
  - Versionen für "LTS" aka "Extended" (10.3)
  - ansonsten 3 Monate zum Aktualisieren

---

#### FreeBSD
##### Ausprägungen I

Desktop & Co
- TrueOS (~~PC-BSD~~)
- GhostBSD
- ~~DesktopBSD~~

NAS & Co
- FreeNAS
- NAS4Free
- (ZFSguru)

---

#### FreeBSD
##### Ausprägungen II

Weiterentwicklungen & Co
- HardendBSD
- ~~NextBSD~~

Router & Co
- BSDRP

Firewall & Co
- pfSense
  - OPNsense

---

#### FreeBSD
##### Ausprägungen III

- CBSD
  - Verwaltung von Instanzen
  - `pkg install cbsd`
  - ClonBSD
- ElectroBSD
  - Betrieb vom Tor-Netzwerk
- RaspBSD
  - (viele verschiende) Einplatinencomputer

---

#### FreeBSD
##### Ausprägungen IV

- TrustedBSD
  - TrustedBSD mit OpenBSM 
- MidnightBSD
  - Desktop
- SoloBSD
  - (OpenBSD/)HardendBSD 

---

#### nennenswerte (übliche) Funktionalitäten von FreeBSD

- ZFS
  - snapshots & all the cow foo
  - boot environments
    - getrennt vom home-Verzeichnis
- Jails
- bhyve
- …

---

#### Projekt FreeBSD

- (Mail-Verteiler)
- sehr nette Art
- Wahl Core Team
- Mentoring
- FreeBSD Foundation
- Projekte
  - TeachBSD
  - …

---

#### (bedenkliche) Grundannahmen von FreeBSD

Üblicher Weise soll FreeBSD zum Betreiben von Diensten genutzt werden. Anpassungen - über eine "unheimliche" Umgebung sind entsprechend der Gegegebenheit ohnehin passend vorzunehmen. (Daher sind nur "für alle Fälle"  der Standard nicht besonders )

---

#### Pakete (aka Ports)

- pkg
  - "normale" Paketverwaltung
    - grob vergleichbar mit apt
- make
  - (indivudulles) Bauen aus den Ports

- FreshPorts

---

#### Firewall

- ipfw
- pf ist die Weiterentwicklung von der vorherigen pf (von OpenBSD)
- …

---

#### Jails

- gleicher Kernel wird genutzt
- ansonsten "eigenständiges" System

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

---

#### bhyve

- (Free)BSD Hypervisor
  - EPT Voraussetzung
    - ab Intel ~~E5500~~E5600
- (relativ) Type-2

- Systeme als Gästin
  - *BSD
  - illumos
  - Linux
  - (Windows)

---

### 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
  - Gentoo
- update-Verfahren
- SysAdm

---

### ~~PC-BSD~~TrueOS

- ehemals PBI (wie FreeNAS 9.3)
- ehemals FreeBSD STABLE
  - nun FreeBSD CURRENT
- nun OpenRC
- ehemals WebUI für AppCafe & Co
  - nun SysAdm
- ehemals KDE (4)
  - nun Lumina

---

##### Desktop foo mit TrueOS

- (PCDM)
- GUI für die Verwaltung von
  - Netzwerkverbindungen
  - Massenspeicher (ZFS zum Klicken)
  - …

#### Desktop foo mit SysAdm

- (remote) GUI für die Verwaltung von
  - Paketen (AppCafe)
  - Aktualisierung
  - Dienste
  - …

---

#### Lumina

- Qt (5)
  - vergleichbar ~~LXDE~~LXQt
- eigene kleine Anwendungen
  - Dateiverwaltung (mit ZFS foo)
  - Texteditor
  - …
- nicht nur für FreeBSD (bzw. *BSD)

---

#### SysAdm

- Client
  - Qt (5)
  - für eine Vielzahl von Betriebssystemen
  - zur Verwaltung von (entfernen) Maschinen (Instanzen)

---

## FreeNAS

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

---

## (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 mir FreeBSD 11
- Jordan Hubbard (Projektleitung)
- "nicht stabil", daher nur noch "technology preview"

---

## (Exkurs) FreeNAS ~~10~~Corral fancy ~~shit~~foo

- "responsive" middleware (python)
    - dispatcher 
    - ~~relaunchd~~~~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~~

---

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

---

#### GhostBSD

---

#### CBSD

##### ClonBSD

---

#### ElectroBSD

- Tor-Netzwerk

---

#### HardenedBSD

---

#### RaspBSD

---

#### Unartigkeiten

* ~~Debian GNU/kFreeBSD~~
* PacBSD
  * ~~Arch~~Pacman meets FreeBSD 
* ~~Gentoo/*BSD~~
  * Gentoo mit allen BSD-Kerneln 

---

#### Mythen (und Wahrheiten) I

eher so für Server
- Architektur amd64 only
  - nope!
- suspend 
  - suspend to ram
    - oft 
  - suspend to disc
    - gelegentlich 
- weniger Treiber als Linux
  - ja
    - aber für den Mainstream beim Hacking eigentlich nicht

#### Mythen (und Wahrheiten) II

- Audio?
  - (nahezu) alles = vieles 
  - OSS
    - mächtig 
- Drucken?
  - CUPS (& Co)
- Video?
  - (Naja!) Jein! (depends)

#### Mythen (und Wahrheiten) III

- hervorragende Dokumentation
  - Jo!
  - ("Absolute FreeBSD" (3rd Edition) von Michael W Lucas kommt bald.)

- Heizen!
  - üblicher Weise werden Pakete lokal beim Installieren gebaut
  - kannst du halt schon so machen, aber ...
  - (professionelles) Umfeld für große Organisationen

---

## Mythen (und Wahrheiten) X

---

#### übliche Projekte

- Wayland
- Netzwerk foo
  - VIMAGE
- …
  - …

---

#### Welt um BSD

- BUG (BSD user group)
  - BSDienstag
    - erster Dienstag im Monat beim C3D2 
- podcasts
  - BSD Now
    - wöchentlicher Video podcast
  - bsdtalk
    - seltener podcast 
- BSD Certification Group
- CFT
  - http://callfortesting.org/
- …

---

#### Konferenzen

- "kontinentale" Ausprägung
  - EuroBSCon
  - BSDCam
- Talk "My BSD sucks less than yours"
  - FreeBSD vs. OpenBSD

---

## Chaos

---

#### Congress

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

---

#### *BSD hacken

##### bau!

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

---

#### 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)
  - (Free)BSD meets (absolutely configured by) SaltStack

---

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

---

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

---