Diskussion:BSD/Vorstellung: Unterschied zwischen den Versionen

Aus C3D2
Zur Navigation springen Zur Suche springen
KKeine Bearbeitungszusammenfassung
(Neuer Abschnitt →‎Verbesserung)
 
Zeile 890: Zeile 890:
-->
-->
</pre>
</pre>
== Verbesserung ==
Ein *BSD besteht nicht nur als dem jeweiligen Kernel, sondern bietet auch ein passendes (standardmäßiges) Userland.

Aktuelle Version vom 13. Juni 2019, 21:51 Uhr

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, C3D2, vater, 
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#

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

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

<small>
vater@jabber.c3d2.de</br>
vater@jabber.ccc.de  
</small>
    
![](https://www.freebsd.org/gifs/doc.jpg)

<!-- (https://hackmd.c3d2.de/uploads/upload_25912dfeef8441bf3737c53d5a7ec28f.jpg) -->


---

## "Vortrag"

---

#### "Vortrag"
##### 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.~~
  - Leider ist der Anspruch nach (inhaltliche) Vollständigkeitgegenwärtig noch nicht erfüllt.
  - Inhaltliche Vollständigkeit kann aber (leider) nicht garantiert werden.

---

#### "Vortrag"
##### 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 das generisches Femininum verwendet.)

---

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

---

#### "Vortrag"
##### Hail Eris!

- 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
  - Solidarität, Respekt & Konsens!
  - Toleranz! Koexistenz! …
  - liebe. freiheit. alles.

---

#### 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](https://www.gnu.org/gnu/linux-and-gnu.html) ([GNU's Not Unix](https://www.gnu.org/gnu/gnu-history.en.html))
- (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

---

#### *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](https://netbsd.org/)

---

#### NetBSD
Ergänzungen notwendig!

- Version 7.1
  - 2017-03-11

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

- [The NetBSD Foundation, Inc.](https://netbsd.org/foundation/)
- Core Team

- Theo de Raadt

---

#### NetBSD

- kann (auch) ZFS
 
- rump kernel(http://rumpkernel.org/)
  - Kernelmodule (identischer Code) koennen im Userland betrieben werden
    - USB, FS, Netzwerk (Treiber)
- reproduzierbare Builds
- Xen

---

#### NetBSD

- [EdgeBSD](https://www.edgebsd.org/)
- [DeforaOS](https://www.defora.org/)

---

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

---

#### FreeBSD

- Version 11.1
  - 2017-07-26

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

- Verbreitetsten (Verwendetsten)

---

## [OpenBSD](https://openbsd.org/)

---

#### OpenBSD

- Version 6.2
  - 2017-11-03

- bekannt durch
  - ("Projekte")
    - [OpenSSH](https://openssh.com/)
    - [LibreSSL](https://libressl.org/)
    - (OpenBGPD)
    - (OpenNTPD)
    - […](https://www.openbsd.org/innovations.html)

- 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](https://bitrig.org/)~~
  - OpenBSD(/NetBSD)
- [LibertyBSD](http://libertybsd.net/)
- [SoloBSD](https://solobsd.blogspot.de/)
  - OpenBSD(/HardendBSD)
- [(~~MirBSD~~)MirOS](https://mirbsd.org/)
- [securityrouter.org](http://securityrouter.org/)

---

## [Dragonfly BSD](https://www.dragonflybsd.org/)

---

#### 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](https://illumos.org/)

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

- (Solaris) Zones
- Crossbow
- …

- [OpenIndiana](https://openindiana.org/)
- [SmartOS](https://www.joyent.com/smartos)

---

#### (Exkurs) illumos ([SmartOS](https://www.joyent.com/smartos)) I

- "SmartOS rockt!" <small>Datenspuren 2016 (Daniel Plominski)</small>

- Firma [Joyent](https://joyent.com/) ([Samsung](https://news.samsung.com/us/samsung-acquire-joyent-leading-public-private-cloud-provider/))

- DTrace
- ZFS
- KVM

- Hypervisor (only)

- [Bryan Cantrill](http://dtrace.org/blogs/bmc/)

---

#### (Exkurs) illumos ([SmartOS](https://www.joyent.com/smartos)) II

- Lösung für "Rechenzentren" (bzw. eigene (richtige) Cloud)

- Instanzen via
  - Virtualisierung
  - Containerisierung
  - …

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

---

# FreeBSD
## und seine
# Arten

---

## Prägung und Ausprägungen von FreeBSD

---

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

---

## Üblichkeiten vom FreeBSD

---

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

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

---

#### Projekt FreeBSD

- sehr nette Art
- Wahl Core Team
- Mentoring
- (Mail-Verteiler)
- 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 und damit der nicht besonders angemessen angepasst.)

---

#### Pakete (aka Ports)

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

- FreshPorts

---

#### Firewall

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

---

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

* eigentlich für den Desktop(/Laptop)
* aber eben auch für Server

* Pico (Server/Client)

* alle üblichen Arbeitsplatzumgebungen und Fensterverwaltungen

---

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

---

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

---

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

- Server
  - Administration per WebSockets oder per REST
- Client
  - Qt (5)
  - für eine Vielzahl von Betriebssystemen
  - zur Verwaltung von (entfernen) Maschinen (Instanzen)
  - funktioniert (eigentlich) wie alles für den Desktop (localhost)

---

### FreeNAS

---

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

---

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

#### Mythen (und Wahrheiten) II

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

Einfach TrueOS nutzen! LäufT!

#### 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 ...
    - kannst du halt (nahezu immer) auch pkg nutzen 
  - (professionelles) Umfeld für große Organisationen
    - poudriere

---

#### Mythen (und Wahrheiten) X

???

!!!

---

#### übliche Projekte

- (Open)ZFS
- Wayland
- Netzwerk foo
  - VIMAGE
- …
  - …

---

## Welt um BSD

---

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

---

#### "Professionelles"

- [code of conduct](https://www.freebsd.org/internal/code-of-conduct.html)
- [BSD Certification Group (bsdcg)](http://bsdcertification.org/)
- [CFT](http://callfortesting.org/)
- …

---

#### Konferenzen

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

---

## Chaos

---

#### chaotische Infrastruktur

---

#### Congress

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

---

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

---

# Q&A!

---

# Ende!

---

<!-- 
----.slide:
data-background="http://img11.deviantart.net/dace/i/2009/146/8/9/bsd_tan_group_shot_by_deviantos_tans.png" data-background-size="600px"
-->
<!--
.slide:
data-background="https://img00.deviantart.net/7a6a/i/2009/143/1/e/bsd_group_picture___final_by_c_quel.png" data-background-size="900px"
-->

Verbesserung

Ein *BSD besteht nicht nur als dem jeweiligen Kernel, sondern bietet auch ein passendes (standardmäßiges) Userland.