Acasă
» LINUX
»
Cum se remediază eroarea GPG „NO_PUBKEY” pe Ubuntu
Cum se remediază eroarea GPG „NO_PUBKEY” pe Ubuntu
Eroarea NO_PUBKEY înseamnă că APT a găsit un depozit, dar nu poate verifica metadatele pachetului semnat deoarece îi lipsește cheia publică de semnare a depozitului respectiv. Identificați sursa, obțineți cheia acesteia de la editor, verificați amprenta completă și legați-o doar la depozitul respectiv cu [ ] Signed-By. Apoi reîmprospătați APT. Nu ocoliți verificările de semnătură pentru a ascunde eroarea.
1. Identificați repozitoriul care a generat eroarea
Deschideți Terminalul și executați:
sudo apt update
Rețineți adresa URL a depozitului de lângă NO_PUBKEY. APT poate afișa un ID de cheie scurt, cum ar fi ABCD1234EF567890. Acesta ajută la identificarea cheii lipsă, dar nu dovedește cine o deține. Verificați ce sursă de software a produs eroarea înainte de a modifica setările de încredere.
Linia evidențiată identifică un depozit a cărui cheie de semnare nu o poate verifica APT; URL-ul și ID-ul cheii sunt exemple.
2. Obțineți și verificați cheia editorului
Folosește pagina oficială de instalare a proprietarului depozitului sau locația de descărcare a cheii. Pentru un PPA Launchpad, confirmă proprietarul și arhivează-l pe Launchpad. Ubuntu documentează adăugarea unui PPA cu add-apt-repository, care configurează cheia sa:
sudo add-apt-repository ppa:OWNER/ARCHIVE
Înlocuiți OWNER/ARCHIVEcu PPA-ul exact de pe pagina sa oficială. Pentru un depozit de furnizor, descărcați cheia sa doar din instrucțiunile furnizorului. Acest exemplu folosește o adresă URL substituentă; înlocuiți-o cu adresa URL publicată:
Dacă editorul furnizează o .gpgcheie binară, salvați-o în /etc/apt/keyringsși setați-i permisiunile la 0644; nu o eliminați din fișier. Denumiți fișierul după editorul său pentru a-l putea identifica ulterior.
4. Legați cheia la acel depozit
Editați fișierul sursă existent al depozitului, de obicei sub /etc/apt/sources.list.d/. Păstrați URI-ul, suita Ubuntu și componentele de la editor. Înlocuiți substituenții de mai jos și nu creați o sursă duplicată.
Într-un fișier deb822 .sources, adăugați un Signed-Bycâmp:
Types: deb
URIs: https://repo.example/ubuntu
Suites: YOUR_UBUNTU_CODENAME
Components: main
Signed-By: /etc/apt/keyrings/vendor-archive-keyring.gpg
Într-un fișier vechi .list, adăugați opțiunea la deblinia sa existentă:
deb [signed-by=/etc/apt/keyrings/vendor-archive-keyring.gpg] https://repo.example/ubuntu YOUR_UBUNTU_CODENAME main
Folosește formatul deja existent în sursa respectivă. Manualul Ubuntusources.list explică acest lucru Signed-Byși prezintă formatele acceptate.
Intrarea sursă indică un breloc din /etc/apt/keyrings.
5. Reîmprospătați APT și verificați
Salvați fișierul sursă și executați:
sudo apt update
Actualizarea ar trebui să se finalizeze fără NO_PUBKEYavertismentul din partea depozitului respectiv. Apoi puteți instala sau actualiza pachetele în mod normal. Această comandă actualizează metadatele pachetului; nu actualizează pachetele instalate.
O reîmprospătare curată a listei de pachete confirmă că APT poate verifica depozitul configurat.
Dacă eroarea persistă
Nepotrivire amprentă digitală: cheia poate fi învechită sau provenea dintr-un alt depozit. Obțineți cheia curentă de la editor.
Cheie negăsită: confirmați că respectiva cale a sursei Signed-Byse potrivește exact cu fișierul keyring și că fișierul este lizibil.
Fișier Release lipsă sau eroare 404: este posibil ca depozitul să nu fie compatibil cu numele de cod Ubuntu. Urmați instrucțiunile de compatibilitate ale editorului sau dezactivați codul sursă; nu ghiciți o altă suită.
Arhivă oficială Ubuntu: verificați dacă sursa indică o arhivă oficială Ubuntu și că ubuntu-keyringeste intactă. Nu importați o cheie de înlocuire neoficială.
Pe Ubuntu Desktop, dacă nu mai utilizați o sursă terță, deschideți Software și actualizări , dezactivați-o sub Alte programe software și reîncărcați informațiile despre pachet. Etichetele variază în funcție de versiune. Fluxul de lucru de import global Autentificare, mai vechi, nu înlocuiește verificarea cheii curente a unui editor și utilizarea fișierului Signed-By.
Mențineți activate verificările de semnătură
Nu utilizați setările trusted=yes, --allow-unauthenticated, sau insecure-repository ca soluție alternativă. Dacă editorul nu poate confirma cheia sau nu mai întreține repozitoriul, dezactivați-l și utilizați o sursă acceptată. Consultați manualul de autentificare a arhivelor APT Ubuntu .