Recientemente, al actualizar
el paquete google-talkplugin
, recibía este error:
Error grave: package google-talkplugin-5.41.3.0-1.x86_64 cannot be verified and repo google-talkplugin is GPG enabled: failed to lookup digest in keyring for /var/cache/PackageKit/24/metadata/google-talkplugin/packages/google-talkplugin-5.41.3.0-1.x86_64.rpm
Diciéndome, básicamente, que no se puede verificar el paquete porque no se dispone de la clave pública que se usó para firmarlo.
A veces podemos echar a faltar en Fedora alguna localización a nuestro querido idioma. La solución es bastante sencilla:
Google tiene repositorios para Linux, y usa una clave GPG para firmar los paquetes. Si no la tienes instalada, tendrás problemas al actualizar, como me pasaba a mí recientemente:
$ pkcon install google-talkplugin Error grave: package google-talkplugin-5.41.3.0-1.x86_64 cannot be verified and repo google-talkplugin is GPG enabled: failed to lookup digest in keyring for /var/cache/PackageKit/metadata/google-talkplugin/packages/google-talkplugin-5.41.3.0-1.x86_64.rpm
Tradicionalmente, cada distribución Linux ha usado un gestor de paquetes:
apt-get
.yum
.dnf
.pacman
Por ello, hace unos años surgió la iniciativa de PackageKit, un framework de gestión de paquetes que proporciona una capa de estandarización sobre ellos.
La imágen oficial de CentOS para Docker viene preconfigurada para no instalar la documentación al instalar paquetes. Puedes comprobarlo con:
$ docker run --rm centos grep tsflags /etc/yum.conf
Verás que te devuelve tsflags=nodocs
.
La documentación de yum.conf
nos explica lo que hace la opción tsflags.
Lo que queremos hacer es deshabilitarla al instalar ciertos paquetes. Por ejemplo
CUPS la necesita para mostrar su
index.html
. Lo instalaríamos así en nuestro
Dockerfile: