OpenBSD 6.5 (stable) Setup auf einem PC oder Notebook

Die Installation des Betriebssystems ist recht einfach und schnell gemacht und soll hier auch nicht weiter besprochen werden. Einfach alles nach den Standardvorgaben installieren und fertig.

Nach der Installation sollten jedoch einige Anpassungen vorgenommen werden. Ich dokumentiere hier komprimiert meine Einstellungen, die ich als sinnvoll erachte. Diese sind ausgerichtet auf Benutzung des Systems als Desktop, also als System, welches nur temporär läuft und ausschließlich lokale Benutzer hat. Viele der Einstellungen stammen von

https://www.c0ffee.net/blog/openbsd-on-a-laptop/

Der Artikel wird ständig aktualisiert

doas einrichten

doas ist ein leichtgewichtiger sudo-Ersatz, der unter OpenBSD zum Einsatz kommt

echo 'permit persist keepenv USERNAME' > /etc/doas.conf

Notebooks: Powermanagement einrichten

rcctl enable apmd
rcctl set apmd flags -A
rcctl start apmd

Einrichtung Unicode und Befehls-Historie

# Befehlshistorie sichern
HISTFILE=~/.ksh_history

#Bash-ähnlicher Prompt:
export PS1='\u@\h:\w$ '

# Unicode
export LC_CTYPE="en_US.UTF-8"

Xenocara (Xorg) Einstellungen

Nerviges xconsole Fenter abstellen

sed -i 's/xconsole/#xconsole/' /etc/X11/xenodm/Xsetup_0
echo 'xset b off' >> /etc/X11/xenodm/Xsetup_0

Window-Manager Einstellungen **~/.xsession**

# Unicode
export LC_CTYPE="en_US.UTF-8"

# specify location of kshrc
export ENV=$HOME/.kshrc

# load Xresources file
xrdb -merge $HOME/.Xresources

# set your background color
xsetroot -solid dimgray

# xidle will lock your display after a period of inactivity
xidle &

# deutsche Tastatur
# Ist unnötig, wenn das Tastaturlayout in /etc/kbdtype festgelegt ist
setxkbmap de

# starte Windowmanager, cwm mit dem Windowmanager deiner Wahl ersetzen
exec cwm

Dienste deaktivieren

Es gibt ein paar Dienste, die nicht unbedingt auf einer Workstation oder einem Notebook laufen müssen:

smtpd(8)

ist ein Dienst zum empfangen von Mails (so genannter MTA). Die wenigsten dürften ihren eigenen Mailserver auf dem Desktop betrieben. Allerdings werden auch diverse Systemmeldungen, u.a. von Cron und syspatch, über smtpd an das lokale Postfach verschickt. Kann man auf diese Mails verzichten (z. B. weil man sie eh nicht liest) und denkt daran, das System regelmäßig zu patchen kann das Mailsystem m.E. abgestellt werden. Alternativ kann auch ein leichtgewichtiger smtp-Client wie

msmtp

installiert werden (nicht getestet).

slaacd(8)

ist ein Dienst, der aus Router-Advertisements IPv6-Adressen und Routen erstellt. Benötigt man kein IPv6 kann der Dienst abgestellt werden. Manchmal wird IPv6 benötigt, ohne dass man es weiß (ggf. für LL-Multicast). Allerdings ist IPv6 in OpenBSD sowieso standardmäßig abgestellt.

sshd(8)

ist ein Dienst welches einloggen auf dem Rechner aus der Ferne über einen verschlüsselten Kanal ermöglicht. Arbeitet man immer direkt (lokal) am Rechner, und möchte man nicht aus der Ferne auf ihn zugreifen, benötigt man den Dienst nicht.

# SMTP (Mail) Server
rcctl stop smtpd
rcctl disable smtpd

# IPv6 brauch ich derzeit nicht
rcctl stop slaacd
rcctl disable slaacd

# SSH-Dienst auf einem PC/Notebook muss nicht sein
rcctl stop sshd
rcctl disable sshd

Performance Einstellungen

