NOMBRE¶
deb-control - Formato del fichero de control maestro de paquetes de Debian
SINOPSIS¶
control
DESCRIPCIÓN¶
Cada paquete de Debian contiene un fichero maestro «control» con
varios campos, o comentarios en aquellas líneas que empiezan con «
#». Cada campo empieza con una etiqueta, como
Package o
Version (sin distinción entre mayúsculas y minúsculas),
seguido de dos puntos y el cuerpo del campo. Sólo las etiquetas limitan
los campos. En otras palabras, el texto de los campos puede ser de varias
líneas pero las herramientas de instalación las juntarán todas
en una sola al procesar el cuerpo del campo (excepto el campo
Description, véase más abajo).
CAMPOS OBLIGATORIOS¶
- Packagenombre-del-paquete
- El valor de este campo determina el nombre del paquete, y
casi todas las herramientas de instalación lo usan para generar
nombres de ficheros.
- Version:cadena-de-caracteres-con-el-número-de-versión
- Generalmente, es la versión original del paquete en el
formato que use el autor. Puede también incluir el número de
revisión de Debian (para paquetes que no sean nativos). El formato
exacto y el algoritmo de ordenación se describen en
deb-version(5).
- Maintainer:nombre-completo
correo-electrónico
- Debería tener un formato del tipo «Fernando
Fernández <ffdez@tal.com>». Generalmente, es la persona
que ha empaquetado el programa, y no su autor original.
- Description:descripción-corta
- descripción-larga
El formato de la descripción de un paquete consiste de un resumen en la
primera línea (después del campo «Description»). Las
líneas a continuación se deberían utilizar para la
descripción más larga y detallada. Un espacio debe preceder cada
línea de la descripción larga, y las líneas en blanco deben
tener un único punto «.» a continuación del espacio
precedente.
CAMPOS OPCIONALES¶
- Section:sección
- Es un campo general que define la categoría del
paquete basándose en el programa que instala. Algunas secciones
comunes son «utils», «net», «mail»,
«text», «x11» etc.
- Priority:prioridad
- Define la importancia del paquete en relación con todo
el sistema. Algunas prioridades comunes son «required»,
«standard», «optional», «extra» etc.
En Debian los campos
Section y
Priority tienen definidos un
conjunto reducido de valores válidos de acuerdo al Manual de Normas de
Debian. Puede obtener una lista completa de estos valores con la última
versión del paquete
debian-policy.
- Essential: yes|no
- Generalmente, este campo sólo se necesita cuando la
respuesta es yes (sí). Indica un paquete necesario (esencial)
para el correcto funcionamiento del sistema. Dpkg o cualquier otra
herramienta de instalación impiden desinstalar un paquete
Essential (al menos sin utilizar opciones de forzado).
- Architecture:arch|all
- La arquitectura para la que se compiló el paquete.
Arquitecturas comunes son «i386», «m68k»,
«sparc», «alpha», «powerpc», etc. Tenga en
cuenta que la opción all es para paquetes independientes de la
arquitectura como lo son los scripts de Perl o documentación.
- Origin:nombre
- El nombre de la distribución origen del paquete.
- Bugs: url
- La dirección url del sistema de seguimiento de
fallos de este paquete. El formato usado actualmente es:
bts-type://bts-address, por ejemplo
debbugs://bugs.debian.org.
- Homepage: url
- La dirección url de la página oficial del
autor original.
- Tag: lista-de-etiquetas
- Lista de etiquetas que describen las características
del paquete. La lista y descripción de las etiquetas aceptadas se
pueden encontrar en el paquete debtags.
- Multi-Arch:
same|foreign|allowed
- Este campo se utiliza para indicar el comportamiento de
este paquete en instalaciones multiarquitectura. El valor same
significa que dos instalaciones del mismo paquete pueden coexistir, pero
no se puede utilizar para satisfacer la dependencia de un paquete de
arquitectura distinta al mismo. El valor foreign significa que no
pueden coexistir dos versiones del mismo paquete, pero se puede utilizar
para satisfacer la dependencia de otro paquete de arquitectura distinta.
El valor allowed permite que las dependencias inversas indiquen en
su campo «Depends» que necesitan un paquete de otro
arquitectura, pero no tiene ningún otro efecto.
- Source: nombre-del-código-fuente
- El nombre del paquete fuente del que proviene el paquete
binario, en caso de tener un nombre diferente al paquete original.
- Subarchitecture: valor
- Kernel-Version: valor
- Installer-Menu-Item: valor
- debian-installer utiliza estos campos, y habitualmente no
son necesarios. Para más información consulte
«/usr/share/doc/debian-installer/devel/modules.txt» del paquete
debian-installer.
- Depends: lista-de-paquetes
- Lista de paquetes necesarios para que el paquete ofrezca
una funcionalidad aceptable. El gestor de paquetes no instalará el
programa a menos que se instalen previamente todos los programas listados
en el campo Depends (al menos sin tener que utilizar las opciones
de forzado). Una instalación siempre ejecutará los scripts
«postinst» (post-instalación) de los paquetes listados bajo
«Depends:» antes de los del programa que depende de ellos. Por
otra parte, al eliminar un paquete, ejecutará los scripts de
«prerm» (pre-eliminación) de este antes de los scripts de
los paquetes listados en su campo «Depends:».
- Pre-Depends: lista-de-paquetes
- Lista de paquetes que deben estar instalados y
configurados antes de la instalación del paquete. Se suele utilizar
en caso de que el paquete requiera algún otro paquete para la
ejecución de su script «preinst».
- Recommends: lista-de-paquetes
- Lista de paquetes que habitualmente estarían
instalados con este paquete. El programa de gestión de paquetes
avisará al usuario si instala un paquete sin los paquetes listados en
su campo Recommends.
- Suggests: lista-de-paquetes
- Lista de paquetes relacionados con el paquete y que
probablemente mejoran su utilidad, aunque debe ser perfectamente razonable
instalar el programa sin éstos.
La sintaxis de los campos
Depends,
Pre-Depends,
Recommends
y
Suggests es una lista de grupos de paquetes alternativos. Cada grupo
es una lista de paquetes separado por una barra vertical «|». Los
grupos se separan mediante comas. Las comas se leen como «AND», y
las barras horizontales como «OR», lo cual se evalúa antes que
«AND». Cada elemento es un nombre de paquete que puede ir seguido de
un número de versión definido entre paréntesis.
Un número de versión puede empezar con «>>», en cuyo
caso cualquier versión posterior encajaría, siendo posible omitir el
número de revisión de Debian (separado por un guión). Las
relaciones de versión válidas son «>>» para mayor
que, «<<» para menor que,«>=» para mayor o igual
que, «<=» para menor o igual y «=» para igual que.
- Breaks: lista-de-paquetes
- Lista de paquetes que este paquete rompe, por ejemplo, al
generar fallos cuando los paquetes mencionados dependen de éste. El
programa de gestión de paquetes impedirá la configuración
de paquetes rotos; la solución más común es actualizar los
paquetes mencionados en el campo Breaks.
- Conflicts: lista-de-paquetes
- Lista de paquetes que entran en conflicto con éste,
por ejemplo, por que contienen ficheros con el mismo nombre. El programa
de gestión de paquetes impedirá que dos paquetes en conflicto
estén instalados a la vez. Dos paquetes con conflictos entre ellos
deben incluir al otro en su campo Conflicts.
- Replaces: lista-de-paquetes
- Lista de paquetes que este paquete reemplaza. Se usa para
permitir que el paquete sobreescriba los ficheros de otro paquete,
habitualmente listado también en el campo Conflicts para
forzar la desinstalación del otro paquete en caso de que este paquete
tenga ficheros con el mismo nombre.
- Provides: lista-de-paquetes
- Lista de paquetes virtuales proporcionados por este
paquete. Habitualmente, se usa cuando hay varios paquetes que proporcionan
el mismo servicio. Por ejemplo, tanto sendmail como exim pueden servir
como servidor de correo, y por ello ambos proporcionan el paquete
«mail-transport-agent», del cual pueden depender otros paquetes.
Esto permite que tanto sendmail como exim sean una opción válida
para satisfacer la dependencia. Esto evita que un paquete dependiente de
un servidor de correo necesite conocer los nombres de todos los paquetes
de los servidores de correo, usando una «|» para
separarlos.
La sintaxis de
Breaks,
Conflicts,
Replaces y
Provides es una lista de nombres de paquete separados por comas (y
opcionalmente espacios en blanco). En el campo
Conflicts la coma se lee
como «OR». Además, puede proporcionar una versión opcional
con la misma sintaxis de arriba en los campos
Breaks,
Conflicts
y
Replaces.
- Built-Using: lista-de-paquetes
- Este campo enumera paquetes fuente adicionales utilizados
durante la construcción de este paquete binario. Es una
indicación para el programa de mantenimiento del archivo de que estos
paquetes fuente adicionales se deben retener, mientras que el binario,
mantener. Este campo debe enumerar una lista de nombres de paquete fuente
con una estricta relación de versión (=). Tenga que en cuenta
que cabe que el programa de mantenimiento del archivo rechace un paquete
que declare una relación Built-Using que el archivo no puede
satisfacer.
EJEMPLO¶
Package: grep
Essential: yes
Priority: required
Section: base
Maintainer: Wichert Akkerman <wakkerma@debian.org>
Architecture: sparc
Version: 2.4-1
Pre-Depends: libc6 (>= 2.0.105)
Provides: rgrep
Conflicts: rgrep
Description: GNU grep, egrep and fgrep.
The GNU family of grep utilities may be the "fastest grep in the west".
GNU grep is based on a fast lazy-state deterministic matcher (about
twice as fast as stock Unix egrep) hybridized with a Boyer-Moore-Gosper
search for a fixed string that eliminates impossible text from being
considered by the full regexp matcher without necessarily having to
look at every character. The result is typically many times faster
than Unix grep or egrep. (Regular expressions containing backreferencing
will run more slowly, however.)
VÉASE TAMBIÉN¶
deb(5),
deb-version(5),
debtags(1),
dpkg(1),
dpkg-deb(1).
TRADUCTOR¶
Rudy Godoy <rudy@kernel-panik.org>, Rubén Porras
<nahoo@inicia.es>, Bruno Barrera C. <bruno.barrera@igloo.cl>,
Carlos Izquierdo <gheesh@ertis.net>, Esteban Manchado y NOK. Debian L10n
Spanish <debian-l10n-spanish@lists.debian.org>.
Revisiones por Santiago Vila <sanvila@unex.es>, Javier
Fernández-Sanguino, Rubén Porras, Luis Uribe y Omar Campagne.