summaryrefslogtreecommitdiff
path: root/freebsd.html
blob: 3e812fab009531697ad4f29303d90c331c1fd8af (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
<!doctype html>
<html>
	<head>
		<meta charset="utf-8">
		<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">

		<title>Mal was anderes: FreeBSD</title>

		<link rel="stylesheet" href="reveal.js/dist/reset.css">
		<link rel="stylesheet" href="reveal.js/dist/reveal.css">
		<link rel="stylesheet" href="reveal.js/dist/theme/black.css">

		<!-- Theme used for syntax highlighted code -->
		<link rel="stylesheet" href="reveal.js/plugin/highlight/monokai.css">
	</head>
	<body>
		<div class="reveal">
			<div class="slides">
        <section data-markdown data-separator="^\n\n\n" data-separator-vertical="^\n\n" data-separator-notes="^Note:">
# 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/
</dl>
        </section>
			</div>
		</div>

		<script src="reveal.js/dist/reveal.js"></script>
		<script src="reveal.js/plugin/notes/notes.js"></script>
		<script src="reveal.js/plugin/markdown/markdown.js"></script>
		<script src="reveal.js/plugin/highlight/highlight.js"></script>
		<script>
			// More info about initialization & config:
			// - https://revealjs.com/initialization/
			// - https://revealjs.com/config/
			Reveal.initialize({
				hash: true,

				// Learn about plugins: https://revealjs.com/plugins/
				plugins: [ RevealMarkdown, RevealHighlight, RevealNotes ]
			});
		</script>
	</body>
</html>