apt-ftparchive Man page

APT-FTPARCHIVE(1) APT APT-FTPARCHIVE(1)

NOM
apt-ftparchive – Outil de création de fichiers d’index

SYNOPSIS

apt-ftparchive [-dsq] [–md5] [–delink] [–readonly] [–contents] [–arch architecture] [-o=chaîne_de_configuration] [-c=fichier_de_configuration] {packages chemin… [fichier-override [préfixe_de_chemin]] |
sources chemin… [fichier-override [préfixe_de_chemin]] | contents chemin | release chemin |
generate fichier_de_configuration section… |
clean fichier_de_configuration | {-v | –version} |
{-h | –help}}

DESCRIPTION

apt-ftparchive est l’outil en ligne de commande qui crée les index dont
APT se sert pour accéder aux sources des distributions. Un index doit
être créé pour un site et basé sur le contenu de ce site.

apt-ftparchive est un ensemble comprenant le programme dpkg-
scanpackages(1) et toutes ses fonctionnalités via la commande
packages ; il comprend aussi un générateur de fichier « Contents », la
commande contents, et une technique élaborée pour automatiser le
processus de création d’une archive complète.

Apt-ftparchive peut utiliser lui-même des bases de données binaires
pour « cacher » le contenu d’un fichier .deb ; il n’a pas besoin de
programmes extérieurs, sauf gzip. Lors d’une exécution, il vérifie
les changements dans les fichiers et crée les fichiers compressés
voulus.

À moins que l’option -h ou –help ne soit donnée, l’une des commandes
suivantes doit être présente.

packages
La commande packages crée un fichier « Packages » à partir d’une
arborescence. Elle recherche récursivement à travers le répertoire
donné les fichiers .deb et, pour chaque fichier trouvé, envoie une
entrée pour ce paquet sur la sortie standard. Cette commande est
approximativement équivalente à dpkg-scanpackages.

On peut se servir de l’option –db pour demander un cache binaire.

sources
La commande sources crée un index des sources à partir d’une
arborescence. Elle recherche récursivement à travers le répertoire
donné les fichiers .dsc et, pour chaque fichier trouvé, envoie une
entrée pour ce paquet sur la sortie standard. Cette commande est
approximativement équivalente à dpkg-scansources.

Quand on précise un fichier « override », c’est un fichier source
avec une extension .src qui est recherché. On peut se servir de
l’option –source-override pour changer de fichier source
d’« override ».

contents
La commande contents crée un fichier « Contents » à partir d’une
arborescence. Elle recherche récursivement à travers le répertoire
donné les fichiers .deb et, pour chaque fichier trouvé, lit la
liste des fichiers. Elle trie la liste des fichiers correspondant à
des paquets et l’envoie sur la sortie standard. Les répertoires ne
font pas partie du résultat. Quand un fichier appartient à
plusieurs paquets, une virgule sépare les paquets.

On peut se servir de l’option –db pour demander un cache binaire.

release
The release command generates a Release file from a directory tree.
It recursively searches the given directory for uncompressed
Packages and Sources files and ones compressed with gzip, bzip2 or
lzma as well as Release 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.

La valeur des autres champs de métadonnées du fichier Release sont
tirées de la valeur correspondante dans APT::FTPArchive::Release,
p. ex. APT::FTPArchive::Release::Origin. Les champs reconnus sont :
Origin, Label, Suite, Version, Codename, Date, Valid-Until,
Architectures, Components, Description.

generate
La commande generate est conçue pour être exécutable par le
programme cron et elle crée un index en suivant le fichier de
configuration donné. Le langage de configuration fournit un moyen
souple de préciser index et répertoires aussi bien que les
paramètres requis.

clean
La commande clean nettoie les bases de données utilisées par le
fichier de configuration en supprimant les enregistrements qui ne
sont plus nécessaires.

CONFIGURATION DE LA COMMANDE GENERATE
La commande generate utilise un fichier de configuration pour décrire
l’archive qui va être créée. Le format de ce fichier est le format ISC
classique utilisé par des outils ISC comme bind 8 et dhcpd. Le fichier
apt.conf(5) décrit ce format. Il faut noter que l’analyse de ce fichier
se fait par section tandis que celle d’apt.conf(5) se fait par
arborescence. Cela n’affecte que l’usage de l’étiquette de visée (scope
tag).

Ce fichier de configuration possède quatre sections, décrites
ci-dessous.

La section Dir
La section Dir définit les répertoires standards où situer les fichiers
nécessaires au processus de création. Ces répertoires sont précédés de
chemins relatifs définis dans les sections suivantes de manière à
produire un chemin absolu et complet.

ArchiveDir
Indique la racine de l’archive FTP ; Pour une configuration Debian
classique, c’est le répertoire qui contient le fichier ls-LR et les
noeuds des distributions.

