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|no
- This field is used to indicate how this package should behave on a
multi-arch installations. The value same means that the package is
co-installable with itself, but it must not be used to satisfy the
dependency of any package of a different architecture from itself. The
value foreign means that the package is not co-installable with
itself, but should be allowed to satisfy the dependency of a package of a
different arch from itself. The value allowed allows
reverse-dependencies to indicate in their Depends field that they accept a
package from a foreign architecture, but has no effect otherwise. The
value no is the default when the field is omitted, in which case
adding the field with an explicit no value is generally not
needed.
- 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.