apt-ftparchive - manuel de référence, options, exemples de commandes


NOM

apt-ftparchive - Utilitaire pour générer des fichiers d'index

SYNOPSIS

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}}

DESCRIPTION

apt-ftparchive est l'outil de ligne de commande qui génère les fichiers d'index qu'APT utilise pour accéder à une source de distribution. Les fichiers d'index doivent être générés sur le site d'origine en fonction du contenu de ce site.

apt-ftparchive est un sur-ensemble du programme dpkg-scanpackages(1), incorporant toutes ses fonctionnalités via la commande packages. Il contient également un générateur de fichiers de contenu, des contenus et un moyen élaboré de scripter le processus de génération d'une archive complète.

En interne, apt-ftparchive peut utiliser des bases de données binaires pour mettre en cache le contenu d'un fichier .deb et il ne s'appuie sur aucun programme externe en dehors de gzip(1). Lors d'une génération complète, il effectue automatiquement des vérifications de changement de fichier et crée les fichiers de sortie compressés souhaités.

À moins que l'option -h ou --help ne soit indiquée, l'une des commandes ci-dessous doit être présente.

packages

La commande packages génère un fichier de package à partir d'une arborescence de répertoires. Il prend le répertoire donné et le recherche de manière récursive pour les fichiers .deb, émettant un enregistrement de package vers stdout pour chacun. Cette commande est approximativement équivalente à dpkg-scanpackages(1).

L'option --db peut être utilisée pour spécifier une base de données de cache binaire.

sources

La commande sources génère un fichier d'index source à partir d'une arborescence de répertoires. Il prend le répertoire donné et le recherche de manière récursive pour les fichiers .dsc, en émettant un enregistrement source vers stdout pour chacun. Cette commande est approximativement équivalente à dpkg-scansources(1).

Si un fichier de remplacement est spécifié, un fichier de remplacement source sera recherché avec une extension de .src. L'option --source-override peut être utilisée pour changer le fichier source de remplacement qui sera utilisé.

contents

La commande contents génère un fichier de contenu à partir d'une arborescence de répertoires. Il prend le répertoire donné et le recherche de manière récursive pour les fichiers .deb, et lit la liste des fichiers de chaque fichier. Il trie ensuite et écrit sur stdout la liste des fichiers correspondant aux packages. Les répertoires ne sont pas écrits dans la sortie. Si plusieurs packages possèdent le même fichier, chaque package est séparé par une virgule dans la sortie.

L'option --db peut être utilisée pour spécifier une base de données de cache binaire.

release

La commande release génère un fichier Release à partir d'une arborescence de répertoires. Il recherche de manière récursive dans le répertoire donné les fichiers Packages, Sources, Contenus, Composants et icônes non compressés et compressés ainsi que les fichiers Release, Index et md5sum.txt par défaut (APT::FTPArchive::Release::Default-Patterns). Des modèles de noms de fichiers supplémentaires peuvent être ajoutés en les listant dans APT::FTPArchive::Release::Patterns. Il écrit ensuite sur stdout un fichier Release contenant (par défaut) un résumé MD5, SHA1, SHA256 et SHA512 pour chaque fichier.

Les valeurs des champs de métadonnées supplémentaires dans le fichier Release sont extraites des variables correspondantes sous APT::FTPArchive::Release, par ex. APT::FTPArchive::Release::Origine. Les champs pris en charge sont Origin, Label, Suite, Version, Codename, Date, NotAutomatic, ButAutomaticUpgrades, Acquire-By-Hash, Valid-Until, Signed-By, Architectures, Components et Description.

generate

La commande generate est conçue pour être exécutable à partir d'un script cron et crée des index en fonction du fichier de configuration donné. Le langage de configuration fournit un moyen flexible de spécifier quels fichiers d'index sont créés à partir de quels répertoires, ainsi qu'un moyen simple de conserver les paramètres requis.

clean

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

LA CONFIGURATION GÉNÉRÉE

La commande generate utilise un fichier de configuration pour décrire les archives qui vont être générées. Il suit le format de configuration ISC typique tel qu'il apparaît dans les outils ISC tels que bind 8 et dhcpd. apt.conf(5) contient une description de la syntaxe. Notez que la configuration générée est analysée de manière sectionnelle, mais apt.conf(5) est analysé de manière arborescente. Cela n'affecte que la façon dont la balise de portée est gérée.

La configuration de génération comporte quatre sections distinctes, chacune décrite ci-dessous.

Section de direction

La section Dir définit les répertoires standard nécessaires pour localiser les fichiers requis lors du processus de génération. Ces répertoires sont précédés de certains chemins relatifs définis dans les sections ultérieures pour produire un chemin complet et absolu.

