Corregir errores del keyring al actualizar Omarchy
Si Omarchy muestra una firma PGP invalida o corrupta, actualice archlinux-keyring y repare manualmente el keyring de pacman si sigue fallando.
Por qué falla una actualización de Omarchy con un error del keyring
Una actualización de Omarchy que se detiene con invalid or corrupted package (PGP signature) tiene un error del keyring, no una descarga defectuosa. La copia de archlinux-keyring es más antigua que las claves de firma que Arch usa actualmente, por lo que pacman rechaza un paquete que no puede asociar con una clave de confianza. Actualice ese keyring y vuelva a ejecutar la actualización.
Esto no es exclusivo de Omarchy. Es un fallo habitual de Arch, y Omarchy lo muestra a muchos usuarios cuyo primer equipo con Arch es este.
Una aclaración sobre el alcance antes de ejecutar los comandos. Omarchy es un escritorio Hyprland basado en Arch, por lo que todo lo siguiente se refiere al equipo que tiene delante. Esta no es una guía para instalar Omarchy en un VPS. Su servidor ejecuta otro sistema, y la última sección enlaza con las páginas correspondientes.
La corrección mínima
Dos comandos y, después, la actualización:
sudo pacman -Sy
sudo pacman -S archlinux-keyring
omarchy updatesudo pacman -S archlinux-keyring muestra ==> Appending keys from archlinux.gpg... y, después, una pasada más lenta de ==> Locally signing trusted keys in keyring.... Esas líneas indican que se han incorporado nuevas claves de desarrollador a su llavero. La actualización que falló hace un minuto ahora llega hasta el final.
Esa es la secuencia que los usuarios informaron en el issue 4608 de Omarchy, que también dio lugar a que el propio actualizador incorporara la actualización del llavero.
pacman -Sy por sí solo requiere una advertencia. Descarga una base de datos de paquetes nueva sin actualizar los paquetes que ya tiene instalados. Instalar software arbitrario a partir de ese estado es una actualización parcial. Las actualizaciones parciales rompen los sistemas Arch porque un paquete recién compilado espera las versiones de biblioteca indicadas en la nueva base de datos, mientras que las instaladas todavía son las antiguas. archlinux-keyring es la excepción aceptada: distribuye material criptográfico en lugar de binarios enlazados, y se ejecuta inmediatamente antes de la actualización completa.
omarchy update es el comando de Omarchy 4. Omarchy 4, denominado Quattro, se publicó en agosto de 2026 y es la serie actual en septiembre de 2026. El script que ejecuta ese comando es omarchy-update, que también puede ejecutar directamente. Se recomienda cualquiera de los dos en lugar de un pacman -Syu sin más, porque el actualizador de Omarchy crea primero una instantánea del sistema de archivos y ejecuta las migraciones que mantienen la configuración sincronizada con la nueva versión. Un pacman -Syu manual omite ambas cosas.
Qué hace omarchy update keyring
Omarchy 4 expone el paso de los keyrings por separado:
omarchy update keyringGestiona dos keyrings distintos. Siempre ejecuta sudo pacman -Sy --noconfirm archlinux-keyring. El script indica que lo reinstala en lugar de comparar primero las versiones porque el contenido de ese keyring puede cambiar aunque no cambie la versión del paquete. También obtiene y firma localmente la clave de firma de Omarchy cuando falta esa clave:
sudo pacman-key --recv-keys 40DFB630FF42BCFFB047046CF0134EE680CAC571 --keyserver keys.openpgp.org
sudo pacman-key --lsign-key 40DFB630FF42BCFFB047046CF0134EE680CAC571Hay dos keyrings porque el equipo instala paquetes desde dos lugares. archlinux-keyring es el paquete propio de Arch procedente del repositorio core, y contiene las claves de desarrolladores y usuarios de confianza de Arch. omarchy-keyring procede de terceros. Proviene del repositorio [omarchy], que Omarchy añade a /etc/pacman.conf. En el canal estable, ese repositorio es Server = https://pkgs.omarchy.org/stable/$arch y contiene la clave que firma todos los paquetes de omarchy-*. Omarchy 4 incluye SigLevel = Required DatabaseOptional, por lo que se rechaza cualquier paquete cuya firma no corresponda a una clave de confianza, independientemente del repositorio del que proceda.
Por qué la confianza desconocida es un problema de claves y no de descarga
El fallo tiene este aspecto. El nombre del paquete y el firmante cambian de una máquina a otra. Las dos últimas líneas no cambian.
error: archlinux-keyring: signature from "Christian Hesse <eworm@archlinux.org>" is unknown trust
:: File /var/cache/pacman/pkg/archlinux-keyring-20230704-1-any.pkg.tar.zst is corrupted (invalid or corrupted package (PGP signature)).
error: failed to commit transaction (invalid or corrupted package (PGP signature))Lea unknown trust literalmente. gpg analizó la firma y comprobó que tiene un formato válido. Lo que no pudo hacer fue asociar la clave de esa firma con una clave en la que su máquina confía. pacman marca entonces el paquete como dañado, porque para pacman un paquete que no se puede verificar y uno dañado producen la misma respuesta.
Las claves de confianza se almacenan en /etc/pacman.d/gnupg. Ese directorio es una copia local y nunca se descarga en tiempo real durante una actualización. Se inicializa a partir de los archivos de claves que el paquete archlinux-keyring instala en /usr/share/pacman/keyrings. Arch añade y revoca las claves de los desarrolladores según su propio calendario. Por tanto, una máquina que permaneció inactiva durante unos meses puede tener una lista de claves anterior a la del desarrollador que firmó el paquete de esta mañana. El mensaje relacionado signature from ... is marginal trust tiene el mismo origen: las claves están presentes, pero faltan las firmas locales que las vinculan con el llavero local.
Reparación completa cuando el propio llavero está dañado
A veces sudo pacman -S archlinux-keyring falla con el mismo error que intenta solucionar, o sudo pacman-key --list-keys no devuelve información útil. En ese caso, el llavero está dañado y no simplemente obsoleto, por lo que debe reconstruirse.
sudo mv /etc/pacman.d/gnupg /etc/pacman.d/gnupg.broken
sudo pacman-key --init
sudo pacman-key --populate archlinux
sudo pacman -Sy archlinux-keyring
sudo pacman-key --populate archlinuxMueva el directorio antiguo en lugar de eliminarlo. Si la reconstrucción falla, podrá restaurarlo. Además, conservar un llavero que se pueda restaurar compensa los pocos kilobytes que ocupa.
El orden es importante. --init crea un llavero vacío con una clave de firma local nueva. Un llavero vacío no confía en nada, por lo que cualquier descarga fallaría la verificación en ese momento. --populate archlinux lo completa desde /usr/share/pacman/keyrings/archlinux.gpg, el archivo que ya estaba en el disco desde que instaló el paquete hace meses. Esas claves pueden ser antiguas, pero bastan para verificar la descarga del paquete actual del llavero. Eso es lo que hace la cuarta línea. La última línea carga los archivos de claves actualizados que acaba de descargar.
Ahora restaure la clave de Omarchy. Al eliminar /etc/pacman.d/gnupg se descartó la firma local que hacía que la clave fuera de confianza. Por eso, todos los paquetes de omarchy-* fallan con unknown trust hasta que la clave vuelva a estar disponible:
sudo pacman-key --recv-keys 40DFB630FF42BCFFB047046CF0134EE680CAC571 --keyserver keys.openpgp.org
sudo pacman-key --lsign-key 40DFB630FF42BCFFB047046CF0134EE680CAC571
sudo pacman-key --list-keys 40DFB630FF42BCFFB047046CF0134EE680CAC571El último comando debería mostrar una línea pub para esa huella digital. Si muestra una línea keyserver receive failed, significa que la red no está llegando a keys.openpgp.org a través del puerto 443. Corrija ese problema antes de volver a intentarlo. En Omarchy 4 puede ejecutar omarchy update keyring en lugar de los dos primeros comandos, ya que realiza exactamente ese par de operaciones. Termine con omarchy update.
Cuando el keyring está actualizado y la actualización sigue fallando
El reloj no es correcto. Las claves y las firmas contienen marcas de tiempo, y gpg las compara con el reloj del sistema. Un reloj atrasado hace que una firma válida parezca creada antes de que existiera su clave, por lo que el paquete se rechaza. Ejecute timedatectl y busque System clock synchronized: yes. Esto afecta a los portátiles con una batería CMOS agotada y a los servidores por otros motivos, que se explican en por qué se desajusta el reloj de un VPS y cómo mantenerlo sincronizado.
Un archivo de la caché está dañado. Una descarga truncada por un mirror inestable produce la misma línea invalid or corrupted package, y ninguna operación con el keyring lo solucionará. Distinga ambos casos por el paquete que se muestra. Si siempre es el mismo paquete, elimine ese archivo de /var/cache/pacman/pkg/ y vuelva a ejecutar la actualización. sudo pacman -Sc elimina las versiones almacenadas en la caché que ya no tiene instaladas.
El fallo está en yay, no en pacman. Una compilación de AUR verifica el archivo de código fuente original con makepkg, que lee el keyring del usuario en ~/.gnupg. Nunca lee el de pacman. El mensaje es ==> ERROR: One or more PGP signatures could not be verified!, normalmente junto a gpg: Can't check signature: No public key. Importe la clave como su usuario normal con gpg --recv-keys <key-id> y sin sudo. sudo pacman-key --recv-keys no puede ayudar, porque escribe en /etc/pacman.d/gnupg, un directorio que makepkg no consulta.
Omita pacman-key --refresh-keys. Consulta un keyserver para cada clave que ya tiene, por lo que es lento y falla directamente cuando el keyserver está ocupado. Tampoco puede añadir una clave que nunca estuvo en el keyring, que es el problema real en este caso. Actualizar archlinux-keyring es el procedimiento recomendado.
Si la actualización ya se detuvo a mitad
Lea /tmp/omarchy-update.log. Ahí es donde omarchy-update escribe su salida. Para cuando revise el terminal, el primer error real suele haber quedado oculto detrás de las barras de progreso.
Si el sistema está en peor estado que al principio, use la instantánea. Omarchy crea una antes de actualizar en los sistemas donde snapper está disponible. Puede reiniciar y seleccionar la instantánea anterior a la actualización en el menú de arranque. Repare el keyring desde ese estado conocido como válido y vuelva a actualizar.
Tu servidor no es tu equipo de escritorio
Omarchy es un entorno de escritorio, y el equipo al que te conectas mediante SSH plantea otro problema, con respuestas diferentes. Un servidor necesita una distribución con un periodo de soporte prolongado y sin una pila de escritorio encima. Ese es el tema de elegir el sistema operativo adecuado para tu VPS. La primera tarea en ese equipo es proteger SSH con claves y una configuración de sshd reforzada. La segunda es establecer una rutina de mantenimiento para que sus paquetes no queden tan obsoletos como este llavero. Si lo que te gusta de Omarchy son los accesos directos integrados para los agentes de programación, esos agentes también se ejecutan en un servidor: ejecutar un agente de programación en un VPS explica la configuración, y mantener Claude Code activo en una sesión de tmux cubre la parte necesaria para cerrar el portátil y dejarlo funcionando.
FAQ
¿Es seguro ejecutar sudo pacman -Sy antes de instalar archlinux-keyring?
Es seguro en este caso y sólo si después instala el paquete de claves y realiza una actualización completa. -Sy actualiza la base de datos de paquetes mientras los paquetes instalados siguen siendo antiguos. Instalar software normal en ese estado es una actualización parcial y puede dejar un binario enlazado con una versión de biblioteca que no está instalada. archlinux-keyring contiene datos, no código enlazado, por lo que es la excepción estándar. No se detenga después de pacman -Sy.
¿Por qué sigo recibiendo errores de claves si Omarchy actualiza el paquete de claves por mí?
El actualizador actualiza archlinux-keyring antes de actualizar los paquetes. Por tanto, el error suele indicar que no utilizó el actualizador. Ejecutar pacman -Syu o yay manualmente omite ese paso. También puede ocurrir que el paquete de claves local esté dañado y no sólo desactualizado. En ese caso, el propio paquete de claves no se puede verificar. Otra posibilidad es usar una versión antigua de Omarchy, anterior a la incorporación de ese paso. La reconstrucción completa con pacman-key --init y pacman-key --populate archlinux cubre el caso de un paquete dañado.
¿Qué es omarchy-keyring? ¿Es lo mismo que archlinux-keyring?
Son paquetes diferentes de orígenes distintos. archlinux-keyring es el paquete de Arch, del repositorio core, y contiene las claves de los desarrolladores y usuarios de confianza de Arch. omarchy-keyring es de terceros. Procede del repositorio [omarchy] en pkgs.omarchy.org, que Omarchy añade a la configuración de pacman, y contiene la clave con la huella digital 40DFB630FF42BCFFB047046CF0134EE680CAC571, que firma los paquetes de omarchy-*. Omarchy requiere una firma válida de ambos conjuntos. Si falta cualquiera de ellos, la actualización se bloquea.
¿Debo ejecutar pacman-key --refresh-keys para corregir un error de firma?
No. Consulta un servidor de claves para cada clave del paquete de claves. Es lento y falla cuando no se puede acceder al servidor de claves. Además, no puede importar una clave que nunca estuvo en el paquete de claves. La clave que falta se incluye en el paquete archlinux-keyring. Por tanto, sudo pacman -Sy seguido de sudo pacman -S archlinux-keyring es más rápido y constituye el procedimiento recomendado.
¿Puedo instalar Omarchy en mi VPS para que ambas máquinas coincidan?
Omarchy es un escritorio Hyprland diseñado para una máquina con pantalla, GPU y teclado. En un VPS no tendrá una interfaz que utilizar y añadirá un conjunto grande de paquetes de escritorio que deberá mantener actualizado. Ejecute una distribución de servidor en el VPS y mantenga Omarchy en el portátil. Acepte que ambas máquinas tendrán conjuntos de paquetes y comandos de actualización diferentes.