OpenBSD trennt Base-System und Packages komplett. Das Base-System liegt in /usr/bin und /usr/sbin, installierte Packages unter /usr/local. Diese Trennung ist ein Kernprinzip von OpenBSDs Stabilitäts- und Sicherheitsmodell. Software wird über binäre Pakete installiert – kompiliert, signiert und geprüft durch das OpenBSD-Team. Jedes Paket trägt eine kryptografische Signatur via signify(1).
Systemkonfiguration erklärt die grundlegende Einrichtung nach der Installation. Dieser Artikel zeigt Software-Installation, Updates und Anpassungen. Die Paketverwaltung ist bewusst einfach gehalten – drei Tools für alle Aufgaben: pkg_add, pkg_delete, pkg_info.
Base-System und Packages
Die Trennung zwischen Base-System und Packages ist fundamental. Das Base-System enthält nur Kern-Komponenten – Kernel, Shell, grundlegende Tools, C-Compiler, X11. Keine Distribution-spezifischen Anpassungen oder optionale Software.
Software außerhalb des Base-Systems wird als Package installiert:
/usr/bin/vi # Base-System Editor (enthalten)
/usr/local/bin/vim # Package vim (nach Installation)
/usr/sbin/httpd # Base-System HTTP-Server (enthalten)
/usr/local/sbin/nginx # Package nginx (nach Installation)
Packages installieren sich ausschließlich nach /usr/local. Diese Trennung verhindert Konflikte zwischen System-Tools und installierter Software. Das Base-System bleibt unberührt von Package-Installationen.
Die Update-Strategie spiegelt diese Trennung:
- sysupgrade aktualisiert das Base-System
- pkg_add -u aktualisiert installierte Packages
- Kein Vermischen beider Systeme
base*.tgz, comp*.tgz, man*.tgz, game*.tgz bilden das Base-System. Packages installieren sich später via pkg_add.
pkg_add - Software installieren
Das Tool pkg_add installiert Software aus OpenBSD-Repositories. Die Installation lädt Pakete, prüft Signaturen und installiert Dependencies automatisch.
Einfache Installation
Ein Package installieren:
$ doas pkg_add nginx
quirks-7.147 signed on 2025-12-11T14:27:27Z
nginx-1.28.0p1:bzip2-1.0.8p0: ok
nginx-1.28.0p1:pcre2-10.44: ok
nginx-1.28.0p1: ok
The following new rcscripts were installed: /etc/rc.d/nginx
See rcctl(8) for details.
Die erste Zeile nennt das quirks-Package – enthält Metadaten zu Package-Abhängigkeiten und Kompatibilität. Wird automatisch aktualisiert bei jeder Installation. Dependencies wie bzip2 und pcre2 werden automatisch mitinstalliert. Die Meldung über rcscripts zeigt, dass nginx als Service verfügbar ist (Details im geplanten Artikel Dienste und Daemons).
Package mit Rückfragen:
$ doas pkg_add vim
quirks-7.147 signed on 2025-12-11T14:27:27Z
Ambiguous: choose package for vim
a 0: <None>
1: vim-9.1.1706-gtk3
2: vim-9.1.1706-gtk3-lua
3: vim-9.1.1706-gtk3-perl-python3-ruby
4: vim-9.1.1706-gtk3-python3
5: vim-9.1.1706-no_x11-lua
6: vim-9.1.1706-no_x11
7: vim-9.1.1706-no_x11-perl-python3-ruby
8: vim-9.1.1706-no_x11-python3
9: vim-9.1.1706-no_x11-ruby
Your choice: 6
vim-9.1.1706-no_x11:libiconv-1.17: ok
vim-9.1.1706-no_x11:gettext-runtime-0.23.1: ok
vim-9.1.1706-no_x11:libsodium-1.0.20: ok
vim-9.1.1706-no_x11: ok
Mehrere Varianten existieren – mit verschiedenen Feature-Sets (GTK3-GUI, Lua, Python3, Ruby) oder ohne X11 für Server. Die Auswahl erfolgt interaktiv oder via explizitem Package-Namen:
$ doas pkg_add vim-9.1.1706-no_x11
Paket-Suche
Verfügbare Packages durchsuchen:
$ pkg_info -Q python
python-3.12.11
python-tests-3.12.11
python-idle-3.12.11
python-tkinter-3.12.11
python-gdbm-3.12.11
Der Parameter -Q durchsucht Package-Namen. Teilstring-Suche funktioniert – py, python, python3 finden entsprechende Pakete.
Detaillierte Paket-Informationen:
$ pkg_info -Q nginx
nginx-1.28.0p1 (installed)
nginx-cache_purge-1.28.0p1
nginx-headers-more-1.28.0p1
nginx-stream-1.28.0p1
[... weitere Module-Varianten ...]
Der Zusatz “(installed)” kennzeichnet bereits installierte Packages. Detaillierte Informationen zu einem Package:
$ pkg_info nginx-1.28.0p1
Information for inst:nginx-1.28.0p1
Comment:
robust and small HTTP server and mail proxy server
Description:
This is the stable branch of nginx, as distributed by nginx.org.
nginx provides FastCGI and reverse HTTP proxying, with or without caching,
including simple load balancing and fault tolerance.
Maintainer: Robert Nagy <robert@openbsd.org>
WWW: https://nginx.org/
Die Ausgabe nennt Zweck, Features und Maintainer. Nützlich bei unbekannten Paketen oder mehreren ähnlichen Tools.
Dependencies automatisch installieren
Package-Manager löst Abhängigkeiten automatisch:
$ doas pkg_add mariadb-server
quirks-7.147 signed on 2025-12-11T14:27:27Z
mariadb-server-11.4.9v1:lzo2-2.10p2: ok
mariadb-server-11.4.9v1:snappy-1.1.10p2: ok
mariadb-server-11.4.9v1:mariadb-client-11.4.9v1: ok
mariadb-server-11.4.9v1:p5-DBI-1.644: ok
mariadb-server-11.4.9v1:p5-DBD-MariaDB-1.23: ok
mariadb-server-11.4.9v1:curl-8.16.0: ok
mariadb-server-11.4.9v1:coreutils-9.7: ok
[... weitere Dependencies ...]
mariadb-server-11.4.9v1: ok
Running tags: ok
The following new rcscripts were installed: /etc/rc.d/mysqld
See rcctl(8) for details.
Client-Package, Kompressions-Bibliotheken (lzo2, snappy), Perl-Module (DBI, DBD-MariaDB) und weitere Tools (curl, coreutils) werden automatisch installiert. Die Dependencies sind notwendig für Server-Betrieb.
Installierte Dependencies lassen sich später nicht einzeln entfernen ohne das Haupt-Package zu deinstallieren. pkg_delete prüft Abhängigkeiten vor der Entfernung.
Mehrere Packages gleichzeitig
Liste installieren:
$ doas pkg_add git htop rsync curl
quirks-7.147 signed on 2025-12-11T14:27:27Z
git-2.51.0:p5-Error-0.17029: ok
git-2.51.0:p5-Mail-Tools-2.21p0: ok
[... weitere Dependencies ...]
git-2.51.0: ok
htop-3.4.1:libffi-3.5.2: ok
htop-3.4.1:python-3.12.11: ok
[... weitere Dependencies ...]
htop-3.4.1: ok
Ambiguous: choose package for rsync
a 0: <None>
1: rsync-3.4.1
2: rsync-3.4.1-minimal
Your choice: 2
rsync-3.4.1-minimal: ok
Bereits installierte Pakete (hier curl von mariadb-server) werden übersprungen. Bei Paketen mit mehreren Varianten erfolgt interaktive Auswahl. Bei Fehlern (fehlende Pakete, Netzwerkprobleme) wird die Installation abgebrochen.
doas für Rechteverwaltung. Reguläre Benutzer können Pakete nur installieren mit entsprechender doas.conf-Regel.
Repository-Struktur
OpenBSD nutzt offizielle Mirrors für Package-Distribution. Die Mirror-URL wird automatisch aus /etc/installurl gelesen:
$ cat /etc/installurl
https://cdn.openbsd.org/pub/OpenBSD
Diese Datei wird bei der Installation erstellt – basierend auf geografischer Nähe. Manuelle Anpassung ist möglich falls ein schnellerer Mirror bekannt ist.
Mirror-Liste
Offizielle Mirrors sind auf der OpenBSD-Website dokumentiert: https://www.openbsd.org/ftp.html ↗
Deutsche Mirrors (Auswahl):
https://ftp.spline.de/pub/OpenBSD/ # Berlin
https://mirror.hs-esslingen.de/pub/OpenBSD/ # Esslingen
https://ftp.halifax.rwth-aachen.de/pub/OpenBSD/ # Aachen
https://artfiles.org/openbsd/ # Hamburg
https://ftp.hostserver.de/pub/OpenBSD/ # Frankfurt
https://ftp.fau.de/pub/OpenBSD/ # Erlangen
https://mirror.junda.nl/pub/OpenBSD/ # Falkenstein
Mirror ändern:
$ echo "https://ftp.hostserver.de/pub/OpenBSD" | doas tee /etc/installurl
Die Pipe mit tee schreibt die URL mit Root-Rechten in die Datei. Die nächste Package-Installation nutzt den neuen Mirror. Kein Cache-Clear oder System-Neustart notwendig.
Package-Struktur im Repository
Packages liegen unter snapshots oder Release-Versionsnummer:
https://cdn.openbsd.org/pub/OpenBSD/7.8/packages/amd64/
Die URL-Komponenten:
- 7.8 - OpenBSD-Version (Current Release)
- packages - Binäre Packages (vs. Sets)
- amd64 - Architektur (Intel/AMD 64-Bit)
Snapshots nutzen aktuellere Packages:
https://cdn.openbsd.org/pub/OpenBSD/snapshots/packages/amd64/
Snapshot-Packages funktionieren nur mit Snapshot-Base-System. Versionen müssen übereinstimmen.
Signaturverifikation
Jedes Package trägt eine digitale Signatur. Das Tool signify(1) prüft Authentizität und Integrität automatisch bei Installation.
Automatische Prüfung
Die Signatur-Prüfung erfolgt transparent:
$ doas pkg_add nginx
quirks-7.107 signed on 2025-10-15T12:34:56Z
nginx-1.24.0: ok
Die Zeile “signed on…” bestätigt erfolgreiche Signatur-Prüfung. Bei fehlerhafter Signatur bricht Installation sofort ab:
nginx-1.24.0: signature check failed
Installation aborted
Manipulierte oder beschädigte Packages werden kategorisch abgelehnt. Kein Bypass möglich – Signatur-Prüfung ist nicht optional.
Öffentliche Schlüssel
Signatur-Prüfung nutzt öffentliche Schlüssel aus /etc/signify:
$ ls /etc/signify
openbsd-76-base.pub openbsd-77-base.pub openbsd-78-base.pub
openbsd-76-fw.pub openbsd-77-fw.pub openbsd-78-fw.pub
openbsd-76-pkg.pub openbsd-77-pkg.pub openbsd-78-pkg.pub
openbsd-76-syspatch.pub openbsd-77-syspatch.pub openbsd-78-syspatch.pub
[... ältere Release-Versionen ...]
Die Schlüssel sind Release-spezifisch:
- base.pub - Base-System-Updates
- pkg.pub - Package-Signaturen
- fw.pub - Firmware-Updates
- syspatch.pub - Security-Patches
Das System speichert Keys mehrerer Releases – ermöglicht Upgrades und Downgrades. Bei System-Upgrade werden neue Schlüssel automatisch installiert.
Vertrauenskette
Die Schlüssel selbst sind Teil des Base-Systems. Sie werden via Installer-ISO installiert – die ISO trägt wiederum eine Signatur die vor Download geprüft wird.
Vertrauenskette:
- ISO-Signatur wird mit signify(1) geprüft (öffentlicher Release-Key)
- Installation kopiert Signatur-Keys nach
/etc/signify - Packages werden mit diesen Keys geprüft
Die Keys rotieren mit jedem Release. Alte Keys bleiben gültig für ältere Releases – ermöglicht Downgrades oder parallele Versionen.
pkg_info - Installierte Software auflisten
Das Tool pkg_info zeigt installierte Packages, Details und Abhängigkeiten.
Alle installierten Packages
Liste aller installierten Packages:
$ pkg_info
bzip2-1.0.8p0 block-sorting file compressor, unencumbered
curl-8.16.0 transfer files with FTP, HTTP, HTTPS, etc.
git-2.51.0 distributed version control system
htop-3.4.1 interactive process viewer
mariadb-server-11.4.9v1 multithreaded SQL database (server)
nginx-1.28.0p1 robust and small HTTP server and mail proxy server
python-3.12.11 interpreted object-oriented programming language
vim-9.1.1706-no_x11 vi clone with many additional features
[... weitere installierte Packages ...]
Die Ausgabe nennt Package-Namen, Version und Kurzbeschreibung. Dependencies (wie libiconv, p5-* Module) erscheinen ebenfalls.
Paket-Details
Detaillierte Informationen zu einem Package:
$ pkg_info nginx
Information for inst:nginx-1.28.0p1
Comment:
robust and small HTTP server and mail proxy server
Description:
This is the stable branch of nginx, as distributed by nginx.org.
nginx provides FastCGI and reverse HTTP proxying, with or without caching,
including simple load balancing and fault tolerance.
Maintainer: Robert Nagy <robert@openbsd.org>
WWW: https://nginx.org/
Die Ausgabe enthält:
- Maintainer - Verantwortlicher Port-Maintainer
- WWW - Upstream-Projekt-URL
Package-Größe
Speicherplatz-Verbrauch eines installierten Packages:
$ pkg_info -s nginx
Information for inst:nginx-1.28.0p1
Size: 1344794
Die Größe wird in Bytes angegeben (hier ca. 1.3 MB).
Package-Signatur
Package-Signatur und Dependencies anzeigen:
$ pkg_info -S nginx
Information for inst:nginx-1.28.0p1
Signature: nginx-1.28.0p1,14,@pcre2-10.44,c.102.0,crypto.57.1,ssl.60.1,z.7.1
Die Signatur listet Bibliotheks-Dependencies mit Versionsnummern (@ kennzeichnet direkten Port, Rest sind System-Bibliotheken).
Abhängigkeiten auflisten
Dependencies eines installierten Packages:
$ pkg_info -f postgresql-server | grep @depend
@depend databases/postgresql,-main:postgresql-client-=17.7:postgresql-client-17.7
@depend textproc/icu4c,-main:icu4c-*:icu4c-77.1v0
@depend textproc/libxml,-main:libxml-*:libxml-2.14.6
Das Package benötigt postgresql-client in exakter Version (=17.7), icu4c und libxml in beliebiger aktueller Version (-*).
Welche Packages benötigen ein bestimmtes Package:
$ pkg_info -R mariadb-client
Information for inst:mariadb-client-11.4.9v1
Required by:
mariadb-server-11.4.9v1
p5-DBD-MariaDB-1.23
Die Ausgabe listet alle Packages die mariadb-client als Dependency haben. Hilfreich vor Deinstallation – zeigt betroffene Packages.
Dateien eines Packages
Liste aller Dateien eines Packages:
$ pkg_info -L nginx
Information for inst:nginx-1.28.0p1
Files:
/etc/rc.d/nginx
/usr/local/sbin/nginx
/usr/local/man/man8/nginx.8
/usr/local/share/nginx/nginx.conf
/usr/local/share/nginx/html/index.html
/usr/local/share/doc/pkg-readmes/nginx
[... weitere Dateien ...]
Zeigt alle installierten Dateien, Konfigurationen und Dokumentation. Nützlich um zu prüfen wo ein Package Dateien ablegt.
Datei zu Package zuordnen
Herausfinden welches Package eine Datei installiert hat:
$ pkg_info -E /usr/local/bin/vim
/usr/local/bin/vim: vim-9.1.1706-no_x11
vim-9.1.1706-no_x11 vi clone with many additional features
Die Option -E sucht nach exaktem Pfad. Funktioniert nur für bereits installierte Dateien.
Die Ausgabe zeigt Package-Namen und Beschreibung. Nützlich bei unbekannten Binaries oder Konfigurationsdateien.
pkg_delete - Software entfernen
Das Tool pkg_delete entfernt installierte Packages inklusive aller Dateien. Konfigurationsdateien bleiben optional erhalten.
Einzelnes Paket entfernen
Package deinstallieren:
$ doas pkg_delete nginx
nginx-1.28.0p1: ok
Read shared items: ok
Alle Dateien des Package werden komplett entfernt – auch modifizierte Konfigurationsdateien. Vor Deinstallation sollten wichtige Configs gesichert werden. “Read shared items” prüft ob andere Packages gemeinsame Dateien nutzen.
Abhängigkeits-Prüfung
Package mit Dependencies deinstallieren:i
$ doas pkg_delete mariadb-client
can't delete mariadb-client-11.4.9v1 without deleting mariadb-server-11.4.9v1 p5-DBD-MariaDB-1.23
Delete them as well ? [y/N/a] a
mariadb-server-11.4.9v1: ok
p5-DBD-MariaDB-1.23: ok
mariadb-client-11.4.9v1: ok
Read shared items: ok
--- -mariadb-server-11.4.9v1 -------------------
You should also run /usr/sbin/userdel _mysql
You should also run /usr/sbin/groupdel _mysql
Die Meldung zeigt abhängige Packages und fragt ob diese ebenfalls entfernt werden sollen:
- y - Ja, diese Packages löschen (bei weiteren Konflikten wird erneut gefragt)
- N - Nein, Abbruch ohne Änderungen (Standard)
- a - All, diese und alle weiteren Konflikte automatisch mit “yes” beantworten
Packages löschen keine System-Benutzer oder -Gruppen automatisch. Die Nachricht am Ende zeigt manuelle Cleanup-Schritte.
Verwaiste Dependencies aufräumen
Nach Deinstallationen bleiben automatisch installierte Dependencies zurück. Diese löschen:
$ doas pkg_delete -a
Löscht alle Packages die:
- Nur als Dependency installiert wurden (ohne
@option manual-installation) - Nicht mehr von anderen Packages benötigt werden
Manuell installierte Packages bleiben erhalten.
Package mit automatischem Dependency-Cleanup
Package inklusive nicht mehr benötigter Dependencies entfernen:
$ doas pkg_delete -a htop
Löscht htop und räumt dessen automatisch installierte Dependencies auf - aber nur solche die nicht mehr von anderen Packages benötigt werden.
Updates und System-Wartung
OpenBSD unterscheidet zwischen Base-System-Updates und Package-Updates. Beide erfolgen getrennt über verschiedene Tools.
Package-Updates
Alle installierten Packages aktualisieren:
$ doas pkg_add -u
quirks-7.147 signed on 2025-12-14T12:31:29Z
Der Befehl prüft quirks, dann alle installierten Packages. Wenn keine Updates verfügbar sind, endet er ohne weitere Ausgabe.
Bei verfügbaren Updates erfolgt automatische Installation:
$ doas pkg_add -u
quirks-7.147 signed on 2025-12-14T12:31:29Z
nginx-1.26.3->1.28.0p1: ok
vim-9.1.1650->9.1.1706-no_x11: ok
Einzelnes Package aktualisieren:
$ doas pkg_add -u vim
Nur das spezifizierte Package wird geprüft und aktualisiert. Dependencies werden mitgezogen falls erforderlich.
Base-System-Updates
Security-Patches für Base-System:
$ doas syspatch
Get/Verify syspatch78-006_libunwind.tgz 100% |*********| 1669 KB 00:03
Installing patch 006_libunwind
Get/Verify syspatch78-007_drm.tgz 100% |**************| 264 KB 00:00
Installing patch 007_drm
Get/Verify syspatch78-010_unbound.tgz 100% |***********| 2953 KB 00:07
Installing patch 010_unbound
Get/Verify syspatch78-011_nd6.tgz 100% |**************| 77300 00:00
Installing patch 011_nd6
Relinking to create unique kernel... done; reboot to load the new kernel
Errata can be reviewed under /var/syspatch
Die Patches werden heruntergeladen, signaturgeprüft und installiert. Bei Kernel-Patches erscheint “reboot to load the new kernel” - Neustart ist notwendig. Userland-Patches aktivieren sich sofort.
System-Upgrade zwischen Major-Releases
OpenBSD bietet mehrere Methoden für Major-Release-Upgrades (7.7 → 7.8). Die Wahl hängt von den Anforderungen an Kontrolle und Automatisierung ab.
Automatisches Upgrade mit sysupgrade
Die einfachste Methode für System-Upgrades:
$ doas sysupgrade
sysupgrade lädt die neue Release-Version, verifiziert Signaturen und installiert automatisch. Der Prozess läuft unbeaufsichtigt mit mehreren Neustarts.
Wichtig: sysupgrade installiert automatisch ALLE Installations-Sets, unabhängig von der ursprünglichen Installation. Ein minimal installierter Server erhält auch X11-Sets (~74 MB) und Games (~2.7 MB).
Für minimale Server-Installationen ist der Interactive Upgrade die bessere Wahl.
Interactive Upgrade mit Set-Auswahl
Der Interactive Upgrade ermöglicht die gezielte Auswahl einzelner Sets und eignet sich für minimale Server-Installationen ohne X11 und zusätzliche Komponenten.
Vorbereitung
1. Release-Informationen und Key-Fingerprint von openbsd.org holen:
Die offizielle OpenBSD-Website listet für jede Release die Signatur-Keys mit Fingerprints. Für OpenBSD 7.8:
https://www.openbsd.org/78.html ↗
Unter “signify(1) pubkeys for this release” findet sich:
openbsd-78-base.pub: RWS3/nvFmk4SWSmt/5QIk9yB4+uoAGoiYvFhVlDQBG3rWENeeIys0LWB
Dieser Fingerprint wird später zur Verifikation benötigt.
2. Installer-Kernel und Signatur-Datei downloaden:
Die Dateien liegen auf den OpenBSD-Mirrors. Für amd64-Systeme:
$ cd /tmp
$ ftp https://cdn.openbsd.org/pub/OpenBSD/7.8/amd64/bsd.rd
$ ftp https://cdn.openbsd.org/pub/OpenBSD/7.8/amd64/SHA256.sig
Für andere Architekturen die passende Plattform wählen (arm64, i386, etc.). Die vollständige Liste der verfügbaren Architekturen findet sich auf:
https://cdn.openbsd.org/pub/OpenBSD/7.8/ ↗
3. Öffentlichen Schlüssel der Ziel-Version downloaden:
Die Signatur-Keys liegen eine Verzeichnis-Ebene höher als die architektur-spezifischen Dateien:
$ ftp https://cdn.openbsd.org/pub/OpenBSD/7.8/openbsd-78-base.pub
Wichtig: Die URL endet mit /7.8/, nicht mit /7.8/amd64/. Die Keys gelten für alle Architekturen.
4. Key-Fingerprint verifizieren:
Der heruntergeladene Key muss gegen den Fingerprint von openbsd.org geprüft werden:
$ cat /tmp/openbsd-78-base.pub
untrusted comment: openbsd 7.8 base public key
RWS3/nvFmk4SWSmt/5QIk9yB4+uoAGoiYvFhVlDQBG3rWENeeIys0LWB
Die zweite Zeile muss exakt mit dem Fingerprint von openbsd.org/78.html übereinstimmen. Bei Abweichung ist der Key nicht vertrauenswürdig – Download wiederholen oder anderen Mirror verwenden.
5. Installer-Kernel verifizieren:
Mit dem verifizierten Key kann bsd.rd geprüft werden:
$ signify -C -p /tmp/openbsd-78-base.pub -x /tmp/SHA256.sig /tmp/bsd.rd
Signature Verified
bsd.rd: OK
Nur bei erfolgreicher Verifikation weitermachen. Fehlgeschlagene Verifikation deutet auf manipulierte oder korrupte Dateien hin.
6. Installer-Kernel ins Root-Dateisystem kopieren:
$ doas cp /tmp/bsd.rd /bsd.rd
Upgrade durchführen
System neu starten und beim Boot-Prompt den Installer-Kernel laden:
boot> boot /bsd.rd
Der OpenBSD-Installer startet und fragt nach der gewünschten Aktion. (U)pgrade wählen für System-Upgrade.
Set-Auswahl
Der Installer zeigt alle verfügbaren Sets mit ihrem aktuellen Status:
Select sets by entering a set name, a file name pattern or 'all'.
De-select sets by prepending a '-', e.g.: '-game*'. Selected sets are
labelled '[X]'.
Set name(s)? (or 'abort' or 'done') [done]
[X] bsd [X] base78.tgz [ ] game78.tgz [ ] xfont78.tgz
[X] bsd.mp [X] comp78.tgz [ ] xbase78.tgz [ ] xserv78.tgz
[X] bsd.rd [X] man78.tgz [ ] xshare78.tgz
[X] markiert Sets die installiert werden, [ ] übersprungene Sets.
Für minimale Server-Installationen X11 und Games abwählen:
Set name(s)? -game78.tgz -xbase78.tgz -xfont78.tgz -xserv78.tgz -xshare78.tgz
Die Sets wechseln von [X] zu [ ]. Mit done bestätigen und das Upgrade startet.
Der Installer lädt nur die ausgewählten Sets, verifiziert Signaturen und installiert sie. Dies spart ~115 MB Festplattenplatz und reduziert die Angriffsfläche auf Server-Systemen.
Nach dem Upgrade
Das System bootet automatisch mit der neuen Version. Nach dem ersten Login:
1. Konfigurationsdateien zusammenführen:
$ doas sysmerge
sysmerge vergleicht System-Konfigurationen mit neuen Defaults und bietet Merge-Optionen für geänderte Dateien an.
2. Binary-Patches installieren:
$ doas syspatch
Installiert verfügbare Security-Patches für die neue Release-Version.
3. Third-Party-Packages aktualisieren:
$ doas pkg_add -u
Base-System und Packages sind versionsgebunden – nach einem Major-Release müssen alle Packages auf die neue Version aktualisiert werden.
Manual Upgrade
Für maximale Kontrolle und komplexe Szenarien bietet OpenBSD die manuelle Upgrade-Methode. Diese erlaubt Set-Auswahl ohne bsd.rd-Boot und eignet sich für Remote-Systeme oder spezielle Anforderungen.
Die vollständige Anleitung findet sich im separaten Artikel Manual System-Upgrade (geplant).
Methodenvergleich:
- sysupgrade: Einfachste Methode, installiert alle Sets
- Interactive Upgrade: Set-Auswahl, ideal für minimale Server
- Manual Upgrade: Maximale Kontrolle, komplex (siehe separater Artikel)
Für produktive Server ohne X11 ist der Interactive Upgrade die empfohlene Methode.
Alte Package-Versionen entfernen
Nach Updates bleiben alte Package-Dateien unter /usr/local:
$ doas pkg_delete -a
Entfernt verwaiste Dependencies und alte Versionen. Spart Festplattenplatz und reduziert Verwirrung bei manuellen Eingriffen.
Verwendete Informationen
Diese Anleitung bezieht sich auf:
- OpenBSD: 7.7, 7.8
- Architektur: amd64 (primär), allgemeine Konzepte gelten für alle Plattformen
- Kontext: Server- und Desktop-Installation
- Stand: November 2025
Die Paketverwaltung ermöglicht flexible Software-Installation auf OpenBSD-Systemen. Der nächste Artikel behandelt die Sicherheitsarchitektur – pledge, unveil und die fundamentalen Security-Features des Systems.