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 contiene los datos instalables. [2]
dpkg proporciona la funcionalidad básica para instalar y manipular paquetes Debian. Generalmente, los usuarios finales no administran los paquetes directamente con dpkg, sino que utilizan el software de administración de paquetes APT u otras interfaces APT como aptitude ( nCurses ) y synaptic ( GTK ). [3]
Los paquetes Debian pueden convertirse a otros formatos de paquetes y viceversa usando alien , y crearse 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 usan sólo para iniciar una instalación de Debian. Aunque estos archivos usan la extensión de nombre 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 sólo 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 usan en Debian-Installer .
Implementación
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]
debian-binary - Un archivo de texto llamado debian-binaryque contiene una sola línea que indica el número de versión del formato del paquete. ( 2.0para versiones actuales de Debian). [9]
Archivo de control : un archivo tar llamado 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]
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 comprobació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]
shlibs lista de dependencias de bibliotecas compartidas. [18] [19]
Paquetes firmados
Las distribuciones basadas en Debian admiten la verificación de firmas OpenPGP de los paquetes Debian firmados, pero la mayoría (si no todas) tienen esta característica 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 un medio para verificar la autenticidad de los archivos. [21] [22] Actualmente hay 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 enumeran en el manual oficial de Debian o en la página del manual sobre el formato de paquete binario. [27] [8]
^ abc 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 .
^ "Cursos Debian/Mantenimiento de paquetes/Gestión de paquetes". debian.org . 31 Oct 2010 . Consultado el 26 Ago 2016 .
^ "Descripción general de las herramientas de mantenimiento de Debian / Alien". debian.org . nd . Consultado el 26 de agosto de 2016 .
^ "Capítulo 3. Componentes DI o udebs". debian.org . nd Archivado desde el original el 3 de diciembre de 2011 . Consultado el 26 de agosto de 2016 .
^ "Página de manual deb-old(5): antiguo formato de paquetes binarios de Debian". manpages.debian.org . Consultado el 23 de abril de 2017 .
^ Lucas Nussbaum (16 de octubre de 2014). "Tutorial de empaquetado de Debian" (PDF) . debian.org . Consultado el 26 de agosto de 2016 .
^ ab "página del manual deb(5): formato de los paquetes binarios de Debian". manpages.debian.org . Consultado el 23 de abril de 2017 .
^ abcd "Cómo crear paquetes binarios en Debian/3. Estructura de paquetes". tldp.org . nd . Consultado el 26 de agosto de 2016 .
^ "Página de manual deb-control(5): formato del archivo de control maestro de los paquetes Debian". manpages.debian.org . Consultado el 23 de abril de 2017 .
^ "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 .
^ Josip Rodin y Osamu Aoki (9 de junio de 2015). "Guía para nuevos mantenedores de Debian - Capítulo 4 Archivos necesarios en el directorio debian". debian.org . Consultado el 26 de agosto de 2016 .
^ "Manual de políticas de Debian, capítulo 7: Declaración de relaciones entre paquetes". debian.org . 30 de marzo de 2016 . Consultado el 26 de agosto de 2016 .
^ "Manual del administrador de Debian - Metainformación de paquetes". debian-handbook.info . nd . Consultado el 26 de agosto de 2016 .
^ ab "Capítulo 7. Conceptos básicos del sistema de gestión de paquetes de Debian". debian.org . 12 de agosto de 2019 . Consultado el 27 de mayo de 2021 .
^ "Scripts del mantenedor de Debian". debian.org . 11 Oct 2012 . Consultado el 26 Ago 2016 .
^ Joey Hess (sin fecha). "El tutorial del programador de Debconf: el script de configuración". fifi.org . Consultado el 26 de agosto de 2016 .
^ "Página de manual de dpkg-shlibdeps(1)". manpages.debian.org . Consultado el 23 de abril de 2017 .
^ "Política de Debian - 8.6 Dependencias entre la biblioteca y otros paquetes". debian.org . 30 Mar 2016 . Consultado el 26 Ago 2016 .
^ abcd 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 .
^ "Información interna del repositorio APT". packagecloud.io . 4 de agosto de 2015 . Consultado el 26 de agosto de 2016 .
^ "SecureApt - Todo sobre Secure Apt". debian.org . 22 Sep 2015 . Consultado el 26 Ago 2016 .
^ "Página de manual debsig-verify(1)". manpages.debian.org . Consultado el 23 de abril de 2017 .
^ "Página de manual debsigs(1)". manpages.debian.org . Consultado el 23 de abril de 2017 .
^ Andreas Barth (29 de diciembre de 2003). "Integración de firmas en los archivos comprimidos de Debian". turmzimmer.net . Archivado desde el original el 22 de febrero de 2006 . Consultado el 29 de diciembre de 2003 .{{cite web}}: CS1 maint: bot: estado de URL original desconocido ( enlace )
^ "Política para los debsigs". turmzimmer.net . 1 de febrero de 2004. Archivado desde el original el 14 de julio de 2006 . Consultado el 1 de febrero de 2004 .{{cite web}}: CS1 maint: bot: estado de URL original desconocido ( enlace )
^ "Manual del administrador de Debian - Cap. 5. Sistema de empaquetado: herramientas y principios fundamentales". debian.org . nd . Consultado el 26 de agosto de 2016 .
^ Kumar, Sarvottam (3 de julio de 2020). «Revisión de Linux Mint 20 «Ulyana»: el sistema operativo más completo para todos». Fossbytes . Archivado desde el original el 15 de mayo de 2024 . Consultado el 15 de mayo de 2024 .
^ Saive, Ravi (12 de diciembre de 2022). "3 formas de instalar paquetes DEB en Ubuntu, Mint y Debian". www.ubuntumint.com . Archivado desde el original el 15 de mayo de 2024 . Consultado el 15 de mayo de 2024 .
^ "Fink FAQ - Preguntas generales". finkproject.org . 6 de junio de 2015 . Consultado el 26 de agosto de 2016 .
^ "Fink FAQ - Instalación, uso y mantenimiento de Fink". finkproject.org . 6 de junio de 2015 . Consultado el 26 de agosto de 2016 .
^ Jay Freeman (nd). "Llevar APT de Debian al iPhone". saurik.com . Consultado el 26 de agosto de 2016 .
^ Erica Sadun (28 de febrero de 2008). "La instalación al estilo Debian llega al iPhone". engadget.com . Consultado el 26 de agosto de 2016 .
Enlaces externos
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
Manipulación de debs directamente con utilidades estándar