OpenBSD 6.5 (stable) Setup auf einem PC oder Notebook

Stand: 15.08.2019 Seit kurzem verwende ich OpenBSD auch auf mehreren PCs und Notebooks. Obwohl andere BSD-Varianten beliebter sind, finde ich dass OpenBSD das schnellste und einfachste out-of-the-box Erlebnis inklusive grafischer Oberfläche bietet.

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

~/.profile

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

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

/etc/sysctl.conf

# 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

/etc/fstab

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.

Update 15.08.2019: Seit dem 14.08.2019 bietet OpenBSD auch Sicherheitupdates für den -STABLE-Zweig an, siehe 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),

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

Änderungen: