«invalid or corrupted package (PGP signature)»
Cada paquete que distribuye Ditana está firmado, y pacman se niega a instalar uno cuya firma no puede comprobar. Eso significa que el mecanismo funciona. Pero también significa que un anillo de claves desactualizado le impide instalar precisamente las actualizaciones que lo corregirían.
Verá uno de estos mensajes, según si la clave de firma falta en su anillo de claves o está presente pero no es de confianza:
error: ditana-mirrorlist: key "3EC223A811077C09" is unknown:: Import PGP key 3EC223A811077C09? [Y/n]error: 'ditana-mirrorlist-1.12-1-any.pkg.tar.zst': invalid or corrupted package (PGP signature)error: ditana-mirrorlist: signature from "Stefan Zipproth <[email protected]>" is unknown trusterror: failed to commit transaction (invalid or corrupted package (PGP signature))La reparación
Sección titulada «La reparación»Para un paquete de Ditana:
sudo pacman -Sy ditana-keyringPara un paquete de Arch (el mismo problema, la misma forma; este es frecuente en sistemas que han pasado meses sin conexión):
sudo pacman -Sy archlinux-keyringEsta es la excepción a la regla «nunca -Sy con un solo paquete» de Actualizar no es opcional, y vale la pena entender por qué es segura en lugar de tratarla como un conjuro mágico. En la transacción hay un solo paquete, así que no hay ninguna actualización parcial de un grafo de dependencias. Ese paquete es pequeño y no contiene ejecutables. Y su firma se puede verificar con una clave que su instalación ya tiene, así que no se confía en nada en lo que no se confiara antes: instalarlo ejecuta pacman-key --populate, que agrega el conjunto actual de claves de Ditana a su anillo de claves. Después, realice como de costumbre una actualización completa.
Si prefiere hacerlo a mano, esto es exactamente lo que ejecuta el script de instalación del paquete:
sudo pacman-key --populate ditanaVerificar las claves por su cuenta
Sección titulada «Verificar las claves por su cuenta»Los paquetes de Ditana están firmados con esta clave:
pub rsa4096 3F80 54C3 FF75 5E55 44E6 8516 BC33 3E9A E877 D45Auid Stefan Zipproth <[email protected]>uid Stefan Zipproth <[email protected]>Tiene una subclave de firma dedicada, y esa subclave es la que firma la base de datos del repositorio y cada paquete compilado desde agosto de 2026:
sub rsa4096 068E EA2A 490B 0C63 AEAA 3BCD 3EC2 23A8 1107 7C09La huella digital con la que usted verifica sigue siendo la de arriba: una subclave puede reemplazarse sin que la huella cambie. Un anillo de claves anterior a ditana-keyring 20260809 no conoce la subclave en absoluto, y esa es exactamente la situación que resuelve la reparación descrita arriba.
Compruebe en qué confía su propio sistema con:
pacman-key --list-sigs ditanagpg --show-keys --with-subkey-fingerprint /usr/share/pacman/keyrings/ditana.gpgDeliberadamente, aquí no ofrecemos un script de reparación para descargar y ejecutar. La situación en la que usted se encuentra es «mi verificación de firmas falla»; responder a eso con «descargue esto y ejecútelo como root» es formalmente la misma operación que las firmas existen para impedir, y tampoco se podría firmar el script de forma que tuviera sentido: la comprobación de firmas es precisamente la parte que está rota. Un comando que usted puede leer es mejor que una caja negra.
Otras causas del mismo mensaje
Sección titulada «Otras causas del mismo mensaje»- El reloj está mal. Una firma no es válida antes del momento en que se creó. Si el reloj del sistema está muy atrasado —una pila CMOS agotada, una VM recién creada, un arranque dual con Windows que escribe la hora local en el RTC—, cada firma parece venir del futuro. Compruébelo con
timedatectly active NTP consudo timedatectl set-ntp true. - Un servidor réplica entregó un archivo truncado. En ese caso, el mensaje menciona una suma de comprobación en lugar de una firma PGP.
sudo pacman -Sccvacía la caché de descargas, y la próxima actualización vuelve a descargar el archivo.
Esta traducción la hizo una máquina. Los lectores la mejoran en Weblate.