APT-FTPARCHIVE(1) APT APT-FTPARCHIVE(1) NOM apt-ftparchive - Outil de creation de fichiers d'index SYNOPSIS apt-ftparchive [-dsq] [--md5] [--delink] [--readonly] [--contents] [--arch architecture] [-o=chaine_de_configuration] [-c=fichier_de_configuration] {packages chemin [fichier-override [prefixe_de_chemin]] | sources chemin [fichier-override [prefixe_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 cree les index dont APT se sert pour acceder aux sources des distributions. Un index doit etre cree pour un site et base sur le contenu de ce site. apt-ftparchive est un ensemble comprenant le programme dpkg- scanpackages(1) et toutes ses fonctionnalites via la commande packages ; il comprend aussi un generateur de fichier << Contents >>, la commande contents, et une technique elaboree pour automatiser le processus de creation d'une archive complete. Apt-ftparchive peut utiliser lui-meme des bases de donnees binaires pour << cacher >> le contenu d'un fichier .deb ; il n'a pas besoin de programmes exterieurs, sauf gzip(1). Lors d'une execution, il verifie les changements dans les fichiers et cree les fichiers compresses voulus. A moins que l'option -h ou --help ne soit donnee, l'une des commandes suivantes doit etre presente. packages La commande packages cree un fichier << Packages >> a partir d'une arborescence. Elle recherche recursivement a travers le repertoire donne les fichiers .deb et, pour chaque fichier trouve, envoie une entree pour ce paquet sur la sortie standard. Cette commande est approximativement equivalente a dpkg-scanpackages(1). On peut se servir de l'option --db pour demander un cache binaire. sources La commande sources cree un index des sources a partir d'une arborescence. Elle recherche recursivement a travers le repertoire donne les fichiers .dsc et, pour chaque fichier trouve, envoie une entree pour ce paquet sur la sortie standard. Cette commande est approximativement equivalente a dpkg-scansources(1). Quand on precise un fichier << override >>, c'est un fichier source avec une extension .src qui est recherche. On peut se servir de l'option --source-override pour changer de fichier source d'<< override >>. contents La commande contents cree un fichier << Contents >> a partir d'une arborescence. Elle recherche recursivement a travers le repertoire donne les fichiers .deb et, pour chaque fichier trouve, lit la liste des fichiers. Elle trie la liste des fichiers correspondant a des paquets et l'envoie sur la sortie standard. Les repertoires ne font pas partie du resultat. Quand un fichier appartient a plusieurs paquets, une virgule separe les paquets. On peut se servir de l'option --db pour demander un cache binaire. release La commande release cree un fichier Release a partir d'une arborescence. Elle recherche recursivement dans le repertoire indique des fichiers Packages, Sources, Contents, Components et icons non compresses et compresses ainsi que des fichiers Release, Index et md5sum.txt par defaut (APT::FTPArchive::Release::Default-Patterns). Des motifs supplementaires pour les noms de fichiers peuvent etre ajoutes en les mentionnant dans APT::FTPArchive::Release::Patterns. Le fichier Release est ensuite affiche sur la sortie standard et comporte (par defaut) des sommes de controle MD5, SHA1 et SHA256 et SHA512 pour chaque fichier. La valeur des autres champs de metadonnees du fichier Release sont tirees 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 concue pour etre executable par le programme cron et elle cree un index en suivant le fichier de configuration donne. Le langage de configuration fournit un moyen souple de preciser index et repertoires aussi bien que les parametres requis. clean La commande clean nettoie les bases de donnees utilisees par le fichier de configuration en supprimant les enregistrements qui ne sont plus necessaires. CONFIGURATION DE LA COMMANDE GENERATE La commande generate utilise un fichier de configuration pour decrire l'archive qui va etre creee. Le format de ce fichier est le format ISC classique utilise par des outils ISC comme bind 8 et dhcpd. Le fichier apt.conf(5) decrit 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'etiquette de visee (scope tag). Ce fichier de configuration possede quatre sections, decrites ci-dessous. La section Dir La section Dir definit les repertoires standards ou situer les fichiers necessaires au processus de creation. Ces repertoires sont precedes de chemins relatifs definis dans les sections suivantes de maniere a produire un chemin absolu et complet. ArchiveDir Indique la racine de l'archive FTP ; Pour une configuration Debian classique, c'est le repertoire 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 definie plus bas). La section Default La section Default precise les valeurs par defaut et les parametres qui controlent la marche du generateur. Ces valeurs peuvent etre annulees dans d'autres sections (parametrage par section). Packages::Compress Indique comment sont compresses les fichiers d'index. C'est une chaine qui contient une liste separee par des espaces qui contient au moins l'un des compresseurs configure a travers le champ d'action de configuration APT::Compressor. La valeur par defaut pour tous les schemas de compression est << . gzip >>. Packages::Extensions Indique la liste par defaut des extensions de fichier qui constituent des paquets. Par defaut, c'est << .deb >>. Sources::Compress Identique a Packages::Compress mais precise comment sont compresses les fichiers sources. Sources::Extensions Indique la liste par defaut des extensions de fichier qui constituent des fichiers sources. Par defaut, c'est << .dsc >>. Contents::Compress Identique a Packages::Compress mais precise comment sont compresses les fichiers << Contents >>. Translation::Compress Identique a Packages::Compress mais precise comment est compresse le fichier maitre Translations-en. DeLinkLimit Indique le nombre de kilo-octets a delier (et a remplacer par des liens en dur) pour chaque execution. On s'en sert, pour chaque section, avec le parametre External-Links. FileMode Indique le systeme de permissions des fichiers d'index crees. Par defaut, c'est le mode 0644. Tous les fichiers d'index ont ce mode et le masque utilisateur (umasq) est ignore. LongDescription Definit si les descriptions longues doivent etre incluses dans le fichier Packages ou deplacees dans un fichier maitre Translation-en. La section TreeDefault Indique les valeurs par defaut particulieres a la section Tree. Toutes ces variables sont des variables de substitution ; les chaines $(DIST), $(SECTION) et $(ARCH) sont remplacees par leur valeur respective. MaxContentsChange Indique le nombre de kilo-octets de fichiers << Contents >> qui sont crees chaque jour. Les fichiers << Contents >> sont choisis selon le systeme << round-robin >> de maniere que, sur plusieurs jours, tous soient reconstruits. ContentsAge Controle le nombre de jours pendant lequel un fichier << Contents >> peut etre utilise sans actualisation. Quand cette limite est franchie, le << mtime >> du fichier << Contents >> est mis a jour. Cela peut arriver quand un fichier est modifie sans que cela modifie le fichier << Contents >> (modification par << override >> par exemple). Un delai est permis dans l'espoir que de nouveaux << .deb >> seront installes, exigeant un nouveau << Contents >>. Par defaut ce nombre vaut 10, l'unite etant le jour. Directory Indique la racine de l'arborescence des << .deb >>. Par defaut, c'est $(DIST)/$(SECTION)/binary-$(ARCH)/. SrcDirectory Indique la racine de l'arborescence des paquets source. Par defaut, c'est $(DIST)/$(SECTION)/source/. Packages Indique le fichier << Packages >> cree. Par defaut, c'est $(DIST)/$(SECTION)/binary-$(ARCH)/Packages. Sources Indique le fichier << Sources >> cree. Par defaut, c'est $(DIST)/$(SECTION)/source/Sources. Translation Definit le fichier maitre Translation-en qui comporte les descriptions longues si elles ne sont pas incluses dans le fichier Packages. Valeur par defaut : $(DIST)/$(SECTION)/i18n/Translation-en InternalPrefix Indique un prefixe de chemin ; ce prefixe fait qu'un lien symbolique sera considere comme un lien interne plutot que comme un lien externe. Par defaut, c'est $(DIST)/$(SECTION)/. Contents Indique le fichier << Contents >> cree. Par defaut, c'est $(DIST)/Contents-$(ARCH). Quand le parametrage fait que differents fichiers << Packages >> se referent a un seul fichier << Contents >>, apt-ftparchive les integre automatiquement. Contents::Header Indique l'en-tete a prefixer au fichier << Contents >> cree. BinCacheDB Indique la base de donnees binaire servant de cache pour cette section. Differentes sections peuvent partager cette base de donnees. FileList Indique qu'au lieu de lire l'arborescence, apt-ftparchive doit lire la liste de fichiers dans le fichier donne en parametre. Les noms relatifs sont prefixes par le repertoire de l'archive. SourceFileList Indique qu'au lieu de lire l'arborescence, apt-ftparchive doit lire la liste de fichiers dans le fichier donne en parametre. Les noms relatifs sont prefixes par le repertoire de l'archive. On s'en sert pour traiter les index de sources. La section Tree La section Tree definit une arborescence debian classique avec un repertoire de base, differentes sections dans ce repertoire et differentes architectures dans chaque section. Le chemin exact est defini par la variable de substitution Directory. La section Tree accepte une etiquette de visee (scope tag) qui determine la variable $(DIST) et la racine de l'arborescence (le chemin est prefixe par ArchiveDir). C'est par exemple : dists/bookworm. Tous les parametres definis dans la section TreeDefault peuvent s'utiliser dans la section Tree ainsi que les trois nouvelles variables suivantes. Quand il execute la section Tree, apt-ftparchive effectue une operation analogue a : 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 separees par des espaces qui appartiennent a une distribution ; classiquement, on trouve main contrib non-free non-free-firmware. Architectures C'est une liste de toutes les architectures separees par des espaces qui appartiennent a chaque section. L'architecture speciale << source >> indique que l'arborescence est une arborescence de sources. L'architecture << all >> indique que les fichiers specifiques a l'architecture comme Packages ne devraient pas inclure d'informations sur les paquets de l'architecture all dans tous les fichiers comme elles devraient etre disponibles dans un fichier dedie. LongDescription Definit si les descriptions longues doivent etre incluses dans le fichier Packages ou deplacees dans un fichier maitre Translation-en. BinOverride Indique le fichier binaire d'<< override >>. Ce fichier contient des informations sur la section, la priorite 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 definit une arborescence binaire sans structure particuliere. L'etiquette de visee (scope tag) indique l'emplacement du repertoire binaire et le parametrage est identique a celui pour la section Tree sans substitution de variables ou au parametrage de SectionArchitecture. Packages Definit le fichier << Packages >> cree. Sources Definit le fichier << Sources >> cree. L'un des deux fichiers, Packages ou Sources est necessaire. Contents Definit le fichier << Contents >> cree. BinOverride Definit le fichier d'<< override >> pour les binaires. SrcOverride Definit 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 Definit la base de donnees cache. PathPrefix Ajoute un chemin a tous les chemins crees. FileList, SourceFileList Definit 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 separes par des espaces. Le premier est le nom du paquet ; le deuxieme est la priorite a donner a ce paquet ; le troisieme 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 premiere forme permet de specifier de vieilles adresses dans une liste (le separateur est la double barre oblique). Si l'une de ces deux formes est rencontree, la valeur de new remplace la valeur du champ. La deuxieme 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 SUPPLEMENTAIRE D<< OVERRIDE >> Le fichier supplementaire d'<< Override >> permet d'ajouter ou de remplacer des etiquettes sur la sortie. Il possede trois colonnes : la premiere represente le paquet, la seconde est une etiquette et la troisieme en fin de ligne est la nouvelle valeur. OPTIONS Toutes les options de la ligne de commande peuvent etre definies dans le fichier de configuration, les descriptions indiquant l'option de configuration concernee. Pour les options booleennes, vous pouvez inverser les reglages du fichiers de configuration avec -f-,--no-f, -f=no et d'autres variantes analogues. --md5, --sha1, --sha256, --sha512 Cree la somme de controle indiquee. Si ces options sont actives par defaut. Quand elles sont desactivees, les fichiers d'index crees n'auront pas de champ de somme de controle la ou cela etait possible. Elements de configuration :APT::FTPArchive::Checksum et APT::FTPArchive::Index::Checksum ou Index peut etre Packages, Sources ou Release et Checksum peut etre MD5, SHA1, SHA256 ou SHA512. -d, --db Utiliser une base de donnees binaire pour cache. Cela n'a aucun effet sur la commande generate. Element de configuration : APT::FTPArchive::DB. -q, --quiet Mode silencieux ; cette commande produit une sortie destinee a 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 definir ce << niveau de silence >>, et ne plus tenir compte des reglages du fichier de configuration. Element de configuration : quiet. --delink Defaire une liaison. Si External-Links est active, cette option permet reellement de delier les fichiers. Par defaut, elle est activee mais elle peut etre desactivee avec l'option --no-delink. Element de configuration : APT::FTPArchive::DeLinkAct. --contents Permettre la creation d'un fichier << Contents >>. Quand cette option est activee et que les index sont crees sous forme de base de donnees binaire, la liste des fichiers est aussi extraite et conservee dans la base de donnees pour un usage futur. Avec la commande generate, cette option permet la creation de fichiers << Contents >>. Par defaut, elle est activee. Element de configuration : APT::FTPArchive::Contents. -s, --source-override Indique le fichier d'<< override >> a utiliser avec la commande sources. Element de configuration : APT::FTPArchive::SourceOverride. --readonly N'autoriser que la lecture pour les bases de donnees de cache. Element de configuration : APT::FTPArchive::ReadOnlyDB. -a, --arch N'accepte dans les commandes packages et contents que les fichiers de paquets correspondant a *_arch.deb ou *_all.deb au lieu de tous les fichiers de paquets du chemin indique.Element de configuration : APT::FTPArchive::Architecture. APT::FTPArchive::AlwaysStat apt-ftparchive(1) met le plus de metadonnees possible en cache dans une base de donnees. Si les paquets sont recompiles ou republies avec a nouveau la meme version, cela pourra causer des problemes car, alors, les metadonnees en cache (p. ex. les tailles et les sommes de controle) seront utilisees. Si cette option est choisie, cela n'arrivera plus car le fichier sera controle pour verifier s'il a ete modifie. Veuillez noter que cette option n'est pas activee par defaut car il est deconseille d'envoyer dans les archives des versions identiques. En theorie, donc, ces probleme ne devraient pas survenir et l'ensemble de ces controles devient inutile. APT::FTPArchive::LongDescription Cette option de configuration a << true >> comme valeur par defaut et ne devrait etre placee sur << false >> que si l'archive creee avec apt-ftparchive(1) fournit egalement des fichiers Translation. Veuillez noter que le fichier maitre Translation-en ne peut etre cree que par la commande generate. -h, --help Afficher un bref resume de l'utilisation. -v, --version Afficher la version du programme. --audit Show audit (and notice) messages. This overrides the quiet option, but only for notice messages, not progress ones. -c, --config-file Fichier de configuration ; indique le fichier de configuration a utiliser. Le programme lira le fichier de configuration par defaut puis le fichier indique ici. Si les reglages de configuration doivent etre etablis avant l'analyse des fichiers de configuration par defaut, un fichier peut etre indique avec la variable d'environnement APT_CONFIG. Veuillez consulter apt.conf(5) pour des informations sur la syntaxe d'utilisation. -o, --option Set a Configuration Option; This will set an arbitrary configuration option. The syntax is -o Foo::Bar=bar. -o and --option can be used multiple times to set different options. --no-color, --color Turn colors on or off. Colors are on by default on supported terminals for apt(8) and can also be disabled using the NO_COLOR or APT_NO_COLOR environment variables, or further configured by the APT::Color configuration option and scope, see apt.conf(5) for information on that. EXEMPLES Creation d'un fichier << Packages >> compresse pour un repertoire contenant des paquets binaires (.deb): apt-ftparchive packages repertoire | gzip > Packages.gz VOIR AUSSI apt.conf(5) DIAGNOSTICS apt-ftparchive retourne zero 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 a propos d'APT, veuillez lire /usr/share/doc/debian/bug-reporting.txt ou utiliser la commande reportbug(1). TRADUCTEURS Jerome Marant, Philippe Batailler, Christian Perrier (2000, 2005, 2009, 2010), Equipe de traduction francophone de Debian Veuillez noter que cette traduction peut contenir des parties non traduites. Cela est volontaire, pour eviter de perdre du contenu quand la traduction est legerement en retard sur le contenu d'origine. AUTEURS Jason Gunthorpe Equipe de developpement d'APT NOTES 1. Page des bogues d'APT https://bugs.debian.org/src:apt APT 2.9.10 29 janvier 2023 APT-FTPARCHIVE(1)