OverrideDir
Indique l’emplacement des fichiers d’« override ».

CacheDir
Indique l’emplacement des fichiers de cache.

FileListDir
Indique l’emplacement des fichiers contenant la liste des fichiers
(si on se sert de la valeur FileList définie plus bas).

La section Default
La section Default précise les valeurs par défaut et les paramètres qui
contrôlent la marche du générateur. Ces valeurs peuvent être annulées
dans d’autres sections (paramètrage par section).

Packages::Compress
Indique comment sont compressés les fichiers d’index. C’est une
chaîne qui contient des valeurs séparées par des espaces ; elle
contient au moins l’une des valeurs suivantes : « . » (pas de
compression), « gzip », « bzip2 ». Par défaut, c’est la chaîne « .
gzip ».

Packages::Extensions
Indique la liste par défaut des extensions de fichier qui
constituent des paquets. Par défaut, c’est « .deb ».

Sources::Compress
Identique à Packages::Compress mais précise comment sont compressés
les fichiers sources.

Sources::Extensions
Indique la liste par défaut des extensions de fichier qui
constituent des fichiers sources. Par défaut, c’est « .dsc ».

Contents::Compress
Identique à Packages::Compress mais précise comment sont compressés
les fichiers « Contents ».

Translation::Compress
Identique à Packages::Compress mais précise comment est compressé
le fichier maître Translations-en.

DeLinkLimit
Indique le nombre de kilo-octets à délier (et à remplacer par des
liens en dur) pour chaque exécution. On s’en sert, pour chaque
section, avec le paramètre External-Links.

FileMode
Indique le système de permissions des fichiers d’index créés. Par
défaut, c’est le mode 0644. Tous les fichiers d’index ont ce mode
et le masque utilisateur (umasq) est ignoré.

LongDescription
Définit si les descriptions longues doivent être incluses dans le
fichier Packages ou déplacées dans un fichier maître
Translation-en.

La section TreeDefault
Indique les valeurs par défaut particulières à la section Tree. Toutes
ces variables sont des variables de substitution ; les chaînes $(DIST),
$(SECTION) et $(ARCH) sont remplacées par leur valeur respective.

MaxContentsChange
Indique le nombre de kilo-octets de fichiers « Contents » qui sont
créés chaque jour. Les fichiers « Contents » sont choisis selon le
système « round-robin » de manière que, sur plusieurs jours, tous
soient reconstruits.

ContentsAge
Contrôle le nombre de jours pendant lequel un fichier « Contents »
peut être utilisé sans actualisation. Quand cette limite est
franchie, le « mtime » du fichier « Contents » est mis à jour. Cela
peut arriver quand un fichier est modifié sans que cela modifie le
fichier « Contents » (modification par « override » par exemple).
Un délai est permis dans l’espoir que de nouveaux « .deb » seront
installés, exigeant un nouveau « Contents ». Par défaut ce nombre
vaut 10, l’unité étant le jour.

Directory
Indique la racine de l’arborescence des « .deb ». Par défaut, c’est
$(DIST)/$(SECTION)/binary-$(ARCH)/.

SrcDirectory
Indique la racine de l’arborescence des paquets source. Par défaut,
c’est $(DIST)/$(SECTION)/source/.

Packages
Indique le fichier « Packages » créé. Par défaut, c’est
$(DIST)/$(SECTION)/binary-$(ARCH)/Packages.

Sources
Indique le fichier « Sources » créé. Par défaut, c’est
$(DIST)/$(SECTION)/source/Sources.

Translation
Définit le fichier maître Translation-en qui comporte les
descriptions longues si elles ne sont pas incluses dans le fichier
Packages. Valeur par
défaut : $(DIST)/$(SECTION)/i18n/Translation-en

InternalPrefix
Indique un préfixe de chemin ; ce préfixe fait qu’un lien
symbolique sera considéré comme un lien interne plutôt que comme un
lien externe. Par défaut, c’est $(DIST)/$(SECTION)/.

Contents
Indique le fichier « Contents » créé. Par défaut, c’est
$(DIST)/Contents-$(ARCH). Quand le paramètrage fait que différents
fichiers « Packages » se réfèrent à un seul fichier « Contents »,
apt-ftparchive les intègre automatiquement.

Contents::Header
Indique l’en-tête à préfixer au fichier « Contents » créé.

BinCacheDB
Indique la base de données binaire servant de cache pour cette
section. Différentes sections peuvent partager cette base de
données.

FileList
Indique qu’au lieu de lire l’arborescence, apt-ftparchive doit lire
la liste de fichiers dans le fichier donné en paramètre. Les noms
relatifs sont préfixés par le répertoire de l’archive.