ArchiveDir

Spécifie la racine de l'archive FTP, dans une configuration Debian standard, c'est le répertoire qui contient les nœuds ls-LR et dist.

OverrideDir

Spécifie l'emplacement des fichiers de remplacement.

CacheDir

Spécifie l'emplacement des fichiers cache.

FileListDir

Spécifie l'emplacement des fichiers de la liste de fichiers, si le paramètre FileList est utilisé ci-dessous.

Rubrique par défaut

La section Par défaut spécifie les valeurs par défaut et les paramètres qui contrôlent le fonctionnement du générateur. D'autres sections peuvent remplacer ces valeurs par défaut par un paramètre par section.

Packages::Compress

Définit les schémas de compression par défaut à utiliser pour les fichiers d'index de package. Il s'agit d'une chaîne contenant une liste séparée par des espaces d'au moins un des compresseurs configurés via la portée de configuration APT::Compressor. La valeur par défaut pour tous les schémas de compression est . gzip.

Packages::Extensions

Définit la liste par défaut des extensions de fichier qui sont des fichiers de package. C'est par défaut .deb.

Sources::Compress

Ceci est similaire à Packages::Compress sauf qu'il contrôle la compression des fichiers Sources.

Sources::Extensions

Définit la liste par défaut des extensions de fichier qui sont des fichiers source. La valeur par défaut est .dsc.

Contents::Compress

Ceci est similaire à Packages::Compress sauf qu'il contrôle la compression des fichiers de contenu.

Translation::Compress

Ceci est similaire à Packages::Compress sauf qu'il contrôle la compression du fichier maître Translation-en.

DeLinkLimit

Spécifie le nombre de kilo-octets à dissocier (et à remplacer par des liens physiques) par exécution. Ceci est utilisé en conjonction avec le paramètre Liens externes par section.

FileMode

Spécifie le mode de tous les fichiers d'index créés. Sa valeur par défaut est 0644. Tous les fichiers d'index sont définis sur ce mode sans tenir compte de l'umask.

LongDescription

Spécifie si les descriptions longues doivent être incluses dans le fichier Packages ou réparties dans un fichier maître Translation-en.

Section par défaut de l'arborescence

Définit les valeurs par défaut spécifiques aux sections de l'arborescence. Toutes ces variables sont des variables de substitution et les chaînes $ (DIST), $ (SECTION) et $ (ARCH) sont remplacées par leurs valeurs respectives.

MaxContentsChange

Définit le nombre de kilo-octets de fichiers de contenu générés chaque jour. Les fichiers de contenu sont alternés afin qu'ils soient tous reconstruits sur plusieurs jours.

ContentsAge

Contrôle le nombre de jours pendant lesquels un fichier de contenu est autorisé à être vérifié sans modification. Si cette limite est dépassée, le mtime du fichier de contenu est mis à jour. Ce cas peut se produire si le fichier de package est modifié de telle manière qu'il n'en résulte pas un nouveau fichier de contenu [écraser la modification par exemple]. Une attente est autorisée dans l'espoir que de nouveaux .debs seront installés, nécessitant de toute façon un nouveau fichier. La valeur par défaut est 10, les unités sont en jours.

Directory

Définit le haut de l'arborescence de répertoires .deb. Par défaut, $ (DIST)/$ (SECTION)/binary-$ (ARCH)/

SrcDirectory

Définit le haut de l'arborescence du répertoire du package source. Par défaut, $ (DIST)/$ (SECTION)/source/

Packages

Définit le fichier Packages de sortie. Par défaut, $ (DIST)/$ (SECTION)/binary-$ (ARCH)/Packages

Sources

Définit le fichier Sources de sortie. Par défaut, $ (DIST)/$ (SECTION)/source/Sources

Translation

Définit le fichier maître Translation-en de sortie avec les longues descriptions si elles ne doivent pas être incluses dans le fichier Packages. Par défaut, $ (DIST)/$ (SECTION)/i18n/Translation-en

InternalPrefix

Définit le préfixe de chemin qui fait qu'un lien symbolique est considéré comme un lien interne au lieu d'un lien externe. Par défaut, $ (DIST)/$ (SECTION)/

Contents

