-- Leo's gemini proxy

-- Connecting to senioradmin.de:1965...

-- Connected

-- Sending request

-- Meta line: 20 text/gemini


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:


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:


`top` aufrufen, nachsehen wie viel CPUs angezeigt werden

mit `sysctl hw.smt=1` Hyperthreading anschalten

Erneut `top` aufrufen. Werden nun doppelt so viele CPUs angezeigt handelt es sich um "echtes" Hyperthreading und es wird einen Performancegweinn geben (z.B. lädt Firefox nach meinen Messungen ca. 20% schneller)


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


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:


04.07.2019: Anmerkungen zum Abstellen der Dienste hinzugefügt (Danke an

@dah

)

04.07.2019: Anmerkungen zu Hypterthreading ergänzt

05.07.2019 Link zum Port von msmtp geändert. Danke an

@solene

für ihre neue OpenBSD Ports Webseite

https://ports.perso.pw/

14.07.2019: Anmerkung zum Tastaturlayout, Danke an

@reyk

15.08.2019: Änderungen zu den Updates, da OpenBSD nun auch -STABLE updates binärer Pakete bereit stellt

-- Response ended

-- Page fetched on Fri May 3 00:08:26 2024