«invalid or corrupted package (PGP signature)»
Jedes Paket, das Ditana ausliefert, ist signiert, und pacman verweigert die Installation eines Pakets, dessen Signatur es nicht prüfen kann. Damit tut der Mechanismus seine Arbeit. Es bedeutet aber auch, dass ein veralteter Schlüsselbund Sie von genau den Aktualisierungen aussperrt, die ihn reparieren würden.
Sie sehen eine dieser Meldungen, je nachdem, ob der Signaturschlüssel in Ihrem Schlüsselbund fehlt oder zwar vorhanden ist, aber nicht als vertrauenswürdig gilt:
error: ditana-mirrorlist: key "3EC223A811077C09" is unknown:: Import PGP key 3EC223A811077C09? [Y/n]error: 'ditana-mirrorlist-1.12-1-any.pkg.tar.zst': invalid or corrupted package (PGP signature)error: ditana-mirrorlist: signature from "Stefan Zipproth <[email protected]>" is unknown trusterror: failed to commit transaction (invalid or corrupted package (PGP signature))Die Reparatur
Abschnitt «Die Reparatur»Bei einem Ditana-Paket:
sudo pacman -Sy ditana-keyringBei einem Arch-Paket (dasselbe Problem, dieselbe Form – dieser Fall ist häufig auf Systemen, die monatelang offline waren):
sudo pacman -Sy archlinux-keyringDas ist die Ausnahme von der Regel «nie ein einzelnes Paket mit -Sy» aus Aktualisieren ist nicht optional, und es lohnt sich zu verstehen, warum sie sicher ist, statt sie wie eine Zauberformel zu behandeln. Nur ein einziges Paket ist an der Transaktion beteiligt, daher gibt es kein partielles Upgrade eines Abhängigkeitsgraphen. Dieses Paket ist klein und enthält keine ausführbaren Dateien. Und seine Signatur lässt sich mit einem Schlüssel überprüfen, den Ihre Installation bereits hat, sodass nichts als vertrauenswürdig gilt, was es nicht schon vorher war – bei seiner Installation wird pacman-key --populate ausgeführt, das den aktuellen Satz der Ditana-Schlüssel zu Ihrem Schlüsselbund hinzufügt. Führen Sie danach wie gewohnt eine vollständige Aktualisierung durch.
Wenn Sie es lieber von Hand tun möchten, finden Sie hier genau den Befehl, den das Installationsskript des Pakets ausführt:
sudo pacman-key --populate ditanaSchlüssel selbst überprüfen
Abschnitt «Schlüssel selbst überprüfen»Ditana-Pakete sind mit diesem Schlüssel signiert:
pub rsa4096 3F80 54C3 FF75 5E55 44E6 8516 BC33 3E9A E877 D45Auid Stefan Zipproth <[email protected]>uid Stefan Zipproth <[email protected]>Er hat einen eigenen Signatur-Unterschlüssel, und dieser Unterschlüssel signiert die Datenbank der Paketquelle und jedes Paket, das seit August 2026 gebaut wurde:
sub rsa4096 068E EA2A 490B 0C63 AEAA 3BCD 3EC2 23A8 1107 7C09Der Fingerabdruck, anhand dessen Sie überprüfen, bleibt der obige: Ein Unterschlüssel kann ersetzt werden, ohne dass sich der Fingerabdruck ändert. Ein Schlüsselbund, der älter ist als ditana-keyring 20260809, kennt den Unterschlüssel überhaupt nicht – genau diese Situation behebt die oben beschriebene Reparatur.
Was Ihr eigenes System als vertrauenswürdig ansieht, prüfen Sie mit:
pacman-key --list-sigs ditanagpg --show-keys --with-subkey-fingerprint /usr/share/pacman/keyrings/ditana.gpgWir bieten hier bewusst kein Reparaturskript zum Herunterladen und Ausführen an. Ihre Situation lautet «meine Signaturüberprüfung schlägt fehl»; darauf mit «laden Sie das herunter und führen Sie es als root aus» zu antworten, ist formal genau der Vorgang, den die Signaturen verhindern sollen, und das Skript liesse sich auch nicht sinnvoll signieren – die Signaturprüfung ist der defekte Teil. Ein einziger Befehl, den Sie lesen können, ist besser als eine Blackbox.
Andere Ursachen derselben Meldung
Abschnitt «Andere Ursachen derselben Meldung»- Die Uhr geht falsch. Eine Signatur ist nicht gültig, bevor sie erstellt wurde. Wenn die Systemuhr weit in der Vergangenheit steht – eine leere CMOS-Batterie, eine frisch angelegte VM, ein Dual-Boot mit Windows, das die lokale Zeit in die RTC schreibt –, sieht jede Signatur so aus, als käme sie aus der Zukunft. Prüfen Sie das mit
timedatectl, und aktivieren Sie NTP mitsudo timedatectl set-ntp true. - Ein Spiegelserver hat eine abgeschnittene Datei geliefert. In diesem Fall erwähnt die Meldung eine Prüfsumme statt einer PGP-Signatur.
sudo pacman -Sccleert den Download-Cache, und bei der nächsten Aktualisierung wird die Datei erneut heruntergeladen.
Diese Übersetzung wurde maschinell erstellt. Leserinnen und Leser verbessern sie auf Weblate.