Sie haben gerade ein `apt update` ausgeführt und plötzlich eine rote Warnmeldung gesehen, die Sie in Panik versetzt: „apt-key is deprecated„? Keine Sorge, Sie sind nicht allein! Diese Meldung ist in den letzten Jahren immer häufiger geworden, da Debian und Ubuntu (und darauf basierende Distributionen) die veraltete `apt-key` Methode zum Verwalten von Paketquellen-Schlüsseln aus Sicherheitsgründen ausphasen. Aber keine Angst, wir zeigen Ihnen, wie Sie dieses Problem beheben und Ihr System wieder auf Vordermann bringen – ohne stundenlang im Internet nach der richtigen Lösung zu suchen.
Was bedeutet „apt-key is deprecated” eigentlich?
Um zu verstehen, warum diese Warnung überhaupt auftaucht, müssen wir zuerst kurz erklären, was `apt-key` ist und wie es funktioniert. `apt-key` war ein Kommandozeilenprogramm, das dazu diente, GPG-Schlüssel zu verwalten, die von Paketquellen (Repositories) verwendet werden, um sicherzustellen, dass die heruntergeladenen Pakete authentisch sind und nicht manipuliert wurden. Es fungierte als eine Art Schlüsselbund für Ihr System, in dem die öffentlichen Schlüssel der verschiedenen Paketquellen gespeichert wurden.
Der Haken an der Sache ist, dass `apt-key` dazu neigte, alle hinzugefügten Schlüssel global für das gesamte System verfügbar zu machen. Das bedeutet, dass jede Paketquelle, deren Schlüssel mit `apt-key` hinzugefügt wurde, potenziell Zugriff auf *alle* Pakete auf Ihrem System hatte. Dies stellt ein erhebliches Sicherheitsrisiko dar. Wenn eine Paketquelle kompromittiert würde, könnte ein Angreifer potenziell gefälschte Pakete installieren und die Kontrolle über Ihr System übernehmen.
Aus diesem Grund haben die Entwickler von Debian und Ubuntu beschlossen, `apt-key` aus Sicherheitsgründen zu verwerfen und stattdessen eine sicherere Methode zur Verwaltung von Paketquellenschlüsseln zu implementieren.
Die empfohlene Lösung: Wie Sie Ihre Paketquellenschlüssel richtig verwalten
Die empfohlene Methode zur Verwaltung von Paketquellenschlüsseln besteht darin, die Schlüssel in einem separaten Verzeichnis zu speichern und sie spezifisch für die jeweilige Paketquelle zu konfigurieren. Dies minimiert das Risiko, dass ein kompromittierter Schlüssel Zugriff auf alle Paketquellen hat.
Hier sind die Schritte, die Sie unternehmen müssen, um das Problem „apt-key is deprecated” zu beheben:
1. Die problematische Paketquelle identifizieren
Die `apt update` Ausgabe sollte Ihnen verraten, welche Paketquelle(n) die Warnung „apt-key is deprecated” auslösen. Die Meldung enthält in der Regel den Namen der Paketquelle oder zumindest den Dateinamen der entsprechenden Listendatei unterhalb von `/etc/apt/sources.list.d/`. Notieren Sie sich diese Information.
2. Den zugehörigen GPG-Schlüssel herunterladen
Meistens wird der GPG-Schlüssel von der Paketquelle selbst bereitgestellt. Sie können ihn in der Regel von der Website der Paketquelle herunterladen. Alternativ können Sie versuchen, ihn mit dem folgenden Befehl von einem Schlüsselserver abzurufen:
gpg --keyserver keyserver.ubuntu.com --recv-keys [SCHLÜSSEL-ID]
Ersetzen Sie `[SCHLÜSSEL-ID]` durch die Schlüssel-ID der Paketquelle. Diese ID finden Sie entweder auf der Website der Paketquelle oder in der `apt update` Ausgabe. Sie ist normalerweise ein langer Hexadezimalstring.
Nachdem Sie den Schlüssel heruntergeladen haben, müssen Sie ihn in eine Datei exportieren:
gpg --export -a [SCHLÜSSEL-ID] > package.gpg
Dies exportiert den Schlüssel im ASCII-Format in die Datei `package.gpg`. Ersetzen Sie „package” mit einem beschreibenden Namen, der die Paketquelle identifiziert.
3. Den Schlüssel im richtigen Verzeichnis speichern
Der nächste Schritt besteht darin, den Schlüssel im richtigen Verzeichnis zu speichern. Dieses Verzeichnis befindet sich normalerweise unter `/etc/apt/trusted.gpg.d/`. Es ist wichtig, dass der Dateiname mit `.gpg` endet.
sudo mv package.gpg /etc/apt/trusted.gpg.d/package.gpg
Ersetzen Sie „package” durch denselben beschreibenden Namen, den Sie im vorherigen Schritt verwendet haben.
4. Die Paketquellenkonfiguration anpassen (wichtig!)
Dieser Schritt ist entscheidend! Sie müssen sicherstellen, dass die Paketquelle in Ihrer `/etc/apt/sources.list.d/`-Datei *nicht mehr* auf die Verwendung von `apt-key` angewiesen ist. Suchen Sie die entsprechende Listendatei (die, die in der `apt update` Ausgabe erwähnt wurde) und bearbeiten Sie sie mit einem Texteditor Ihrer Wahl (z.B. `nano` oder `vim`).
Wenn die Zeile, die die Paketquelle definiert, die Option `[trusted=yes]` enthält (was bei älteren Konfigurationen vorkommen kann), entfernen Sie diese. Diese Option ist überflüssig, da die Schlüssel jetzt explizit verwaltet werden.
Stellen Sie sicher, dass die Zeile mit `deb` beginnt und die korrekte URL zur Paketquelle enthält.
**Beispiel:** Angenommen, Ihre `/etc/apt/sources.list.d/meine-quelle.list`-Datei enthält die folgende Zeile:
deb [trusted=yes] http://meine-quelle.example.com/debian stable main
Sie sollten sie wie folgt ändern (entfernen Sie `[trusted=yes]`):
deb http://meine-quelle.example.com/debian stable main
Speichern Sie die Datei und schließen Sie den Texteditor.
5. `apt update` erneut ausführen
Führen Sie nun erneut `sudo apt update` aus. Die Warnung „apt-key is deprecated” sollte für diese Paketquelle verschwunden sein. Wenn nicht, überprüfen Sie die Schritte 2, 3 und 4 sorgfältig auf Fehler.
6. Wiederholen Sie die Schritte für alle problematischen Paketquellen
Wiederholen Sie die obigen Schritte für alle Paketquellen, die die Warnung „apt-key is deprecated” auslösen.
Alternative: `signed-by` Option verwenden (ab APT Version 2.4.0)
Ab APT Version 2.4.0 gibt es eine noch elegantere Methode, um die Schlüssel zu referenzieren: die `signed-by` Option in der `/etc/apt/sources.list.d/`-Datei.
Anstatt den Schlüssel global in `/etc/apt/trusted.gpg.d/` zu speichern, können Sie ihn direkt in der Paketquellen-Definition angeben.
**Beispiel:**
Anstatt:
deb http://meine-quelle.example.com/debian stable main
Verwenden Sie:
deb [signed-by=/etc/apt/trusted.gpg.d/meine-quelle.gpg] http://meine-quelle.example.com/debian stable main
Oder, wenn Sie den Schlüssel in einem anderen Verzeichnis speichern möchten (z.B. in `/usr/share/keyrings/`):
deb [signed-by=/usr/share/keyrings/meine-quelle.gpg] http://meine-quelle.example.com/debian stable main
Der Vorteil dieser Methode ist, dass der Schlüssel explizit an die Paketquelle gebunden ist und nicht global für das gesamte System gilt. Dies erhöht die Sicherheit zusätzlich.
Warum ist das alles so wichtig?
Auch wenn die Umstellung von `apt-key` auf die neuen Methoden etwas umständlich erscheinen mag, ist sie ein wichtiger Schritt zur Verbesserung der Sicherheit Ihres Systems. Indem Sie die Schlüssel explizit verwalten und sie an bestimmte Paketquellen binden, minimieren Sie das Risiko, dass ein kompromittierter Schlüssel die Sicherheit Ihres gesamten Systems gefährdet.
Darüber hinaus ist es wichtig, dass Sie sich über die Empfehlungen der Paketquellenbetreiber informieren. Viele Paketquellen stellen bereits detaillierte Anleitungen zur Verfügung, wie Sie ihre Schlüssel korrekt konfigurieren können. Befolgen Sie diese Anleitungen sorgfältig, um sicherzustellen, dass Ihr System optimal geschützt ist.
Fazit
Die Warnmeldung „apt-key is deprecated” ist kein Grund zur Panik. Sie bedeutet lediglich, dass Sie Ihre Paketquellenschlüssel auf eine sicherere Art und Weise verwalten müssen. Mit den oben beschriebenen Schritten können Sie das Problem schnell und einfach beheben und sicherstellen, dass Ihr System weiterhin sicher und aktuell ist. Denken Sie daran, dass es sich um einen wichtigen Schritt zur Verbesserung der Sicherheit Ihres Systems handelt, und nehmen Sie sich die Zeit, ihn korrekt durchzuführen.
Vergessen Sie nicht, Ihre Paketquellenkonfigurationen regelmäßig zu überprüfen und sicherzustellen, dass Sie die neuesten Empfehlungen der Paketquellenbetreiber befolgen. So bleiben Sie auf der sicheren Seite und können die Vorteile von aktueller Software ohne unnötige Risiken genießen.