Para encontrar las claves de repositorio caducadas y sus ID, use apt-key
lo siguiente:
LANG=C apt-key list | grep expired
Obtendrá un resultado similar al siguiente:
pub 4096R/BE1DB1F1 2011-03-29 [expired: 2014-03-28]
La ID de clave es el bit después de /
ie, BE1DB1F1
en este caso.
Para actualizar la clave, ejecute
sudo apt-key adv --recv-keys --keyserver keys.gnupg.net BE1DB1F1
Nota: La actualización de la clave obviamente no funcionará si el responsable del paquete (todavía) no ha cargado una nueva clave. En ese caso, es poco lo que puede hacer aparte de contactar al mantenedor, presentar un error contra su distribución, etc.
Un forro para actualizar todas las claves caducadas: (gracias a @ryanpcmcquen)
for K in $(apt-key list | grep expired | cut -d'/' -f2 | cut -d' ' -f1); do sudo apt-key adv --recv-keys --keyserver keys.gnupg.net $K; done
for K in $(apt-key list | grep expired | cut -d'/' -f2 | cut -d' ' -f1); do sudo apt-key adv --recv-keys --keyserver keys.gnupg.net $K; done
Debe obtener la clave más nueva y agregarla, en ese momento apt la detectará y no se quejará. Esto normalmente no debería suceder, pero a veces sucede. Lo que realmente necesita es saber el código hexadecimal de la clave que necesita agregar; una vez que tienes eso, es bastante cuesta abajo desde allí.
Algunos ejemplos:
Agregar claves para backports : las primeras líneas son lo que busca , aunque necesitará tener la clave que desea.
agregando claves ala Ubuntu
fuente
Tuve un error similar, pero el problema estaba en el tiempo del sistema. El año fue 1961 :)
Corregí la fecha / hora del sistema y después de eso podría actualizar sin un profesional
fuente
En el Wiki de Debian sobre SecureAPT , descubrí que debería eliminar la línea que contiene
non-us
/etc/apt/sources.list.En realidad hice eso y funcionó.
fuente
También puede suceder cuando la fecha no es correcta.
Verifique la fecha con
Si está mal configurado, haga lo siguiente para configurar su zona horaria y sincronización automática de fecha.
fuente
Una causa altamente improbable, pero ocasionalmente posible, de este error es si ha agregado la misma clave dos veces con fechas de vencimiento diferentes. Probablemente sepa que lo ha hecho para que esta respuesta sea relevante para usted.
Esto puede suceder, como sucedió conmigo, al alojar su propio repositorio con sus propias claves. Si usted, cuando la clave está a punto de caducar, simplemente extienda su vida útil en lugar de cambiarla, y si instaló la clave original usando la preselección pero la clave actualizada usando un paquete deb, entonces la clave antigua estará dentro
/etc/apt/trusted.gpg
, mientras que la nueva termina como un archivo separado debajo de/etc/apt/trusted.gpg.d/
. La clave anterior sombreará la nueva, que será completamente ignorada porapt-key
. Elimine la clave anterior ejecutandogpg --keyring /etc/trusted.gpg --delete-keys <keyid>
y se detectará su nueva clave.Esta es una configuración de esquina un poco no estándar, pero espero que mi respuesta pueda ahorrar algo de confusión en caso de que alguien más encuentre este problema debido a la misma razón que yo.
fuente
Un oneliner más simple:
for key in $(sudo apt-key list | awk -v FS='[ /:]+' '/expire[sd]/ {print $3}'); do sudo apt-key adv --recv-keys --keyserver keys.gnupg.net $key; done
Simplemente siento que si estás haciendo cosas como usar
cut
más de una vez, hay una herramienta mejor. (Además, creé esto basado en una pregunta diferente ).fuente
No tienes que hacer nada. Es solo una advertencia, puedes ver eso desde el
W:
prefijo.fuente