Deb822. apt modernize-source

Linux Nivel Básico 11 de ago. de 2025

Cambios que hay en la gestión de la paquetería

¿Qué es el formato DEB822?

El formato DEB822 es una nueva forma de definir los repositorios APT en Debian y sus derivados (Ubuntu ó Mint), se reemplaza el clásico formato de una sola línea (sources.list) por un formato más estructurado y legible basado en bloques de configuración.

Cambios clave

  • Antes: Cada repositorio se definía en una sola línea dentro de archivos .list
  • Ahora: Se usa un formato de múltiples líneas en archivos .sources, con campos claramente definidos como Types, URIs, Suites, Components, etc.

Ventajas del formato DEB822

  • Más legible y organizado, especialmente útil para configuraciones complejas.
  • Facilita el análisis automático por herramientas y scripts.
  • Permite comentarios y separación clara entre repositorios.
  • Mejora la seguridad al eliminar el uso de apt-key en favor de campos como Signed-By.

Ubicación

Ahora todos los archivos .sources se encuentran en la ruta: /etc/apt/sources.list.d/

Recomendación
Se recomienda trabajar con el nuevo formato .source para la lista de repositorios del equipo, pero puedes seguir utilizando el formato .list para gestionar los repositorios sin ningún problema.

Transformar de .list a .source

Puedes transformar de un modo muy simple todos los ficheros .list al nuevo .source tan solo tienes que ejecutar el siguiento comando:

sudo apt modernize-sources

Copia de seguridad para una vuelta atrás

Si no te sientes cómodo con este formato no hay problema, Debian te deja una copia de tus ficheros .list renombrados como .list.bak

Comparación de Formatos

Os pongo la comparación del repositorio de soloconlinux en formato .list y transformato en .source

Formato .list:


deb [arch=amd64 signed-by=/etc/apt/keyrings/soloconlinux.gpg] http://repositorio.soloconlinux.org.es/ trixie main contrib non-free

Todo en una única línea

Formato .source:

Types: deb
URIs: http://repositorio.soloconlinux.org.es/
Suites: trixie
Components: main contrib non-free
Signed-By: /etc/apt/keyrings/soloconlinux.gpg

El formato está mśs claro ya que cada apartado está en una línea diferente.

El comando apt es estéticamente más moderno, además de mucho más rápido.
Saltamos de la versión 2.61 de bookworm a la versión 3.02 en Debian 13.


Solución a Avisos/Errores con el nuevo formato .source

Si has transformado tus fichero de fuentes de repositorio, puede al realizar el comando apt update te aparezcan avisos incómodos en la línea de comandos.

Te muestro algunos de los errores y avisos y como puedes solucionarlo:

  • Error/Aviso: No se admite la arquitectura «i386»
Notice: Omitiendo el uso del fichero configurado «main/binary-i386/Packages» ya que el repositorio «https://deb.nodesource.com/node_x.y nodistro InRelease» no admite la arquitectura «i386»

Solución: Edita el fichero .source que produce el error e incluye en el que se utilice solo tu arquitectura (amd64), para ello incluye la siguiente línea al final del fichero:


Architectures: amd64

Ejecuta de nuevo apt update y el error deberá haber desaparecido.

Al igual que en el formato .list se permite incluir más arquitecturas, simplemente separalas por una coma ,

  • Error/Aviso: Falta la firma en ...
Notice: Missing Signed-By in the sources.list(5) entry for 'http://deb.debian.org/debian'

El error se debe a que el fichero .source generado en el proceso de "modernización" se ha quedado sin referenciar a ninguna clave.

Solución:
Revisa todos los ficheros de nombre debian*.source
Edita la línea que pone: Signed-By: y completala con la firma, deberá quedar de la siguiente forma:

Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
  • Error/Aviso: Se rechazará la firma en un año
Warning: https://repo.sitio.com/ruta/dists/stable/InRelease: Policy will reject signature within a year, see --audit for details

Uno de los problemas más habituales es que el repositorio del sitio del que estés usando su paquetería este usando una version deprecada para firmar las imágenes.

Solución:

Revisa usando el comando apt update --audit la información que devuelve para determinar el error exacto.

Los problemas más habituales son:

  • El repositorio del sitio esté usando una version deprecada para firmar las paquetería de su sitio: SHA1 is not considered secure[arch=amd64] in new source file
  • El sitio no permite revocar una firma: Policy rejected non-revocation signature

Desactivar un repositorio

La opción recomendada es editar el fichero .source e incluir en el la siguiente línea:

Enabled: no

Para activarlo cambia el valor no por yes

Otra opción es el renombrado del fichero, para desactivar un repositorio, tan sólo tienes que añadir a su extensión un .bak para que sea ignorado por el gestor de paquetes.
No vale con que lo nombres como .OLD , .BACKUKP ó .ANTIGUO, etc.
Debe de renombrarse con .bak

Desactivar comprobacion de Claves [NO RECOMENDADO]

Puede ser que por algun motivo no quieras que de un repositorio en particular se verifique que los paquetes a instalar son los oficiales y están firmados por el desarrollador y/o el sitio del que los descargas.

Para ello deberás incluir la línea, para deshabilitar las opciones de apt-secure:

Trusted: yes

¡ No recomendado !



Lista detallada de los bloques en .sources

Para que conozcais un poco más sobre los bloques (campos) que puede contener un archivo .sources en el nuevo formato DEB822, os dejo una lista detallada junto con los valores posibles más comunes para cada uno:


Campos del formato DEB822

Campo deb822DescripciónValores posibles / Ejemplos
TypesTipo de repositoriodeb, deb-src
URIsDirección del repositoriohttps://deb.debian.org/debian, http://mirror.example.com/debian
SuitesDistribución o versiónstable, testing, unstable, bookworm, trixie, etc.
ComponentsSecciones del repositoriomain, contrib, non-free, non-free-firmware
ArchitecturesArquitecturas soportadasamd64, i386, arm64, etc.
Signed-ByRuta al archivo de clave GPG para verificar firmas/usr/share/keyrings/debian-archive-keyring.gpg
Check-Valid-UntilVerifica si el repositorio tiene fecha de expiraciónyes, no
EnabledActiva o desactiva el bloqueyes, no
Allow-Insecured
Allow-Weak
Allow-Downgrade-To-Insecure
Permitir Inseguro
Permitir Debil
Permitir degradar a inseguro
yes, no
Usar con precaución, se ignoran las verificaciones de seguridad
TrustedIndica si se confía en el repositorio sin verificación de firmayes, no
Usar con precaución, confia en repositorio aunque la clave no sea correcta
Acquire-By-HashPermite usar hash para adquirir archivosyes, no
TargetsDefine qué tipos de archivos se deben adquirirEjemplo: Packages, Sources, Release
LabelEtiqueta descriptiva del repositorioTexto libre, por ejemplo: Debian Oficial, Repositorio Docker
DescriptionDescripción del bloqueTexto libre
MD5Sum, SHA1, SHA256Hashes opcionales para verificación manualValores hash en formato hexadecimal

Etiquetas

Luis GuLo

🐧 SysAdmin GNU/Linux - 🐳 Docker - 🖥️ Bash Scripting - 🐪 Perl - 🐬 MySQL - 👥 Formador de TI - 👥 Formador de SysAdmin's - 💢 Ansible - ☁️ Cloud Computing - ❤️ Debian GNU/Linux