SINOPSIS
controlDESCRIPCIÓ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
- Package: <nombre-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 <[email protected]>». 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 usar 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 usar 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: <tipo-bts>://<direccion-bts>, 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.
- 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.
- 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 usar 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 usar 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.
EJEMPLO
Package: grep Essential: yes Priority: required Section: base Maintainer: Wichert Akkerman <[email protected]> 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.)
TRADUCTOR
Rudy Godoy <[email protected]>, Rubén Porras <[email protected]>, Bruno Barrera C. <[email protected]>, Carlos Izquierdo <[email protected]>, Esteban Manchado y NOK. Debian L10n Spanish <[email protected]>.Revisiones por Santiago Vila <[email protected]>, Javier Fernández-Sanguino, Rubén Porras, Luis Uribe y Omar Campagne.