Articulo de referencia

deb (formato de archivo)

(showing the [[Debian]] logo on a package)"},"extension":{"wt":".deb, .udeb"},"mime":{"wt":"application/vnd.debian.binary-package {{cite web\n | title = Media Type Registration ...

deb es el formato, así como la extensión del nombre de archivo del formato del paquete de software para Debian y sus derivados .

Diseño

GDebi instala un paquete .deb

Los paquetes Debian son archivos ar estándar de Unix que incluyen dos archivos tar . Un archivo contiene la información de control y el otro, los datos instalables. [ 2 ]

dpkg proporciona la funcionalidad básica para instalar y manipular paquetes Debian. Generalmente, los usuarios finales no gestionan los paquetes directamente con dpkg , sino que utilizan el software de gestión de paquetes APT u otras interfaces APT como aptitude ( nCurses ) y synaptic ( GTK ). [ 3 ]

Los paquetes Debian se pueden convertir a otros formatos de paquete y viceversa usando alien , y se pueden crear a partir del código fuente usando checkinstall o Debian Package Maker. [ 4 ]

Algunos paquetes básicos de Debian están disponibles como udeb ("micro debs") y normalmente se utilizan solo para arrancar una instalación de Debian. Aunque estos archivos usan la extensión de archivo udeb , se adhieren a la misma especificación de estructura que los archivos deb ordinarios . Sin embargo, a diferencia de sus contrapartes deb , los paquetes udeb contienen solo archivos funcionales esenciales. [ 5 ] En particular, los archivos de documentación normalmente se omiten. Los paquetes udeb no se pueden instalar en un sistema Debian estándar, pero se utilizan en Debian-Installer .

Implementación

Diagrama que muestra un ejemplo de estructura de archivos de un archivo .deb.
Editor hexadecimal Frhed que muestra los datos sin procesar de un paquete Debian.

Antes de Debian 0.93, un paquete consistía en un encabezado de archivo y dos archivos gzip concatenados . [ 6 ] Desde Debian 0.93, un paquete deb se implementa como un archivo ar . [ 7 ] Este archivo contiene tres archivos en un orden específico: [ 8 ] [ 9 ]

  1. debian-binary - Un archivo de texto con un nombre que debian-binarycontiene una sola línea que indica el número de versión del formato del paquete. ( 2.0para las versiones actuales de Debian). [ 9 ]
  2. Archivo de control : un archivo tar con nombre control.tarcontiene los scripts del mantenedor y la metainformación del paquete (nombre del paquete, versión, dependencias y mantenedor). Se admite la compresión del archivo con gzip o xz y zstd . La extensión del archivo cambia para indicar el método de compresión. [ 9 ] [ 2 ]
  3. Archivo de datos : un archivo tar data.tarcontiene los archivos instalables. Se admite la compresión del archivo con gzip , bzip2 , lzma o xz y zstd . La extensión del archivo cambia para indicar el método de compresión. [ 9 ] [ 2 ]

Archivo de control

El contenido del archivo de control puede incluir los siguientes archivos:

  • El control contiene una breve descripción del paquete, así como otra información, como sus dependencias. [ 10 ] [ 11 ] [ 12 ] [ 13 ]
  • md5sums contiene sumas de verificación MD5 de todos los archivos del paquete para detectar archivos corruptos o incompletos. [ 14 ]
  • conffiles enumera los archivos del paquete que deben tratarse como archivos de configuración. Los archivos de configuración no se sobrescriben durante una actualización a menos que se especifique lo contrario. [ 15 ]
  • preinst , postinst , prerm y postrm son scripts opcionales que se ejecutan antes o después de instalar o eliminar el paquete. [ 15 ] [ 16 ]
  • config es un script opcional que admite el mecanismo de configuración debconf . [ 17 ]
  • Lista de dependencias de bibliotecas compartidas de shlibs . [ 18 ] [ 19 ]

Paquetes firmados

Las distribuciones basadas en Debian admiten la verificación de firmas OpenPGP de paquetes Debian firmados, pero la mayoría (si no todas) tienen esta función deshabilitada por defecto. [ 20 ] En su lugar, los paquetes se verifican firmando los metadatos del repositorio (es decir, Releaselos archivos). Los archivos de metadatos a su vez incluyen sumas de comprobación para los archivos del repositorio como medio para verificar la autenticidad de los archivos. [ 21 ] [ 22 ] Actualmente existen dos implementaciones diferentes para firmar paquetes individuales. La primera se realiza a través del conjunto de herramientas debsigs/ debsig-verify, que es compatible con dpkg . [ 20 ] [ 23 ] La segunda se realiza a través del dpkg-sigprograma que no es compatible con dpkg , por lo que los paquetes deben verificarse manualmente con el dpkg-sigprograma. [ 20 ] [ 24 ] [ 25 ] [ 26 ] Ambos formatos agregan nuevas secciones al archivo ar para almacenar la información de la firma, pero los formatos no son compatibles entre sí. [ 20 ] Ninguna de las modificaciones al formato del paquete se enumera en el manual oficial de Debian ni en la página man sobre el formato del paquete binario. [ 27 ] [ 8 ]

Adopción

Véase también

Referencias

  1. "Registro de tipo de medio para vnd.debian.binary-package" . Autoridad de Números Asignados de Internet . Consultado el 21 de mayo de 2014 .
  2. 1 2 3 Raphaël Hertzog (17 de septiembre de 2010). "Cómo crear paquetes Debian con métodos de compresión alternativos" . raphaelhertzog.com . Consultado el 26 de agosto de 2016 .
  3. "Cursos de Debian/Mantenimiento de paquetes/Gestión de paquetes" . debian.org . 31 de octubre de 2010. Consultado el 26 de agosto de 2016 .
  4. "Descripción general de las herramientas para mantenedores de Debian / Alien" . debian.org . nd . Consultado el 26 de agosto de 2016 .
  5. "Capítulo 3. Componentes DI o udebs" . debian.org . nd Archivado del original el 3 de diciembre de 2011. Recuperado el 26 de agosto de 2016 .
  6. "deb-old(5) man page: Debian old binary package format" . manpages.debian.org . Consultado el 23-04-2017 .
  7. Lucas Nussbaum (16 de octubre de 2014). "Tutorial de empaquetado de Debian" (PDF) . debian.org . Consultado el 26 de agosto de 2016 .
  8. 1 2 "página man deb(5): formato de paquete binario de Debian" . manpages.debian.org . Consultado el 23 de abril de 2017 .
  9. 1 2 3 4 "Debian Binary Package Building HOWTO/3. Package Structure" . tldp.org . nd . Consultado el 26 de agosto de 2016 .
  10. "deb-control(5) man page: formato del archivo de control maestro de los paquetes Debian" . manpages.debian.org . Consultado el 23 de abril de 2017 .
  11. "Manual de políticas de Debian, capítulo 5: archivos de control y sus campos" . debian.org . 30 de marzo de 2016. Consultado el 26 de agosto de 2016 .
  12. Josip Rodin y Osamu Aoki (9 de junio de 2015). "Guía para nuevos mantenedores de Debian - Cap. 4 Archivos necesarios en el directorio debian" . debian.org . Consultado el 26 de agosto de 2016 .
  13. "Manual de políticas de Debian Cap. 7 - Declaración de relaciones entre paquetes" . debian.org . 30 de marzo de 2016. Consultado el 26 de agosto de 2016 .
  14. "Manual del administrador de Debian - Metainformación de paquetes" . debian-handbook.info . nd . Consultado el 26 de agosto de 2016 .
  15. 1 2 "Capítulo 7. Fundamentos del sistema de gestión de paquetes Debian" . debian.org . 12 de agosto de 2019. Consultado el 27 de mayo de 2021 .
  16. "Scripts de mantenimiento de Debian" . debian.org . 11 de octubre de 2012. Consultado el 26 de agosto de 2016 .
  17. Joey Hess (s.f.). "Tutorial del programador de Debconf: el script de configuración" . fifi.org . Archivado del original el 31 de agosto de 2016. Consultado el 26 de agosto de 2016 .
  18. "página man de dpkg-shlibdeps(1)" . manpages.debian.org . Consultado el 23 de abril de 2017 .
  19. "Política de Debian - 8.6 Dependencias entre la biblioteca y otros paquetes" . debian.org . 30 de marzo de 2016. Consultado el 26 de agosto de 2016 .
  20. 1 2 3 4 Joe Damato (28 de octubre de 2014). "CÓMO: Firmar y verificar paquetes deb y repositorios APT con GPG" . packagecloud.io . Consultado el 26 de agosto de 2016 .
  21. "Aspectos internos del repositorio APT" . packagecloud.io . 4 de agosto de 2015. Consultado el 26 de agosto de 2016 .
  22. "SecureApt - Todo sobre apt seguro" . debian.org . 22 de septiembre de 2015. Consultado el 26 de agosto de 2016 .
  23. "página man debsig-verify(1)" . manpages.debian.org . Consultado el 23 de abril de 2017 .
  24. "página man debsigs(1)" . manpages.debian.org . Consultado el 23 de abril de 2017 .
  25. Andreas Barth (29 de diciembre de 2003). "Integración de firmas en archivos de Debian" . turmzimmer.net . Archivado del original el 22 de febrero de 2006. Consultado el 29 de diciembre de 2003 .{{cite web}}: CS1 maint: bot: estado de la URL original desconocido ( enlace )
  26. "política para debsigs" . turmzimmer.net . 1 de febrero de 2004. Archivado del original el 14 de julio de 2006. Consultado el 1 de febrero de 2004 .{{cite web}}: CS1 maint: bot: estado de la URL original desconocido ( enlace )
  27. "Manual del administrador de Debian - Cap. 5. Sistema de empaquetado: herramientas y principios fundamentales" . debian.org . s.f. Consultado el 26 de agosto de 2016 .
  28. Kumar, Sarvottam (2020-07-03). "Reseña de Linux Mint 20 "Ulyana": El sistema operativo más completo para todos" . Fossbytes . Consultado el 15 de mayo de 2024 .{{cite web}}: CS1 maint: servicio de archivado obsoleto ( enlace )
  29. ^ Saive, Ravi (12 de diciembre de 2022). "Tres formas de instalar paquetes Deb en Ubuntu, Mint y Debian" . www.ubuntumint.com . Consultado el 15 de mayo de 2024 .{{cite web}}: CS1 maint: servicio de archivado obsoleto ( enlace )
  30. "Preguntas frecuentes de Fink - Preguntas generales" . finkproject.org . 6 de junio de 2015. Consultado el 26 de agosto de 2016 .
  31. "Preguntas frecuentes sobre Fink: instalación, uso y mantenimiento de Fink" . finkproject.org . 6 de junio de 2015. Consultado el 26 de agosto de 2016 .
  32. Freeman, Jay (s.f.). "Llevando Debian APT al iPhone" . saurik.com . Consultado el 26 de agosto de 2016 .
  33. Erica Sadun (28 de febrero de 2008). "Llega la instalación al estilo Debian al iPhone" . engadget.com . Consultado el 26 de agosto de 2016 .
  • Preguntas frecuentes sobre Debian: Conceptos básicos del sistema de gestión de paquetes de Debian
  • Debreate: un potente generador de paquetes Debian.
  • Compatibilidad con funciones .deb
  • Manipular directamente los paquetes .deb con utilidades estándar
  • Vídeo sobre la anatomía de un paquete Debian