Das Problem, wenn man ein zusätzliches Repository in /etc/apt/sourced.list.d hinzufügt, ist für gewöhnlich der fehlende Verifizierungs-Key. Nicht alle Quellen liefern den gleich mit.
Bis 20.04 hat man den Key mit apt-key hinzugefügt. Das geht bei 22.04 immer noch, aber es führt zu einer Warnmeldung, weil dieses Verfahren abgeschaltet werden wird. Der Grund ist der, dass so hinzugefügte Keys systemweit gültig sind, was ein potenzielles Sicherheitsleck darstellt. Mit der neuen Methode gilt ein Key nur noch für ein Repository und sonst für nix.
Den apt-key-Ersatzbefehl musste ich lange suchen und mir teilweise noch selber zusammen basteln. Deswegen hier das neue Verfahren:
Bei dem gpg-Befehl wird in /root/.gnupg gearbeitet. Wer das nicht möchte, erstellt ein temporäres Verzeichnis und gibt vorher diesen Befehl ein:
sudo export GNUPGHOME=[Verzeichnis als absoluter Pfad]
Diese Einstellung gilt nur für die eine Terminal-Session und ist nicht dauerhaft.
Das Unterverzeichnis .gnupg muss aber auch vorhanden sein bzw. ggf. erstellt werden.
sudo gpg --no-default-keyring --keyring /usr/share/keyrings/[Dateiame].gpg --keyserver [Keyserver] --recv-keys [Key-Code]
Dabei gilt:
[Dateiname] Dateiname, den man frei vergeben kann. Beim Pfad ist Jammy zickig, also den hier vorgegebenen benutzen.
[Keyserver] z.B. keyserver.ubuntu.com, man kann auch noch den Port mit Doppelpunkt anhängen (:80)
[Key-Code] wie früher bei apt-key die Hex-Zeichen, die in der apt-get update Fehlermeldung stehen, ohne Leerzeichen*
Nun muss man noch den Pfad zur Key-Datei in die Repository-List-Datei aufnehmen. Man editiert sie (mit sudo) wie folgt:
Zwischen deb bzw. deb-src und http… kommt:
[signed-by=/usr/share/keyrings/[Dateiname.gpg]
Wenn die Architektur angegeben ist, kommt das signed-by in die vorhandene eckige Klammer:
[arch=amd64 signed-by=/usr/share/keyrings/[Dateiname.gpg]
Hat man noch den Key im alten Verfahren gespeichert, löscht man ihn mit diesem Befehl:
apt-key del [Letzte-8-Zeichen-des-Key-Codes]
Nach dem nächsten apt-get update sollten keine Fehlermeldungen mehr auftauchen und man auf das Repository zugreifen.
*) Leerzeichen sind nicht in der apt-get update Fehlermeldung, aber in der Ausgabe, wenn man nach dem Key sucht.
Hier alles am Beispiel Firefox-ESR:
PPA hinzufügen:
sudo add-apt-repository ppa:mozillateam/ppa
=> Datei /etc/apt/sources.list.d/mozillateam-ubuntu-ppa-jammy.list hinzugefügt
=> und den Key /etc/apt/trusted.gpg.d/mozillateam-ubuntu-ppa.gpg hinzugefügt – das führt zwar nicht zur Warnung, ist aber genauso unsicher!!
sudo rm /etc/apt/trusted.gpg.d/mozillateam-ubuntu-ppa.gpg
apt-get update
=> Fehler NO_PUBKEY 9BDB3D89CE49EC21
sudo gpg --no-default-keyring --keyring /usr/share/keyrings/mozilla.gpg --keyserver keyserver.ubuntu.com --recv-keys 9BDB3D89CE49EC21
=> Da steht was von wegen importiert: 1
Hier die erste Zeile der Datei /etc/apt/sources.list.d/mozillateam-ubuntu-ppa-jammy.list
deb [signed-by=/usr/share/keyrings/mozilla.gpg] https://ppa.launchpadcontent.net/mozillateam/ppa/ubuntu/ jammy main
Das Löschen in apt-key sähe so aus:
sudo apt-key del CE49EC21