Direkt zum Inhalt

Cookie-Einstellungen

Wählen Sie, welche Arten von Cookies Sie erlauben. Sie können Ihre Auswahl jederzeit über Cookie-Einstellungen unten auf jeder Seite ändern. Datenschutzerklärung

Notwendig

Immer aktiv

Nötig zum Einloggen, für Ihren Warenkorb und um Ihre Auswahl zu speichern. Diese sind immer aktiv.

Welche Cookies?
  • weboke_sessie, weboke_klant, weboke_remember: Ihre Sitzung und eingeloggt bleiben
  • weboke_basket: Ihr Warenkorb
  • wkBtwIncl: Preise mit oder ohne MwSt. anzeigen
  • wok_cookies: Ihre Cookie-Auswahl, 12 Monate

Misst, welche Anzeige zu einem Besuch oder einer Bestellung führt, damit wir nicht für Anzeigen zahlen, die nichts bringen.

Welche Cookies?
  • Google Ads über Google Tag Manager (_gcl_au, _gcl_aw), bis zu 90 Tage
  • OpenAI Ads, Anzeigen in ChatGPT
  • wok_aff: über welchen Partner Sie zu uns kamen (Partnerprogramm), 60 Tage

4,6

Land und Sprache

Jedes Land hat seine eigene Website, mit Preisen und MwSt. dieses Landes.

Anzeigen

Modul 4 · 4.1

Paketverwaltung mit apt

Modul 4: Software und Updates · Lesezeit: 10 Minuten

Lernziel: Nach dieser Lektion können Sie Software mit apt installieren, aktualisieren und entfernen, sehen, woher ein Paket stammt, und erkennen, welche Updates Sicherheitsupdates sind.

Kernbegriffe: Paket, Paketquelle (Repository), sources.list, .sources-Datei (deb822), signed-by, apt update, apt upgrade, apt full-upgrade, remove, purge, autoremove, apt-cache policy, Sicherheitsquelle, dnf

Warum eine Paketverwaltung?

Unter Windows laden Sie ein Installationsprogramm von einer Website herunter. Auf einem Linux-Server tun Sie das fast nie. Software kommt als Paket aus einer Paketquelle (Repository): einem Server der Distribution mit Tausenden von Programmen, die alle für Ihre Version von Debian oder Ubuntu gebaut und getestet sind. Das Programm, das diese Pakete herunterlädt, installiert und aktualisiert, heißt Paketverwaltung. Unter Debian und Ubuntu ist das apt (mit dpkg darunter), unter AlmaLinux und Rocky Linux dnf.

Das hat drei große Vorteile:

  1. Ein Befehl aktualisiert alles. Der Webserver, der SSH-Server, die Bibliotheken und der Kernel stammen aus derselben Quelle. Sie müssen nicht für jedes Programm auf einer Website nachsehen, ob es eine neue Version gibt.
  2. Die Herkunft wird geprüft. Jede Paketquelle ist mit einem Schlüssel signiert. apt lehnt Pakete ab, deren Signatur nicht stimmt.
  3. Abhängigkeiten werden aufgelöst. Benötigt nginx eine Bibliothek, installiert apt diese automatisch mit und räumt sie später wieder auf.

Die Paketquellen: Woher kommt die Software?

Welche Quellen apt verwendet, steht in /etc/apt/. Lange Zeit war das eine einzige Datei sources.list mit Zeilen wie:

deb http://deb.debian.org/debian bookworm main

Ubuntu 24.04 und neuer, die Cloud-Images von Debian und immer mehr neue Installationen verwenden das neuere deb822-Format: einzelne Dateien mit der Endung .sources in /etc/apt/sources.list.d/. Eine alte sources.list lässt sich mit sudo apt modernize-sources umwandeln (apt 3, Debian 13). Zum Beispiel unter Debian 13:

anna@web1:~$ cat /etc/apt/sources.list.d/debian.sources
Types: deb
URIs: http://deb.debian.org/debian
Suites: trixie trixie-updates
Components: main
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg

Types: deb
URIs: http://deb.debian.org/debian-security
Suites: trixie-security
Components: main
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg

Lesen Sie das so: Die Suite ist die Version (trixie ist Debian 13; noble ist Ubuntu 24.04), die Komponente ist ein Teil der Quelle (main bei Debian; main, universe, restricted und multiverse bei Ubuntu), und Signed-By gibt an, mit welchem Schlüssel die Quelle signiert sein muss. Letzteres ist wichtig: Ein Schlüssel gehört zu einer einzigen Quelle, nicht zu allen Quellen gleichzeitig. Fügen Sie später eine Quelle eines Herstellers hinzu (Docker, Caddy, PostgreSQL), erhält diese ihre eigene Schlüsseldatei und ihre eigene Signed-By-Zeile (Lektion 9.2).

Die Quelle mit -security im Namen ist die Sicherheitsquelle. Aus ihr kommen die Sicherheitsupdates, meist noch am selben Tag, an dem eine Sicherheitslücke bekannt wird. Unter Ubuntu heißt diese Suite noble-security (oder entsprechend dem Namen Ihrer Version).