SourceFileList
Indique qu’au lieu de lire l’arborescence, apt-ftparchive doit lire
la liste de fichiers dans le fichier donné en paramètre. Les noms
relatifs sont préfixés par le répertoire de l’archive. On s’en sert
pour traiter les index de sources.

La section Tree
La section Tree définit une arborescence debian classique avec un
répertoire de base, différentes sections dans ce répertoire et
différentes architectures dans chaque section. Le chemin exact est
défini par la variable de substitution Directory.

La section Tree accepte une étiquette de visée (scope tag) qui
détermine la variable $(DIST) et la racine de l’arborescence (le chemin
est préfixé par ArchiveDir). C’est par exemple : dists/jessie.

Tous les paramètres définis dans la section TreeDefault peuvent
s’utiliser dans la section Tree ainsi que les trois nouvelles variables
suivantes.

Quand il exécute la section Tree, apt-ftparchive effectue une opération
analogue à :

for i in Sections do
for j in Architectures do
Generate for DIST=scope SECTION=i ARCH=j

Sections
C’est une liste de sections séparées par des espaces qui
appartiennent à une distribution ; classiquement, on trouve main
contrib non-free.

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
Définit si les descriptions longues doivent être incluses dans le
fichier Packages ou déplacées dans un fichier maître
Translation-en.

BinOverride
Indique le fichier binaire d’« override ». Ce fichier contient des
informations sur la section, la priorité et le responsable du
paquet.

SrcOverride
Indique le fichier source d’« override ». Ce fichier contient des
informations sur la section.

ExtraOverride
Indique un autre fichier d’« override » pour les binaires.

SrcExtraOverride
Indique un autre fichier d’« override » pour les sources.

La section BinDirectory
La section bindirectory définit une arborescence binaire sans structure
particulière. L’étiquette de visée (scope tag) indique l’emplacement du
répertoire binaire et le paramètrage est identique à celui pour la
section Tree sans substitution de variables ou au paramètrage de
SectionArchitecture.

Packages
Définit le fichier « Packages » créé.

Sources
Définit le fichier « Sources » créé. L’un des deux fichiers,
Packages ou Sources est nécessaire.

Contents
Définit le fichier « Contents » créé.

BinOverride
Définit le fichier d’« override » pour les binaires.

SrcOverride
Définit le fichier d’« override » pour les sources.

ExtraOverride
Indique un autre fichier d’« override » pour les binaires.

SrcExtraOverride
Indique un autre fichier d’« override » pour les sources.

BinCacheDB
Définit la base de données cache.

PathPrefix
Ajoute un chemin à tous les chemins créés.

FileList, SourceFileList
Définit le fichier contenant la liste des fichiers.

LE FICHIER D« OVERRIDE » POUR LES BINAIRES.
Le fichier d’« Override » est pleinement compatible avec dpkg-
scanpackages(1). Il contient quatre champs séparés par des espaces. Le
premier est le nom du paquet ; le deuxième est la priorité à donner à
ce paquet ; le troisième est sa section et le dernier champ est un
champ pour changer le nom du responsable de paquet.

Le champ du responsable est de cette forme :