Définit le fichier de contenu de sortie. Par défaut, $ (DIST)/$ (SECTION)/Contents-$ (ARCH). Si ce paramètre entraîne le mappage de plusieurs fichiers de packages sur un seul fichier de contenu (comme c'est le cas par défaut), alors apt-ftparchive intégrera automatiquement ces fichiers de package ensemble.

Contents::Header

Définit le fichier d'en-tête à ajouter au début de la sortie du contenu.

BinCacheDB

Définit la base de données de cache binaire à utiliser pour cette section. Plusieurs sections peuvent partager la même base de données.

FileList

Spécifie qu'au lieu de parcourir l'arborescence des répertoires, apt-ftparchive doit lire la liste des fichiers à partir du fichier donné. Les noms de fichiers relatifs sont précédés du répertoire d'archivage.

SourceFileList

Spécifie qu'au lieu de parcourir l'arborescence des répertoires, apt-ftparchive doit lire la liste des fichiers à partir du fichier donné. Les noms de fichiers relatifs sont précédés du répertoire d'archivage. Ceci est utilisé lors du traitement des index source.

Coupe d'arbre

La section Tree définit une arborescence de fichiers Debian standard qui se compose d'un répertoire de base, puis de plusieurs sections dans ce répertoire de base et enfin de plusieurs architectures dans chaque section. Le chemin exact utilisé est défini par la variable de substitution Directory.

La section Tree prend une balise de portée qui définit la variable $ (DIST) et définit la racine de l'arborescence (le chemin est préfixé par ArchiveDir). Il s'agit généralement d'un paramètre tel que dists/bookworm.

Tous les paramètres définis dans la section TreeDefault peuvent être utilisés dans une section Tree ainsi que trois nouvelles variables.

Lors du traitement d'une section Tree, apt-ftparchive effectue une opération similaire à :

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

Il s'agit d'une liste de sections séparées par des espaces qui apparaissent sous la distribution ; typiquement c'est quelque chose comme main contrib non-free non-free-firmware

Architectures

Il s'agit d'une liste séparée par des espaces de toutes les architectures qui apparaissent dans la section de recherche. La source d'architecture spéciale est utilisée pour indiquer que cet arbre a une archive source. L'architecture signale que les fichiers spécifiques à l'architecture, tels que les packages, ne doivent pas inclure d'informations sur l'architecture de tous les packages dans tous les fichiers, car ils seront disponibles dans un fichier dédié.

LongDescription

Spécifie si les descriptions longues doivent être incluses dans le fichier Packages ou réparties dans un fichier maître Translation-en.

BinOverride

Définit le fichier de remplacement binaire. Le fichier de remplacement contient des informations sur la section, la priorité et l'adresse du responsable.

SrcOverride

Définit le fichier de remplacement source. Le fichier de remplacement contient des informations de section.

ExtraOverride

Définit le fichier de remplacement binaire supplémentaire.

SrcExtraOverride

Définit le fichier de remplacement supplémentaire source.

Section BinDirectory

La section bindirectory définit une arborescence de répertoires binaires sans structure spéciale. La balise scope spécifie l'emplacement du répertoire binaire et les paramètres sont similaires à la section Tree sans variables de substitution ni paramètres SectionArchitecture.

Packages

Définit la sortie du fichier Packages.

Sources

Définit la sortie du fichier Sources. Au moins un des packages ou des sources est requis.

Contents

Définit la sortie du fichier de contenu (facultatif).

BinOverride

Définit le fichier de remplacement binaire.

SrcOverride

Définit le fichier de remplacement source.

ExtraOverride

Définit le fichier de remplacement binaire supplémentaire.

SrcExtraOverride

Définit le fichier de remplacement supplémentaire source.

BinCacheDB

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

PathPrefix

Ajoute un chemin à tous les chemins de sortie.

FileList, SourceFileList

Spécifie le fichier de liste de fichiers.

LE FICHIER BINAIRE OVERRIDE

Le fichier de remplacement binaire est entièrement compatible avec dpkg-scanpackages(1). Il contient quatre champs séparés par des espaces. Le premier champ est le nom du paquet, le second est la priorité à laquelle forcer ce paquet, le troisième est la section à laquelle forcer ce paquet et le dernier champ est le champ de permutation du responsable.

La forme générale du champ mainteneur est :

old [// oldn]* => new

ou simplement,

new

Le premier formulaire permet de spécifier une liste d'anciennes adresses e-mail séparées par une double barre oblique. Si l'un de ceux-ci est trouvé, new est remplacé par le champ mainteneur. La deuxième forme remplace inconditionnellement le champ mainteneur.

LE FICHIER SOURCE OVERRIDE

Le fichier de remplacement de source est entièrement compatible avec dpkg-scansources(1). Il contient deux champs séparés par des espaces. Le premier champ est le nom du paquet source, le second est la section à lui attribuer.

LE FICHIER EXTRA OVERRIDE

Le fichier de remplacement supplémentaire permet d'ajouter ou de remplacer n'importe quelle balise arbitraire dans la sortie. Il comporte trois colonnes, la première est le package, la seconde est la balise et le reste de la ligne est la nouvelle valeur.

OPTIONS

Toutes les options de la ligne de commande peuvent être définies à l'aide du fichier de configuration, les descriptions indiquent l'option de configuration à définir. Pour les options booléennes, vous pouvez remplacer le fichier de configuration en utilisant quelque chose comme -f-,--no-f, -f=no ou plusieurs autres variantes.

--md5, --sha1, --sha256, --sha512

Générer la somme de contrôle donnée. Ces options sont activées par défaut, lorsqu'elles sont désactivées, les fichiers d'index générés n'auront pas les champs de somme de contrôle lorsque cela est 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

Utilisez une base de données de cache binaire. Cela n'a aucun effet sur la commande de génération. Élément de configuration : APT::FTPArchive::DB.

-q, --quiet

Calme; produit une sortie adaptée à la journalisation, en omettant les indicateurs de progression. Plus de qs produira plus de silence jusqu'à un maximum de 2. Vous pouvez également utiliser -q=# pour définir le niveau de silence, en remplaçant le fichier de configuration. Élément de configuration : silencieux.

--delink

Effectuez la déconnexion. Si le paramètre Liens externes est utilisé, cette option active en fait la dissociation des fichiers. Il est activé par défaut et peut être désactivé avec --no-delink. Élément de configuration : APT::FTPArchive::DeLinkAct.

--contents

Effectuer la génération de contenu. Lorsque cette option est définie et que les index de package sont générés avec une base de données de cache, la liste des fichiers sera également extraite et stockée dans la base de données pour une utilisation ultérieure. Lors de l'utilisation de la commande generate, cette option permet également la création de tous les fichiers de contenu. La valeur par défaut est activée. Élément de configuration : APT::FTPArchive::Contents.

-s, --source-override

Sélectionnez le fichier de remplacement source à utiliser avec la commande sources. Élément de configuration : APT::FTPArchive::SourceOverride.

--readonly

Faites en sorte que les bases de données de mise en cache soient en lecture seule. Élément de configuration : APT :: FTPArchive :: ReadOnlyDB.

-a, --arch

Acceptez dans les packages et les commandes de contenu uniquement les fichiers de package correspondant à *_arch.deb ou *_all.deb au lieu de tous les fichiers de package dans le chemin donné. Élément de configuration : APT::FTPArchive::Architecture.

APT::FTPArchive::AlwaysStat

apt-ftparchive(1) met en cache autant que possible de métadonnées dans un cachedb. Si les packages sont recompilés et/ou republiés avec la même version, cela entraînera des problèmes car les métadonnées en cache désormais obsolètes, telles que la taille et les sommes de contrôle, seront utilisées. Avec cette option activée, cela ne se produira plus car il sera vérifié si le fichier a été modifié. Notez que cette option est définie sur "false" par défaut car il n'est pas recommandé de télécharger plusieurs versions/builds d'un paquet avec le même numéro de version, donc en théorie personne n'aura ces problèmes et donc toutes ces vérifications supplémentaires sont inutiles.

APT::FTPArchive::LongDescription

Cette option de configuration par défaut est "true" et ne doit être définie sur "false" que si l'archive générée avec apt-ftparchive(1) fournit également des fichiers de traduction. Notez que le fichier maître Translation-en ne peut être créé que dans 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; Spécifiez un fichier de configuration à utiliser. Le programme lira le fichier de configuration par défaut puis ce fichier de configuration. Si les paramètres de configuration doivent être définis avant l'analyse des fichiers de configuration par défaut, spécifiez un fichier avec la variable d'environnement APT_CONFIG. Voir apt.conf(5) pour des informations sur la syntaxe.

-o, --option

Définissez une option de configuration ; Cela définira une option de configuration arbitraire. La syntaxe est -o Foo::Bar=bar. -o et --option peuvent être utilisés plusieurs fois pour définir différentes options.

EXEMPLES

Pour créer un fichier Packages compressé pour un répertoire contenant des packages binaires (.deb) :

apt-ftparchive packages directory | gzip > Packages.gz

VOIR ÉGALEMENT

apt.conf(5)

DIAGNOSTIQUE

apt-ftparchive renvoie zéro en fonctionnement normal, décimal 100 en cas d'erreur.

INSECTES

Page de bogues APT[1]. Si vous souhaitez signaler un bogue dans APT, veuillez consulter /usr/share/doc/debian/bug-reporting.txt ou la commande reportbug(1).

AUTEURS

Jason Gunthorpe

Équipe APT

REMARQUES

1. Page de bogues APT : http://bugs.debian.org/src:apt