Verwenden Sie noch die alte sources.list, funktioniert alles ganz normal. Mischen Sie nur nicht dieselbe Quelle in beiden Formaten, denn dann beschwert sich apt über doppelte Einträge.

update, upgrade und full-upgrade

Der Unterschied zwischen diesen drei Begriffen ist die erste Stolperfalle für Einsteiger.

BefehlWas er tut
apt updateLädt die Liste herunter, welche Pakete und Versionen in den Quellen verfügbar sind. Installiert nichts.
apt upgradeAktualisiert installierte Pakete auf die neueste Version aus dieser Liste. Entfernt nie etwas. Ein Update, das ein anderes Paket entfernen müsste, wird übersprungen.
apt full-upgradeDasselbe, darf aber bei Bedarf auch Pakete entfernen oder neue installieren. Nötig bei einem Release-Upgrade (Lektion 4.3) und manchmal bei einem neuen Kernel.

Also immer zuerst update, dann upgrade:

anna@web1:~$ sudo apt update
Hit:1 http://deb.debian.org/debian trixie InRelease
Get:2 http://deb.debian.org/debian-security trixie-security InRelease [43.4 kB]
...
3 packages can be upgraded. Run 'apt list --upgradable' to see them.
anna@web1:~$ apt list --upgradable
Listing... Done
libssl3t64/trixie-security 3.5.1-1+deb13u1 amd64 [upgradable from: 3.5.1-1]
openssh-server/trixie-security 1:10.0p1-7+deb13u1 amd64 [upgradable from: 1:10.0p1-7]
tzdata/trixie-updates 2026b-0+deb13u1 all [upgradable from: 2026a-0+deb13u1]

(Die Versionsnummern oben sind ein Beispiel.) Hinter dem Namen steht, aus welcher Suite die neue Version stammt. Alles mit -security ist ein Sicherheitsupdate: Diese Updates möchten Sie so schnell wie möglich einspielen. -updates sind andere stabile Updates, etwa neue Zeitzonendaten.

Danach:

anna@web1:~$ sudo apt upgrade

apt zeigt an, was sich ändert, und bittet um Bestätigung. Lesen Sie diese Liste. Steht dort "The following packages will be REMOVED" (die folgenden Pakete werden entfernt), ist etwas Ungewöhnliches im Gange, und Sie sollten zuerst herausfinden, warum.

Installieren, entfernen und aufräumen

anna@web1:~$ sudo apt install nginx
anna@web1:~$ sudo apt remove nginx       # Programm entfernt, Konfiguration in /etc bleibt
anna@web1:~$ sudo apt purge nginx        # Programm und Konfiguration entfernt
anna@web1:~$ sudo apt autoremove         # aufräumen, was niemand mehr braucht

Der Unterschied zwischen remove und purge ist praktisch: Möchten Sie etwas vorübergehend entfernen und später mit denselben Einstellungen neu installieren, verwenden Sie remove. Möchten Sie wirklich sauber neu anfangen, purge.

Suchen und weitere Informationen:

anna@web1:~$ apt search fail2ban
anna@web1:~$ apt show fail2ban
anna@web1:~$ apt-cache policy openssh-server
openssh-server:
  Installed: 1:10.0p1-7
  Candidate: 1:10.0p1-7+deb13u1
  Version table:
     1:10.0p1-7+deb13u1 500
        500 http://deb.debian.org/debian-security trixie-security/main amd64 Packages
 *** 1:10.0p1-7 500
        500 http://deb.debian.org/debian trixie/main amd64 Packages

apt-cache policy ist der Befehl, den Sie verwenden, wenn Sie wissen möchten, woher ein Paket stammt und welche Version apt wählen wird. Die *** steht bei der installierten Version, Candidate ist das, was ein Upgrade installieren würde.

Debian-Versionen und die Version eines Programms

Eine häufige Klage: "In Debian steckt eine alte Version von nginx." Das stimmt, und das ist Absicht. Debian und Ubuntu frieren die Versionen bei der Veröffentlichung eines Releases ein und fügen danach nur noch Sicherheitskorrekturen und Behebungen schwerer Fehler hinzu, ohne neue Funktionen. Deshalb kann ein Paket mit einer "alten" Versionsnummer trotzdem alle aktuellen Sicherheitskorrekturen enthalten: Sie wurden in die alte Version zurückportiert (Backport). Sie erkennen das am Suffix, etwa +deb13u1 oder ubuntu0.1.

Vergleichen Sie also nie nur die Versionsnummer mit der Website des Herstellers, um zu beurteilen, ob Sie verwundbar sind. Achten Sie auf die Sicherheitsmeldungen Ihrer Distribution: Der Debian Security Tracker (security-tracker.debian.org) und die Ubuntu Security Notices (ubuntu.com/security/notices) geben für jede Sicherheitslücke an, ob Ihre Version bereits korrigiert ist.

