AlmaLinux - Command Line - Linux

Errore GPG Check Failed con Google Chrome su Linux

In questo articolo vediamo come risolvere l’errore GCP Check Failed che può verificarsi aggiornando il browser Google Chrome su una distribuzione basata su RPM (come Fedora, CentOS, RHEL o AlmaLinux).

L’errore si verifica perché le chiavi GPG utilizzate da Google per firmare i propri pacchetti vengono aggiornate ed il sistema ha ancora in memoria la vecchia chiave che risulta non corretta per l’ultima versione del browser (dalla 145x o successive).

L’errore che si riceve è qualcosa di simile a questo

133 kB/s |  17 kB     00:00
GPG key at https://dl.google.com/linux/linux_signing_key.pub (0xD38B4796) is already installed
The GPG keys listed for the "google-chrome" repository are already installed but they are not correct for this package.
Check that the correct key URLs are configured for this repository.. Failing package is: google-chrome-stable-145.0.7632.75-1.x86_64
 GPG Keys are configured as: https://dl.google.com/linux/linux_signing_key.pub
The downloaded packages were saved in cache until the next successful transaction.
You can remove cached packages by executing 'dnf clean packages'.
Error: GPG check FAILED

Cosa ci dice l’errore?

Nel log abbiamo l’indicazione che la chiave con ID 0xD38B4796 è già installata nel sistema.

In sistemi come Almalinux, Fedora o RHEL, le chiavi GPG importate vengono registrate come pacchetti speciali che iniziano sempre con il prefisso gpg-pubkey. La struttura del nome è: gpg-pubkey-[ID_VERSIONE]-[RELEASE]

Sapendo che l’ID è d38b4796, il pacchetto da cercare nel database è gpg-pubkey-d38b4796-*

Eseguendo il comando

$ sudo rpm -q gpg-pubkey --qf '%{NAME}-%{VERSION}-%{RELEASE}\t%{SUMMARY}\n'

[...]
gpg-pubkey-d38b4796-570c8cd3    Google Inc. (Linux Packages Signing Authority) <linux-packages-keymaster@google.com> public key
[...]

viene visualizzata una lista dove, accanto a gpg-pubkey-d38b4796-570c8cd3, è riportato “Google Inc. (Linux Packages Signing Authority)”. Abbiamo quindi individuato la chiave da rimuovere.

Aggiornamento della chiave

Per risolvere il problema dobbiamo per prima cosa procedere con la rimozione della chiave

sudo rpm -e gpg-pubkey-d38b4796-570c8cd3

Ora possiamo scaricare e importare la chiave aggiornata direttamente dal repository di Google

sudo rpm --import https://dl.google.com/linux/linux_signing_key.pub

Infine eliminiamo i pacchetti scaricati che hanno fallito il controllo e procediamo con l’aggiornamento di Google Chrome

sudo dnf clean packages
sudo dnf update google-chrome-stable

Abbiamo ora il browser Google Chrome aggiornato all’ultima versione.

Conclusione

Gli errori di firma GPG possono sembrare ostici a prima vista, ma queste firme rappresentano una delle linee di difesa più importanti nel mondo Linux in quanto garantiscono che il browser che usi ogni giorno non sia stato alterato da terze parti.

In questo articolo abbiamo visto come risolvere il problema della chiave per l’aggiornamento di Google Chrome ma la procedura può essere applicata anche in caso di errori sulle chiavi di altri repository (es, PostgreSQL, MariaDB, etc…)