NOMBRE
apt-ftparchive - Herramienta para generar ficheros de índiceSINOPSIS
apt-ftparchive
[ -dsq] [--md5] [--delink] [--readonly]
[--contents] [ --arch architecture]
[-o= config_string] [-c=config_file]
{packages
path [override-file [pathprefix]] |
sources
path [override-file [pathprefix]] |
contents path | release path |
generate config_file section... |
clean config_file | {-v | --version} |
{-h | --help}}
DESCRIPCIÓN
apt-ftparchive es la herramienta de la línea de órdenes que genera los ficheros de índice que APT utiliza para acceder a la fuente de la distribución. Los ficheros de índice se deberían generar en el sitio de origen basado en el contenido de ese sitio. apt-ftparchive es un superconjunto del programa dpkg-scanpackages(1), e incorpora su funcionalidad al completo mediante la orden packages. También contiene un generador de contenidos de fichero, contents, y un modo elaborado para realizar un «script» para el proceso de generación de un archivo completo. Internamente, apt-ftparchive puede hacer uso de bases de datos binarias para almacenar los contenidos de un fichero «.deb» y no depender de ningún programa externo como gzip(1). Cuando se realiza una generación completa, automáticamente realiza comprobaciones de cambios en los ficheros y genera los ficheros de salida comprimidos deseados. A menos que se use la opción -h o --help, una de las siguientes órdenes debe estar presente. packagesLa orden «packages» genera un
fichero de paquete a partir de un directorio. Busca recursivamente ficheros
«.deb» en el directorio proporcionado, generando un registro de
paquete en la salida estándar para cada uno. Esta orden es casi un
equivalente de dpkg-scanpackages(1).
La opción --db se puede usar para especificar una base de datos
binaria para la caché (registro de paquetes).
sources
La orden sources genera un fichero de
índice de fuentes a partir de un directorio. Toma el directorio
proporcionado y busca en él recursivamente ficheros
«.dsc», generando un registro de fuente en la salida
estándar para cada uno. Esta orden es casi un equivalente de
dpkg-scansources(1).
Si se define un fichero alternativo, se buscará un fichero de fuentes
alternativo con la extensión «.src». Puede usar la
opción --source-override para cambiar el fichero de fuentes alternativo
que se usará.
contents
La orden contents genera un fichero de
contenidos a partir de un directorio. Toma el directorio proporcionado y busca
en él recursivamente ficheros «.deb», lee la lista de
ficheros para cada uno, los ordena y muestra en la salida estándar la
lista de ficheros que coinciden con los paquetes. Los directorios no se
muestran por la salida estándar. Si varios paquetes tienen el mismo
fichero, entonces cada paquete se separará por una coma en la salida.
La opción --db se puede usar para especificar una base de datos
binaria para la caché (registro de paquetes).
release
The release command generates a Release file
from a directory tree. It recursively searches the given directory for
uncompressed and compressed Packages, Sources, Contents, Components and icons
files as well as Release, Index and md5sum.txt files by default
(APT::FTPArchive::Release::Default-Patterns). Additional filename patterns can
be added by listing them in APT::FTPArchive::Release::Patterns. It then writes
to stdout a Release file containing (by default) an MD5, SHA1, SHA256 and
SHA512 digest for each file.
Los valores para los campos de metadatos adicionales en el fichero
«Release» se toman de las variables correspondientes en
APT::FTPArchive::Release, por ejemplo APT::FTPArchive::Release::Origin. Los
campos permitidos son: Origin, Label, Suite, Version, Codename, Date,
NotAutomatic, ButAutomaticUpgrades, Acquire-By-Hash, Valid-Until, Signed-By,
Architectures, Components y Description.
generate
La orden generate se ha diseñado para
ejecutarse desde un script de cron y genera los índices de acuerdo a lo
proporcionado en el fichero de configuración. El lenguaje de
configuración proporciona una forma flexible de definir qué
ficheros de índice se generarán a partir de qué
directorios, así como proporcionar una forma sencilla de mantener la
configuración necesaria.
clean
La orden clean ordena las bases de datos que
usa el fichero de configuración proporcionado, eliminando los registros
que no son necesarios.
LA CONFIGURACIÓN DE «GENERATE»
La orden generate usa un fichero de configuración para describir los ficheros que se generarán. Sigue el típico formato de configuración de ISC presente en las herramientas de ISC como bind 8 y dhcpd. apt.conf(5) contiene una descripción de la sintaxis. Tenga en cuenta que la configuración de «generate» se analiza por sección, pero apt.conf(5) se analiza por árbol. Esto sólo afecta a cómo se maneja el ámbito de la etiqueta. La configuración de «generate» tiene cuatro secciones diferentes, descritas a continuación.Sección Dir
La sección Dir define los directorios estándar necesarios para ubicar los ficheros necesarios durante el proceso de generación. A estos directorios se les añaden ciertas rutas relativas definidas en secciones posteriores para producir una ruta absoluta. ArchiveDirDefine la raíz del archivo FTP; en una
configuración estándar de Debian éste es el directorio
que contiene el ls-LR y los nodos «dist».
OverrideDir
Define la ubicación de los ficheros
alternativos.
CacheDir
Define la ubicación de los ficheros
almacenados.
FileListDir
Define la ubicación de los ficheros del
listado de ficheros, si se usa posteriormente el valor FileList.
Sección Default
La sección Default define los valores predeterminados, y los ajustes que controlan la operación del generador. Otras secciones pueden sobrescribir estos valores predeterminados con un valor de la sección. Packages::CompressSets the default compression schemes to use
for the package index files. It is a string that contains a space separated
list of at least one of the compressors configured via the
APT::Compressor configuration scope. The default for all compression
schemes is '. gzip'.
Packages::Extensions
Define la lista predeterminada de extensiones
de fichero que son ficheros de paquete. El valor predeterminado es
«.deb».
Sources::Compress
Esta opción es similar a
Packages::Compress excepto que controla la compresión para los ficheros
«Sources».
Sources::Extensions
Define la lista predeterminada de las
extensiones de fichero que son ficheros de fuentes. El valor predeterminado es
«.dsc».
Contents::Compress
Esta opción es similar a
Packages::Compress excepto que controla la compresión para los ficheros
«Contents».
Translation::Compress
Esta opción es similar a
Packages::Compress excepto que controla la compresión para el fichero
maestro Translation-en.
DeLinkLimit
Define el número de kilobytes a
desenlazar (y reemplazar con enlaces duros) por ejecución. Se usa junto
al valor External-Links de cada sección.
FileMode
Define el modo de todos los ficheros de
índice creados. El valor predeterminado es 0644. Todos los ficheros de
índice se ajustan a este modo sin tener en cuenta la máscara de
usuario («umask»).
LongDescription
Define si se incluyen descripciones largas en
el fichero Packages, o si se separan en un fichero Translation-en
maestro.
Sección TreeDefault
Define los valores predeterminados de las secciones Tree. Todas estas variables son variables de sustitución y reemplazan las cadenas $(DIST), $(SECTION) y $(ARCH) con sus valores respectivos. MaxContentsChangeDefine el número de kilobytes de los
ficheros de contenido que se generan cada día. Los ficheros de
contenido están en una cola «round-robin», de modo que
durante varios días todos se regenerarán.
ContentsAge
Controla el número de días en
los que se permite comprobar un fichero de contenido sin cambios. Si este
límite caduca, el tiempo de modificación (mtime) del fichero de
contenido se actualiza. Este caso puede aparecer si un fichero de paquete
cambia de forma que no resulte en un fichero de contenido nuevo (por ejemplo,
una edición alternativa). Se permite la retención con la
esperanza de que se instalen nuevos «.deb», lo cual precisa un
fichero nuevo de todos modos. El valor predeterminado es diez, las unidades
usadas son días.
Directory
Define la raíz del directorio
«.deb». El valor predeterminado es
$(DIST)/$(SECTION)/binary-$(ARCH)/
SrcDirectory
Define la raíz del directorio de los
paquetes de fuentes. El valor predeterminado es
$(DIST)/$(SECTION)/source/
Packages
Define el fichero «Packages» de
salida. El valor predeterminado es
$(DIST)/$(SECTION)/binary-$(ARCH)/Packages
Sources
Define el fichero «Sources» de
salida. El valor predeterminado es $(DIST)/$(SECTION)/source/Sources
Translation
Define el fichero maestro
«Translation-en» que contiene las descripciones largas en el
caso de que no se incluyan en el fichero «Packages». El valor
predeterminado es $(DIST)/$(SECTION)/i18n/Translation-en
InternalPrefix
Define el prefijo de la ruta que hace que un
enlace simbólico se considere un enlace interno en lugar de un enlace
externo. El valor predeterminado es $(DIST)/$(SECTION)/
Contents
Define el fichero «Contents» de
salida. El valor predeterminado es $(DIST)/Contents-$(ARCH). Si este valor
provoca que varios ficheros «Packages» se relacionen con un
único fichero «Contents» (el comportamiento
predeterminado), apt-ftparchive integrará automáticamente
esos ficheros de paquete.
Contents::Header
Define el fichero de cabecera a añadir
al fichero «Contents» de salida.
BinCacheDB
Define la base de datos binaria de la
caché para usar en esta sección. Varias secciones pueden
compartir la misma base de datos.
FileList
Define que apt-ftparchive
debería leer la lista de ficheros del fichero proporcionado en lugar de
explorar recursivamente el árbol de directorios. A los nombres de los
ficheros relativos se les añade como prefijo el directorio del
archivo.
SourceFileList
Define que apt-ftparchive
debería leer la lista de ficheros del fichero proporcionado en lugar de
explorar recursivamente el árbol de directorio. A los nombres de los
ficheros relativos se les añade como prefijo el directorio del archivo.
Sólo se usa cuando se procesan índices de fuentes.
Sección Tree
La sección Tree define un árbol de un archivo de paquetes Debian estándar que consiste en un directorio base, varias secciones en ese directorio base y finalmente varias arquitecturas en cada sección. La ruta exacta usada se define en la variable de sustitución Directory. La sección Tree toma un ámbito de una etiqueta que define la variable $(DIST) y la raíz del árbol (a la ruta se le añade el prefijo ArchiveDir). Normalmente esto es un valor como dists/bookworm. Todos los valores definidos en la sección TreeDefault se pueden utilizar en la sección Tree, así como tres nuevas variables. Cuando se procesa una sección Tree apt-ftparchive realiza una operación similar a la siguiente:for i in Sections do for j in Architectures do Generar con DIST=scope SECTION=i ARCH=j
Es una lista de secciones separadas por
espacios que aparecen bajo la distribución; habitualmente, es similar a
main contrib non-free non-free-firmware.
Architectures
This is a space separated list of all the
architectures that appear under search section. The special architecture
'source' is used to indicate that this tree has a source archive. The
architecture 'all' signals that architecture specific files like Packages
should not include information about architecture all packages in all files as
they will be available in a dedicated file.
LongDescription
Define si se incluyen descripciones largas en
el fichero Packages, o si se separan en un fichero Translation-en
maestro.
BinOverride
Define el fichero binario alternativo.
Éste contiene la información sobre la sección, la
prioridad y la dirección del mantenedor.
SrcOverride
Define el fichero de fuentes alternativo.
Éste contiene la información sobre la sección.
ExtraOverride
Define el fichero binario alternativo
adicional.
SrcExtraOverride
Define el fichero de fuentes alternativo
adicional.
Sección BinDirectory
La sección bindirectory define un directorio binario sin ningún tipo de estructura especial. El ámbito de la etiqueta define la ubicación del directorio binario, la configuración es similar a la sección Tree sin sustituir las variables o la configuración de SectionArchitecture. PackagesDefine el fichero «Packages» de
salida.
Sources
Define el fichero «Sources» de
salida. Es necesario al menos un fichero Packages o Sources.
Contents
Define el fichero «Contents» de
salida (opcional)
BinOverride
Define el fichero binario alternativo.
SrcOverride
Define el fichero de fuentes
alternativo.
ExtraOverride
Define el fichero binario alternativo
adicional.
SrcExtraOverride
Define el fichero de fuentes alternativo
adicional.
BinCacheDB
Define la base de datos de la
caché.
PathPrefix
Añade una ruta a todas las rutas de
salida.
FileList, SourceFileList
Define el fichero de la lista de
ficheros.
EL FICHERO BINARIO ALTERNATIVO
El fichero binario alternativo es totalmente compatible con dpkg-scanpackages(1). Contiene cuatro campos separados por espacios. El primero es el nombre del paquete, el segundo la prioridad asignada el paquete, el tercero es la sección a la que se fuerza el paquete y el último es el campo de permutación del mantenedor. La forma general del campo del mantenedor es:antigua [// antigua-n]* => nueva
nueva
EL FICHERO DE FUENTES ALTERNATIVO
El fichero de fuentes alternativo es totalmente compatible con dpkg-scansources(1). Contiene dos campos separados por espacios. El primero es el nombre del paquete fuente, el segundo es la sección a la que se asignará.EL FICHERO ALTERNATIVO ADICIONAL
El fichero alternativo adicional permite añadir o reemplazar en la salida cualquier etiqueta arbitraria. Tiene tres columnas, la primera es el paquete, la segunda es la etiqueta y el resto de la línea es el nuevo valor.OPCIONES
Todas las opciones de la línea de órdenes se pueden definir mediante el fichero de configuración, las descripciones indican la opción de la configuración a definir. Para opciones de tipo «boolean» puede invalidar el fichero de configuración utilizando algo como -f-,--no-f, -f=no u otras muchas variaciones. --md5, --sha1, --sha256, --sha512Genera la suma de control dada. Por
omisión, estas opciones están activas. Si se desactivan, los
ficheros de índice generados no contendrán los campos de suma de
control donde sea posibl. Opciones de configuración: APT::FTPArchive::
Checksum y APT::FTPArchive:: Index::Checksum donde
Index puede ser Packages, Sources o Release, y Checksum puede
ser MD5, SHA1, SHA256 o SHA512.
-d, --db
Utiliza una base de datos binaria para la
caché. Ésto no afecta a la orden «generate».
Opción de configuración: APT::FTPArchive::DB.
-q, --quiet
Silencioso, produce una salida adecuada para
su almacenamiento, omitiendo los indicadores de progreso. Más letras
«q» producen una salida más silenciosa, hasta un
máximo de dos letras. Además, es posible usar -q=# para
ajustar el nivel de silencio, ignorando el fichero de configuración.
Opción de configuración: quiet.
--delink
Realiza el desenlazado. Esta opción
activa el desenlazado de los ficheros si se usa la opción
External-Links. Esta activa de forma predeterminada y se puede desactivar
mediante --no-delink. Opción de configuración:
APT::FTPArchive::DeLinkAct.
--contents
Realiza la generación de
«contents». Cuando se usa esta opción y los
índices de los paquetes se están generando con una base de datos
de la caché, el listado de los ficheros se extraerá
también y se almacenará en la base de datos para su uso
posterior. Cuando se usa la orden «generate» esta opción
también permite la creación de cualquier fichero
«Contents». Esta activa de forma predeterminada. Opción
de configuración: APT::FTPArchive::Contents.
-s, --source-override
Selecciona el fichero de fuentes alternativo a
usar con la orden sources. Opción de configuración:
APT::FTPArchive::SourceOverride.
--readonly
Define los permisos de las bases de datos de
la caché como sólo lectura. Opción de
configuración: APT::FTPArchive::ReadOnlyDB.
-a, --arch
Hace que las órdenes packages y
contents sólo acepten aquellos paquetes que coinciden con *_arch.deb o
*_all.deb, en lugar de todos los ficheros de paquete en la ruta dada. Elemento
de configuración: APT::FTPArchive::Architecture.
APT::FTPArchive::AlwaysStat
almacena tantos
metadatos como sea posible en una base de datos de almacenamiento. Si los
paquetes se recompilan o publican otra vez con la misma versión
aparecerán problemas ya que se usarán los metadatos almacenados
y ahora obsoletos tales como el tamaño o la suma de control. Esta
situación se evitará si se activa esta opción ya que se
comprobará si el fichero ha cambiado. Tenga en cuenta que esta
opción está definida como «false» por
omisión, ya que no se recomienda subir varias versiones o compilaciones
de un paquete con el mismo número de versión, así que en
teoría nadie debería tener problemas y por ello todas estas
comprobaciones adicionales son innecesarias.
APT::FTPArchive::LongDescription
De forma predeterminada esta opción de
configuración se define como «true» y sólo se
debería definir como «false» si el archivo de paquetes
generado con también proporciona ficheros
Translation. Tenga en cuenta que el fichero maestro Translation-en sólo
se puede crear con la orden «generate».
-h, --help
Muestra un mensaje corto sobre el uso.
-v, --version
Muestra la versión del programa.
-c, --config-file
Fichero de configuración: Especifica el
fichero de configuración a usar. El programa leerá el fichero de
configuración predeterminado y, después, este fichero de
configuración. Si necesita que ciertas opciones de configuración
se definan antes que el análisis de los de los ficheros de
configuración predeterminados, defina un fichero con la variable de
entorno APT_CONFIG. Consulte apt.conf(5) para información
sobre la sintaxis.
-o, --option
Define una opción de
configuración: Esto definirá una opción arbitraria de
configuración. La sintaxis es -o Algo::Cosa=cosa. -o y
--option se pueden usar varias veces para definir diferentes
opciones.
EJEMPLOS
Para crear un fichero «Packages» comprimido para un directorio que contenga paquetes binarios («.deb»):apt-ftparchive packages directorio | gzip > Packages.gz
VÉASE TAMBIÉN
apt.conf(5)DIAGNÓSTICOS
apt-ftparchive devuelve cero si no hay ningún error, y el valor 100 en caso de error.BUGS
Página de errores de APT[1]. Si quiere informar de un error en APT, consulte /usr/share/doc/debian/bug-reporting.txt o use la orden reportbug(1).TRADUCCIÓN
La traducción al español la realizaron Ismael Fanlo, Carlos Mestre, Rudy Godoy, Gustavo Saldumbide, Javier Fernández-Sanguino y Rubén Porras Campo entre los años 2003 y 2004. La traducción fue actualizada por Francisco Javier Cuadrado y Omar Campagne Polaino entre los años 2009 y 2012 . Tenga en cuenta que este documento puede contener secciones sin traducir. Esto es intencionado para evitar perder contenido cuando la traducción no está actualizada con respecto al documento original.AUTORES
Jason Gunthorpe Equipo de APTNOTAS
- 1.
- Página de errores de APT
29 Enero 2023 | APT 2.6.1 |