Jeder Benutzer wird unter OpenBSD einer bestimmten Login-Klasse zugeteilt. Diese Klasse bestimmt darüber, wie viel Ressourcen benutzt werden können. Am wenigsten Rechte hat die *default* Klasse. Mehr Rechte hatt die *staff*-Klasse. Als Hauptbenutzer sollte man sich in die *staff* Klasse einordnen

usermod -G staff USERNAME
usermod -L staff USERNAME

Anschließend sollten die Rechte des *staff* Klasse noch erweitert werden **/etc/login.conf**

staff:\
        :datasize-cur=1536M:\
        :datasize-max=infinity:\
        :maxproc-max=1024:\
        :maxproc-cur=512:\
        :openfiles-cur=4096:\
        :openfiles-max=8192:\
        :ignorenologin:\
        :requirehome@:\
        :tc=default:

sysctl

erlaubt es bestimmte Kerneleinstellungen zu setzen. Wir schalten hier Hyperthreading ein, was standardmäßig aus Sicherheitsgründen bei OpenBSD abgestellt ist. Nach meiner Erfahrung bringt dies einen Performance-Gewinn, sofern die CPU Hyperthreading wirklich unterstützt. Überprüfen kann man dies wie folgt:

Man sollte sich aber klar sein, dass man damit einen Sicherheitsmechanismus abstellt.

# Hyperthreading einschalten, siehe oben
hw.smt=1


# Hinweis: Folgende Settings werden von Cullum Smith im o. g. Blog 
# empfohlen (ausgerichtet auf eine Maschine mit 16 GB RAM)
# Einige OpenBSD-Nutzer meinen jedoch, sie bringen nichts,
# daher hier auskommentiert. YMMV

# shared memory limits (chrome needs a ton)
#kern.shminfo.shmall=3145728
#kern.shminfo.shmmax=2147483647
#kern.shminfo.shmmni=1024

# semaphores
#kern.shminfo.shmseg=1024
#kern.seminfo.semmns=4096
#kern.seminfo.semmni=1024

#kern.maxproc=32768
#kern.maxfiles=65535
#kern.bufcachepercent=90
#kern.maxvnodes=262144
#kern.somaxconn=2048

Um die Performance der Festplatte zu erhöhen sollte man die Mount-Optionen anpassen und jeweils *softdep,noatime* hinzufügen

0364c44477d30004.b none swap sw
0364c44477d30004.a / ffs rw,softdep,noatime 1 1
0364c44477d30004.l /home ffs rw,softdep,noatime,nodev,nosuid 1 2

Updates

Das OpenBSD-Basissystem von -STABLE kann mit dem Befehl `syspatch` aktualisiert werden

~~Für Binärpakete aus den Ports von -STABLE bietet OpenBSD keine Updates an. Möchte man aktuelle Sicherheitsfixes, was dringend zu empfehlen ist, müsste man sich die entsprechenden Pakete aus den Ports selbst bauen.~~

https://marc.info/?l=openbsd-announce&m=156577865917831&w=2

Um in den Genuss dieser Updates zu kommen muss man nichts weiter tun, als `pkg_add -u` auszuführen (sofern der Standard mit ungesetztem PKG_PATH beibehalten wurde).

Nachfolgend zu Dokumentationszwecken einige inoffizielle Repos, die ebenfalls aktuelle Updates bereit halten (oder hielten). Teilweise können diese Pakete anbieten, die nicht in den offiziellen -STABLE updates enthalten sind),

https://stable.mtier.org/updates/

(ehem. stable Repo von M:Tier)

https://packages.rhaalovely.net/

(Updates zu Mozilla Software)

https://obsd.compudus.de/

(stable Updates zu Mozilla-Software und webkitgtk4 vom Autor dieser Zeilen)

Bei Nutzung dieser Repos muss der entsprechende Signify Key runter geladen und nach `/etc/signify` kopiert werden.

Änderungen:

@dah

)

@solene

für ihre neue OpenBSD Ports Webseite

https://ports.perso.pw/

@reyk