apt-ftparchive - Outil de création de fichiers d'index
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}}
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(1). 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(1).
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(1).
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
La commande release crée un fichier Release
à partir d'une arborescence. Elle recherche récursivement dans
le répertoire indiqué des fichiers Packages, Sources, Contents,
Components et icons non compressés et compressés ainsi que des
fichiers Release, Index et md5sum.txt par défaut
(APT::FTPArchive::Release::Default-Patterns). Des motifs
supplémentaires pour les noms de fichiers peuvent être
ajoutés en les mentionnant dans APT::FTPArchive::Release::Patterns. Le
fichier Release est ensuite affiché sur la sortie standard et comporte
(par défaut) des sommes de contrôle MD5, SHA1 et SHA256 et
SHA512 pour chaque fichier.
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,
NotAutomatic, ButAutomaticUpgrades, Acquire-By-Hash, Valid-Until, Signed-By,
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.
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 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 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 une liste séparée
par des espaces qui contient au moins l'un des compresseurs configuré
à travers le champ d'action de configuration APT::Compressor. La
valeur par défaut pour tous les schémas de compression est
« . 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.
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 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/bullseye.
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
C'est une liste de toutes les architectures
séparées par des espaces qui appartiennent à chaque
section. L'architecture spéciale « source »
indique que l'arborescence est une arborescence de sources. L'architecture
« all » indique que les fichiers
spécifiques à l'architecture comme Packages ne devraient pas
inclure d'informations sur les paquets de l'architecture all dans tous les
fichiers comme elles devraient être disponibles dans un fichier
dédié.
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 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 :
ou simplement,
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 » 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.
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
Crée la somme de contrôle indiquée.
Si ces options sont actives par défaut. Quand elles sont
désactivées, les fichiers d'index créés n'auront
pas de champ de somme de contrôle là où cela était
possible. Éléments de
configuration :APT::FTPArchive::Checksum et
APT::FTPArchive::Index::Checksum où Index peut
être Packages, Sources ou Release et Checksum peut être
MD5, SHA1, SHA256 ou 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(1) 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(1) 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.
Création d'un fichier
« Packages » compressé pour un
répertoire contenant des paquets binaires (.deb):
apt-ftparchive packages répertoire | gzip > Packages.gz
apt-ftparchive retourne zéro si tout se passe bien,
le nombre 100 en cas d'erreur.
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).
Jérôme Marant, Philippe Batailler, Christian Perrier
<bubulle@debian.org> (2000, 2005, 2009, 2010), Équipe de
traduction francophone de Debian
<debian-l10n-french@lists.debian.org>
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.
Jason Gunthorpe
Équipe de développement d'APT
- 1.
- Page des bogues d'APT
http://bugs.debian.org/src:apt