Warning: Key is stored in legacy trusted.gpg keyring

Es cansado cuando aparece este texto tras unas actualizaciones en la línea de comandos de Linux, porque siempre toca ver qué es lo que ha pasado (es sólo un warning, pero yo suelo atenderlos y resolverlos porque en caso contrario me estresa cada vez que tengo que hacer una nueva actualización).

El domingo, actualizando la RaspBerry en la que guardo una copia de respaldo de mi blog, volví a encontrarme con este estúpido mensaje que bien podía haberse arreglado con algún «fixer» incluido en el sistema operativo, derivado de que es él quien ha decidido que una aplicación como apt-key se haya quedado obsoleta o deprecated.

Afortunadamente, encontré una muy buen página que ayudó muchísimo con este pequeño, pero molesto, problema tecnológico. Me resultó gracioso, eso sí, que tuviera un TLD (Top Level Domain) de .guru

Me guardo, con permiso de la web en cuestión y mi agradecimiento particular, los pasos a seguir, por si vuelvo a necesitarlos y esa página ha dejado de existir, cosa que pasa cada vez con más frecuencia.


Pasos de la solución

Fuente: https://pilas.guru/20240311/warning-key-is-stored-in-legacy-trusted-gpg-keyring/

1. Extraer la llave del archivo /etc/apt/trusted.gpg

$ sudo apt-key list
/etc/apt/trusted.gpg
--------------------
pub rsa4096 2017-02-22 [SCEA]
9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
uid [ unknown] Docker Release (CE deb)
sub rsa4096 2017-02-22 [S]

$ sudo apt-key export 0EBFCD88 | gpg --dearmor -o /tmp/docker.gpg

La llave se exporta en un temporal para evitar que el siguiente paso la borre del llavero.

2. Borrar la clave del antiguo llavero

$ sudo apt-key del 0EBFCD88
OK

3. Incluir la llave exportada en el actual sistema

$ sudo mv /tmp/docker.gpg /etc/apt/keyrings/

Indicar en el repositorio la clave a utilizar

$ sudo cat /etc/apt/sources.list.d/docker.list

deb [arch=arm64 signed-by=/etc/apt/keyrings/docker.gpg] http...

La indicación signed-by le permite al comando apt encontrar qué nombre se le puso al archivo de la llave que validará el repositorio de paquetes y a su vez, permite colocar los archivos en cualquier lugar (Debian ofrece la carpeta /etc/apt/keyrings/ para este fin)

Esto no es una broma