old [// oldn]* => new

ou simplement,

new

La première forme permet de spécifier de vieilles adresses dans une
liste (le séparateur est la double barre oblique). Si l’une de ces deux
formes est rencontrée, la valeur de new remplace la valeur du champ. La
deuxième forme remplace inconditionnellement le champ.

LE FICHIER D« OVERRIDE » POUR LES SOURCES
Le fichier d’« Override » est pleinement compatible avec dpkg-
scansources(1). Il contient deux champs. Le premier est le nom du
paquet source ; le second, sa section.

LE FICHIER SUPPLÉMENTAIRE D« OVERRIDE »
Le fichier supplémentaire d’« Override » permet d’ajouter ou de
remplacer des étiquettes sur la sortie. Il possède trois colonnes : la
première représente le paquet, la seconde est une étiquette et la
troisième en fin de ligne est la nouvelle valeur.

OPTIONS

Toutes les options de la ligne de commande peuvent être définies dans
le fichier de configuration, les descriptions indiquant l’option de
configuration concernée. Pour les options booléennes, vous pouvez
inverser les réglages du fichiers de configuration avec -f-,–no-f,
-f=no et d’autres variantes analogues.

–md5, –sha1, –sha256, –sha512
Generate the given checksum. These options default to on, when
turned off the generated index files will not have the checksum
fields where possible. Configuration Items:
APT::FTPArchive::Checksum and APT::FTPArchive::Index::Checksum
where Index can be Packages, Sources or Release and Checksum can be
MD5, SHA1, SHA256 or SHA512.

-d, –db
Utiliser une base de données binaire pour cache. Cela n’a aucun
effet sur la commande generate. Élément de configuration :
APT::FTPArchive::DB.

-q, –quiet
Mode silencieux ; cette commande produit une sortie destinée à
l’enregistrement dans un fichier-journal en omettant les
indicateurs de progression. Un plus grand nombre de « q » (2 au
plus) rend le programme de plus en plus silencieux. On peut aussi
utiliser -q=# pour définir ce « niveau de silence », et ne plus
tenir compte des réglages du fichier de configuration. Élément de
configuration : quiet.

–delink
Défaire une liaison. Si External-Links est activé, cette option
permet réellement de délier les fichiers. Par défaut, elle est
activée mais elle peut être désactivée avec l’option –no-delink.
Élément de configuration : APT::FTPArchive::DeLinkAct.

–contents
Permettre la création d’un fichier « Contents ». Quand cette option
est activée et que les index sont créés sous forme de base de
données binaire, la liste des fichiers est aussi extraite et
conservée dans la base de données pour un usage futur. Avec la
commande generate, cette option permet la création de fichiers
« Contents ». Par défaut, elle est activée. Élément de
configuration : APT::FTPArchive::Contents.

-s, –source-override
Indique le fichier d’« override » à utiliser avec la commande
sources. Élément de configuration :
APT::FTPArchive::SourceOverride.

–readonly
N’autoriser que la lecture pour les bases de données de cache.
Élément de configuration : APT::FTPArchive::ReadOnlyDB.

-a, –arch
N’accepte dans les commandes packages et contents que les fichiers
de paquets correspondant à *_arch.deb ou *_all.deb au lieu de tous
les fichiers de paquets du chemin indiqué.Élément de
configuration : APT::FTPArchive::Architecture.

APT::FTPArchive::AlwaysStat
apt-ftparchive met le plus de métadonnées possible en cache dans
une base de données. Si les paquets sont recompilés ou republiés
avec à nouveau la même version, cela pourra causer des problèmes
car, alors, les métadonnées en cache (p. ex. les tailles et les
sommes de contrôle) seront utilisées. Si cette option est choisie,
cela n’arrivera plus car le fichier sera contrôlé pour vérifier
s’il a été modifié. Veuillez noter que cette option n’est pas
activée par défaut car il est déconseillé d’envoyer dans les
archives des versions identiques. En théorie, donc, ces problème ne
devraient pas survenir et l’ensemble de ces contrôles devient
inutile.

APT::FTPArchive::LongDescription
Cette option de configuration a « true » comme valeur par défaut et
ne devrait être placée sur « false » que si l’archive créée avec
apt-ftparchive fournit également des fichiers Translation.
Veuillez noter que le fichier maître Translation-en ne peut être
créé que par la commande generate.

-h, –help
Afficher un bref résumé de l’utilisation.

-v, –version
Afficher la version du programme.

-c, –config-file
Fichier de configuration ; indique le fichier de configuration à
utiliser. Le programme lira le fichier de configuration par défaut
puis le fichier indiqué ici. Si les réglages de configuration
doivent être établis avant l’analyse des fichiers de configuration
par défaut, un fichier peut être indiqué avec la variable
d’environnement APT_CONFIG. Veuillez consulter apt.conf(5) pour des
informations sur la syntaxe d’utilisation.

-o, –option
Définir une option de configuration ; permet de régler une option
de configuration donnée. La syntaxe est -o Foo::Bar=bar. -o et
–option peuvent être utilisées plusieurs fois pour définir des
options différentes.

EXEMPLES
Création d’un fichier « Packages » compressé pour un répertoire
contenant des paquets binaires (.deb):

apt-ftparchive packages répertoire | gzip > Packages.gz

VOIR AUSSI
apt.conf(5)

DIAGNOSTICS
apt-ftparchive retourne zéro si tout se passe bien, le nombre 100 en
cas d’erreur.

BOGUES
Page des bogues d’APT[1]. Si vous souhaitez signaler un bogue à propos
d’APT, veuillez lire /usr/share/doc/debian/bug-reporting.txt ou
utiliser la commande reportbug(1).

TRADUCTEURS
Jérôme Marant, Philippe Batailler, Christian Perrier
(2000, 2005, 2009, 2010), Équipe de traduction
francophone de Debian

Veuillez noter que cette traduction peut contenir des parties non
traduites. Cela est volontaire, pour éviter de perdre du contenu quand
la traduction est légèrement en retard sur le contenu d’origine.

AUTEURS
Jason Gunthorpe

Équipe de développement d’APT

NOTES
1. Page des bogues d’APT
http://bugs.debian.org/src:apt

APT 1.2.15 13 septembre 2015 APT-FTPARCHIVE(1)