Acest articol descrie cum se rezolvă eroarea de cheie GPG lipsă apărută la rularea sudo apt update pentru repo-uri externe pe Ubuntu/Linux Mint.
La rularea sudo apt update poate apărea un avertisment de forma:
Eroare GPG: https://repository.spotify.com stable InRelease: Următoarele semnături n-au putut fi verificate, deoarece cheia publică nu este disponibilă: NO_PUBKEY 5384CE82BA52C83A W: Eșec la aducerea lui https://repository.spotify.com/dists/stable/InRelease Următoarele semnături n-au putut fi verificate, deoarece cheia publică nu este disponibilă: NO_PUBKEY 5384CE82BA52C83A
APT va folosi în continuare indexul vechi al repo-ului, dar nu va putea descărca actualizări noi din acel repo până la rezolvarea problemei.
Furnizorii de software extern (Spotify, Google, etc.) își rotesc periodic cheile GPG folosite pentru semnarea repo-ului lor. Dacă la instalarea inițială a aplicației cheia a fost adăugată cu apt-key (metoda veche), aceasta poate expira sau poate fi înlocuită fără ca sistemul local să fie actualizat automat.
Descarcă cheia direct de la furnizor și salveaz-o în formatul binar .gpg:
curl -sS https://download.spotify.com/debian/pubkey_6224F9941A8AA6D1.gpg | \ sudo gpg --dearmor --yes -o /etc/apt/trusted.gpg.d/spotify.gpg sudo apt update
Aceasta este metoda recomandată pe Ubuntu 22.04+ și Linux Mint 21+. Cheia este stocată în /etc/apt/trusted.gpg.d/ ca fișier individual, izolat de celelalte chei.
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 5384CE82BA52C83A sudo apt update
Atenție: Comandaapt-keyeste marcată ca deprecated începând cu Ubuntu 22.04 și va fi eliminată în versiuni viitoare. Funcționează încă, dar metoda modernă este preferată.
sudo apt update
Nu ar mai trebui să apară avertismente NO_PUBKEY pentru repo-ul respectiv. Dacă eroarea persistă, cheia descărcată ar putea fi pentru o versiune diferită — verifică pagina oficială a furnizorului pentru cheia curentă.
Aceeași problemă poate apărea și pentru alte repo-uri externe (Google Chrome, VS Code, etc.). Procedura este identică — înlocuiește URL-ul și numele fișierului de ieșire corespunzător furnizorului:
curl -sS <URL_CHEIE_GPG_FURNIZOR> | \ sudo gpg --dearmor --yes -o /etc/apt/trusted.gpg.d/<nume-furnizor>.gpg sudo apt update