Cuprins

Cheie GPG lipsă pentru repo-uri externe (ex: Spotify)

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.


Descrierea problemei

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.

Cauza

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.

Soluție

Metoda modernă (recomandată)

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.

Metoda clasică (deprecated)

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 5384CE82BA52C83A
sudo apt update
Atenție: Comanda apt-key este marcată ca deprecated începând cu Ubuntu 22.04 și va fi eliminată în versiuni viitoare. Funcționează încă, dar metoda modernă este preferată.

Verificare

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ă.

Notă generală

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

Vezi și