Ein paar Regeln für einen ruhigen Server

  • Installieren Sie nur, was Sie brauchen. Jedes Paket ist Code, der aktualisiert werden muss, und manchmal ein Dienst, der lauscht (Lektion 5.1).
  • Lieber aus der Distribution als von einer Website. Ein Programm, das Sie selbst kompilieren oder als einzelne Datei herunterladen, aktualisiert apt upgrade nicht. Dann müssen Sie die Sicherheitsmeldungen selbst verfolgen.
  • Eine zusätzliche Quelle nur vom Hersteller selbst, mit eigenem Schlüssel und Signed-By. Fügen Sie nie einen Schlüssel "für alles" hinzu und nie eine Quelle von einer unbekannten Website (Lektion 4.3).
  • Lesen Sie, was apt fragt. Bei einem Upgrade kann apt fragen, ob Sie eine geänderte Konfigurationsdatei durch die neue Version des Herstellers ersetzen möchten. Wissen Sie nicht, was Sie daran geändert haben, wählen Sie "keep the local version" (lokale Version behalten, die Voreinstellung) und sehen Sie sich später mit diff den Unterschied an: Die neue Version liegt daneben als .dpkg-dist.

Unter AlmaLinux und Rocky Linux

Dort heißt die Paketverwaltung dnf, und die Pakete heißen .rpm. Die Befehle ähneln denen von apt: dnf check-update (die Liste), dnf upgrade (aktualisieren, update und upgrade in einem), dnf install, dnf remove, dnf info. Die Quellen stehen in /etc/yum.repos.d/*.repo. Viele zusätzliche Programme (etwa fail2ban) stammen aus der separaten Quelle EPEL, die Sie zuerst mit dnf install epel-release aktivieren. Nur Sicherheitsupdates anzeigen können Sie mit dnf updateinfo list --security.

In der Praxis: die VPS-Oberfläche

Bei WebOké und den meisten anderen Anbietern richtet die Installation Ihres VPS die Standardquellen der Distribution bereits korrekt ein. Daran müssen Sie meist nichts ändern. Aktualisieren Sie den Server direkt nach der ersten Anmeldung mit apt update und apt upgrade (Lektion 1.2), und erstellen Sie vor größeren Änderungen einen Snapshot im Panel Ihres Anbieters.

Zusammenfassung

  • Software kommt unter Debian und Ubuntu aus signierten Paketquellen; apt lädt herunter, installiert, aktualisiert und räumt auf.
  • apt update lädt nur die Liste herunter; apt upgrade aktualisiert, ohne zu entfernen; apt full-upgrade darf auch entfernen.
  • Sicherheitsupdates kommen aus der Suite mit -security im Namen; apt list --upgradable und apt-cache policy zeigen, woher eine Version stammt.
  • Eine alte Versionsnummer mit +deb13u1 oder ubuntu0.x kann alle Korrekturen enthalten (Backport): Achten Sie auf die Sicherheitsmeldungen Ihrer Distribution.
  • Eine zusätzliche Quelle nur vom Hersteller selbst, mit eigenem Schlüssel in Signed-By.

Quiz

1. Sie geben sudo apt upgrade auf einem Server ein, an dem Sie seit einer Woche nichts gemacht haben, und apt meldet, dass alles aktuell ist. Sie wissen aber, dass gestern ein OpenSSH-Update erschienen ist. Was ist die wahrscheinlichste Erklärung?



2. Was ist der Unterschied zwischen apt remove und apt purge?



3. In apt list --upgradable steht openssh-server/noble-security .... Was sagt der Teil noble-security aus?



4. Auf der Website eines Programms steht Version 2.8, während Debian 2.6 mit +deb13u2 liefert. Ein Kollege sagt: "Debian ist also für alle Lücken verwundbar, die in 2.7 und 2.8 behoben wurden." Was stimmt?



5. Warum gehört zu einer zusätzlichen Paketquelle ein eigener Schlüssel mit Signed-By?



Aufgabe

Aufgabe Z4.1: Welche Updates sind Sicherheitsupdates? In der Beispieldatei apt-upgradable.txt steht die Ausgabe von apt list --upgradable und apt-cache policy eines Debian 13-Servers. Beantworten Sie: Welche Pakete stammen aus der Sicherheitsquelle, welches Paket stammt aus einer Quelle eines Herstellers statt von Debian, welche Version von openssh-server ist derzeit installiert, und welches Paket ist ein gewöhnliches stabiles Update ohne Sicherheitsgrund? Das Programm vergleicht mit dem festen Lösungsschlüssel. Haben Sie bereits einen eigenen Server, führen Sie dieselben Befehle aus und sehen Sie sich an, was Sie erhalten.

Aufgabe Z4.1: Welche Updates sind Sicherheitsupdates?

Datei zu dieser Aufgabe: apt-upgradable.txt





Was Sie eingeben und was wir finden, speichern wir nicht. Ihr Browser merkt sich Ihre Antworten und ob Sie die Aufgabe bestanden haben. Sind Sie angemeldet, speichern wir in Meine Kurse nur, dass Sie die Aufgabe (fast) richtig hatten; auch das können Sie dort löschen.

Weiterführende Informationen

Einen Moment bitte…

Richten Sie Ihre Domains ein

Legen Sie für jede Domain die Nameserver, die Verknüpfung mit Ihrem Hosting und den künftigen Inhaber fest.

Ihre Domains werden geladen…