Scroll to navigation

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

NAME

apt-ftparchive - Hulpprogramma om indexbestanden te maken

SAMENVATTING

apt-ftparchive [-dsq] [--md5] [--delink] [--readonly] [--contents] [--arch architecture] [-o=configuratietekenreeks] [-c=configuratiebestand] {packages pad... [override-bestand [padprefix]] | sources pad... [override-bestand [padprefix]] | contents pad | release pad | generate configuratiebestand sectie... | clean configuratiebestand | {-v | --version} | {-h | --help}}

OMSCHRIJVING

apt-ftparchive is een gereedschap voor de commandoregel dat de indexbestanden maakt die APT gebruikt om toegang te hebben tot een distributiebron. De indexbestanden moeten aangemaakt worden op de site van oorsprong en gebaseerd zijn op de inhoud van die site.

apt-ftparchive is een uitbreiding van het programma dpkg-scanpackages(1) dat diens volledige functionaliteit incorporeert via het commando packages. Het bevat ook een programma, contents, voor het aanmaken van contents-bestanden en degelijk ontwikkelde middelen om dit aanmaakproces voor een volledig archief door een script te laten uitvoeren.

apt-ftparchive kan uit zichzelf gebruik maken van binaire databases om de inhoud van een .deb-bestand te bufferen en het is van geen enkel extern programma afhankelijk met uitzondering van gzip(1). Wanneer een volledige aanmaak gebeurt, zal het automatisch een controle uitvoeren op gewijzigde bestanden en de gewenste gecomprimeerde uitvoerbestanden bouwen.

Tenzij de optie -h, of --help opgegeven werd, moet een van de onderstaande commando's gebruikt worden.

packages

Het commando packages maakt vertrekkend vanuit een mappenboom een package-bestand aan. Het begint bij de opgegeven map en doorzoekt de onderliggende mappen op de aanwezigheid van .deb-bestanden en schrijft voor elk ervan een pakketfiche weg naar de standaarduitvoer. Dit commando is bij benadering analoog aan dpkg-scanpackages(1).

De optie --db kan gebruikt worden om een bufferende binaire database op te geven.

sources

Het commando sources maakt vertrekkend vanuit een mappenboom een indexbestand over broncodebestanden aan. Het begint bij de opgegeven map en doorzoekt de onderliggende mappen op de aanwezigheid van .dsc-bestanden en schrijft voor elk ervan een broncodebestandsfiche weg naar de standaarduitvoer. Dit commando is bij benadering analoog aan dpkg-scansources(1).

Indien een override-bestand opgegeven werd, zal gezocht worden naar een broncode-override-bestand met de extensie .src. De optie --source-override kan gebruikt worden om op te geven dat een ander broncode-override-bestand gebruikt zal worden.

contents

Het commando contents maakt voor een mappenboom een contents-bestand aan. Het begint bij de opgegeven map en doorzoekt de onderliggende mappen op de aanwezigheid van .deb-bestanden en leest van elk bestand de bestandenlijst. Daarna sorteert het de lijst van bestanden en schrijft die gekoppeld aan een pakket weg naar de standaarduitvoer. Mappen worden niet naar standaarduitvoer geschreven. Indien hetzelfde bestand aan meerdere pakketten toebehoort, worden in de uitvoer de pakketten door een komma gescheiden.

De optie --db kan gebruikt worden om een bufferende binaire database op te geven.

release

Het commando release maakt voor een mappenboom een Release-bestand aan. Het begint bij de opgegeven map en zoekt daar en in de onderliggende mappen standaard naar niet-gecomprimeerde en gecomprimeerde Packages-, Sources, Contents, Components en icons-bestanden, alsook naar Release-, Index- en md5sum.txt-bestanden. (APT::FTPArchive::Release::Default-Patterns). Bijkomende bestandsnaampatronen kunnen toegevoegd worden door ze op te sommen inAPT::FTPArchive::Release::Patterns. Het commando schrijft vervolgens naar de standaarduitvoer eenRelease-bestand dat (standaard) voor elk bestand een MD5-, SHA1-, SHA256 en SHA512-verzameling bevat.

De waarden voor de bijkomende velden met metagegevens in het Release-bestand worden ontleend aan de overeenkomstige variabelen uit APT::FTPArchive::Release, bijvoorbeeld APT::FTPArchive::Release::Origin. De ondersteunde velden zijn: Origin, Label, Suite, Version, Codename, Date, NotAutomatic, ButAutomaticUpgrades, Acquire-By-Hash, Valid-Until, Signed-By, Architectures, Components en Description.

generate

Het commando generate werd ontworpen voor gebruik in een cron-script en bouwt indexen volgens het opgegeven configuratiebestand. De configuratietaal voorziet in een flexibel instrument om op te geven welke indexbestanden over welke mappen gemaakt moeten worden en ze voorziet ook in een eenvoudig instrument voor het onderhoud van de vereiste instellingen.

clean

Het commando clean schoont de door het opgegeven configuratiebestand gebruikte gegevensbestanden op door er de niet langer gebruikte fiches uit te verwijderen.

DE CONFIGURATIE VAN HET GENERATE-COMMANDO

Het commando generate gebruikt een configuratiebestand met de beschrijving van de archieven die gegenereerd moeten worden. Het gebruikt het typische ISC configuratieformaat dat men aantreft in ISC-gereedschap zoals bind 8 en dhcpd. apt.conf(5) bevat een beschrijving van de syntaxis. Noteer dat de configuratie van generate per sectie ontleed wordt, maar dat apt.conf(5) per boom ontleed wordt. Dit heeft enkel invloed op de manier waarop met het bereiklabel omgesprongen wordt.

De configuratie van generate bevat vier aparte secties die hierna besproken worden.

De sectie Dir

De sectie Dir definieert de standaardmappen waarin men de bestanden kan lokaliseren die nodig zijn tijdens het maakproces. Deze mappen worden voorafgegaan door bepaalde relatieve paden die in de volgende secties gedefinieerd worden om zo een volledig en absoluut pad te bekomen.

ArchiveDir

Geeft de basismap van het FTP-archief op. In een standaardconfiguratie van Debian is dat de map die de nodes ls-LR en dist bevatten.

OverrideDir

Geeft de locatie van de override-bestanden op.

CacheDir

Geeft de locatie van de cachebestanden op.

FileListDir

Geeft de locatie van de bestandenlijst-bestanden op, indien de instelling FileList hieronder gebruikt wordt.

De sectie Default

De sectie Default geeft standaardwaarden en instellingen op die de werking van de generator besturen. Andere secties kunnen deze standaardwaarden overschrijven met een sectiegebonden instelling.

Packages::Compress

Stelt het standaard compressieschema in dat voor de pakketindexbestanden gebruikt wordt. Het is een tekenreeks die bestaat uit een door spaties gescheiden lijst van minstens een van de compressieprogramma's die via het configuratiebereik APT::Compressor geconfigureerd zijn. Voor alle compressieschema's is de standaardinstelling '. gzip'.

Packages::Extensions

Stelt in wat de lijst is van bestandsextensies die er standaard op wijzen dat het pakketbestanden betreft. Dit is standaard ingesteld op '.deb'.

Sources::Compress

Dit is gelijkaardig aan Packages::Compress, behalve dat het de compressie van de Sources-bestanden regelt.

Sources::Extensions

Stelt in wat de lijst is van bestandsextensies die er standaard op wijzen dat het broncodebestanden betreft. Dit is standaard ingesteld op '.dsc'.

Contents::Compress

Dit is gelijkaardig aan Packages::Compress, behalve dat het de compressie van de Contents-bestanden regelt.

Translation::Compress

Dit is gelijkaardig aan Packages::Compress, behalve dat het de compressie van het Translation-en hoofdbestand regelt.

DeLinkLimit

Geeft het aantal kilobytes op dat per doorloop ontkoppeld (en vervangen door harde koppelingen) moet worden. Dit wordt gebruikt in samenhang met de sectiegebonden instelling External-Links.

FileMode

Stelt de modus in van alle aangemaakte indexbestanden. Standaard is dit ingesteld op 0644. Alle indexbestanden worden op deze modus ingesteld ongeacht het umask.

LongDescription

Stelt in of de gedetailleerde beschrijvingen moeten opgenomen worden in het Packages-bestand of afgesplitst en in een Translation-en hoofdbestand moeten geplaatst worden.

De sectie TreeDefault

Stelt standaarden in die specifiek zijn voor de secties Tree. Al deze variabelen zijn substitutievariabelen waarbij de tekenreeksen $(DIST), $(SECTION) en $(ARCH) vervangen worden door hun respectieve waarden.

MaxContentsChange

Stelt in voor welk aantal kilobytes er iedere dag contents-bestanden gegenereerd worden. Contents-bestanden komen een na een aan de beurt, zodat ze over een periode van een aantal dagen allemaal opnieuw gebouwd worden.

ContentsAge

Regelt het aantal dagen dat een contents-bestand mag gebruikt worden zonder dat het gewijzigd werd. Indien die limiet overschreden wordt, zal het mtime van het contents-bestand bijgewerkt worden. Een dergelijke situatie kan zich voordoen als het pakketbestand op zo een manier gewijzigd wordt dat het niet resulteert in een nieuw contents-bestand [bijvoorbeeld een wijziging aan override]. Uitstel is toegelaten als gehoopt mag worden dat nieuwe .deb-bestanden geïnstalleerd zullen worden wat hoe dan ook een nieuw contents-bestand vereist. De standaard is 10, waarbij de eenheden in dagen uitgedrukt worden.

Directory

Stelt de basis van de .deb-mappenboom in. Standaard is dat $(DIST)/$(SECTION)/binary-$(ARCH)/

SrcDirectory

Stelt de basis in van de mappenboom van broncodepakketten. Standaard is dat $(DIST)/$(SECTION)/source/

Packages

Stelt in waar het Packages-bestand geschreven wordt. Standaard is dat $(DIST)/$(SECTION)/binary-$(ARCH)/Packages

Sources

Stelt in waar het Sources-bestand geschreven wordt. Standaard is dat $(DIST)/$(SECTION)/source/Sources

Translation

Stelt in waar het hoofdbestand Translation-en geschreven wordt met daarin de uitgebreide beschrijvingen in het geval die niet in het bestand Packages opgenomen werden. De standaard is $(DIST)/$(SECTION)/i18n/Translation-en

InternalPrefix

Stelt het pad-prefix in dat regelt wanneer een symbolische koppeling als een interne en niet als een externe koppeling beschouwd moet worden. De standaard is $(DIST)/$(SECTION)/

Contents

Stelt in waar het Contents-bestand geschreven wordt. De standaard is $(DIST)/$(SECTION)/Contents-$(ARCH). Indien deze instelling ertoe leidt dat meerdere Packages-bestanden horen bij een enkel Contents-bestand (wat standaard het geval is), dan zal apt-ftparchive deze pakketbestanden automatisch tot een geheel integreren.

Contents::Header

Stelt het koptekstbestand in dat aan het begin van het aangemaakte contents-bestand moet komen.

BinCacheDB

Stelt de binaire database in om als cache te dienen voor deze sectie. Meerdere secties kunnen gebruik maken van dezelfde database.

FileList

Stelt in dat apt-ftparchive de lijst van bestanden moet halen uit het opgegeven bestand en niet moet opmaken aan de hand van het doorlopen van de mappenboom. De archiefmap wordt als prefix aan relatieve bestandsnamen toegevoegd.

SourceFileList

Stelt in dat apt-ftparchive de lijst van bestanden moet halen uit het opgegeven bestand en niet moet opmaken aan de hand van het doorlopen van de mappenboom. De archiefmap wordt als prefix aan relatieve bestandsnamen toegevoegd. Dit wordt gebruikt bij het verwerken van broncode-indexen.

De sectie Tree

De sectie Tree definieert een standaard bestandsboom voor Debian die bestaat uit een basismap met daarin dan meerdere secties en binnen elke sessie tenslotte meerdere architecturen. Het exacte pad dat gebruikt wordt, wordt gedefinieerd door de substitutievariabele Directory.

De sectie Tree werkt met een bereiklabel dat de variabele $(DIST) instelt en de basis van de boomstructuur definieert (vooraan aan het pad wordt ArchiveDir toegevoegd). Doorgaans is dat een instelling zoals dists/buster.

Alle in de sectie TreeDefault gedefinieerde instellingen kunnen ook in een Tree-sectie gebruikt worden evenals drie nieuwe variabelen.

Als apt-ftparchive een Tree-sectie verwerkt, voert het een operatie uit die vergelijkbaar is met:

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

Sections

Dit is een door spaties gescheiden lijst van secties die onder de distributie te vinden zijn. Doorgaans is dat iets zoals main contrib non-free

Architectures

Dit is een met spaties gescheiden lijst van alle architecturen die voorkomen onder de sectie waarin gezocht wordt. De bijzondere architectuur 'source' wordt gebruikt om aan te geven dat deze boomstructuur een archief met broncode bevat. De architectuur 'all' signaleert dat architectuurspecifieke bestanden zoals Packages, niet telkens in elk bestand informatie moeten opnemen over pakketten van het architectuurtype all, aangezien die te vinden is in een specifiek bestand.

LongDescription

Stelt in of de gedetailleerde beschrijvingen moeten opgenomen worden in het Packages-bestand of afgesplitst en in een Translation-en hoofdbestand moeten geplaatst worden.

BinOverride

Stelt het binaire override-bestand in. Het override-bestand bevat informatie over sectie, prioriteit en het adres van de onderhouder.

SrcOverride

Stelt het override-bestand van de broncode in. Het override-bestand bevat informatie over de sectie.

ExtraOverride

Stelt het binaire extra override-bestand in.

SrcExtraOverride

Stelt het extra override-bestand van de broncode in.

De sectie BinDirectory

De sectie bindirectory definieert een binaire mappenboom zonder bijzondere structuur. Het bereiklabel specificeert de locatie van de binaire map en de instellingen zijn gelijkaardig aan die van de sectie Tree zonder substitutievariabelen of instellingen van het type SectionArchitecture.

Packages

Stelt in waar het Packages-bestand aangemaakt wordt.

Sources

Stelt in waar het Sources-bestand aangemaakt wordt. Er is minstens een bestand Packages of Sources vereist.

Contents

Stelt in waar het Contents-bestand aangemaakt wordt (optioneel).

BinOverride

Stelt het binaire override-bestand in.

SrcOverride

Stelt het override-bestand voor de broncode in.

ExtraOverride

Stelt het binaire extra override-bestand in.

SrcExtraOverride

Stelt het extra override-bestand van de broncode in.

BinCacheDB

Stelt de cache database in.

PathPrefix

Voegt een pad toe aan al de paden van de uitvoer.

FileList, SourceFileList

Specificeert het bestand met de bestandslijst.

HET BINAIRE OVERRIDE-BESTAND

Het binaire override-bestand is volledig compatibel met dpkg-scanpackages(1). Het bevat vier door spaties gescheiden velden. Het eerste veld bevat de pakketnaam, het tweede bevat de prioriteit die aan dat pakket gegeven moet worden, het derde bevat de sectie waarin dat pakket geplaatst moet worden en het laatste veld is voorbehouden voor het opgeven van een vervangende onderhouder.

De algemene vorm van het onderhouder-veld is:

oude [// ouden]* => nieuwe

, of gewoon

nieuwe

De eerste vorm laat toe om een lijst van oude e-mailadressen, van elkaar gescheiden door een dubbele slash, op te geven. Indien een ervan aangetroffen wordt, dan zal nieuw als de nieuwe waarde voor het onderhouder-veld gebruikt worden. De tweede vorm vervangt onvoorwaardelijk de inhoud van het onderhouder-veld.

HET OVERRIDE-BESTAND VOOR BRONCODE

Het override-bestand voor broncode is volledig compatibel met dpkg-scansources(1). Het bestaat uit twee velden die van elkaar gescheiden worden door een spatie. Het eerste veld bevat de naam van het broncodepakket en het tweede de sectie waartoe het moet behoren.

HET EXTRA OVERRIDE-BESTAND

Het extra override-bestand maakt het mogelijk om gelijk welk arbitrair label toe te voegen of te vervangen in de uitvoer. Het bestaat uit drie kolommen. In de eerste staat het pakket vermeld, in de tweede het label en de rest van de regel bevat de nieuwe waarde die eraan toegekend wordt.

OPTIES

Alle commandoregelopties kunnen via het configuratiebestand ingesteld worden. de omschrijving geeft de in te stellen configuratieoptie op. Bij booleaanse opties kunt u instellingen uit het configuratiebestand overschrijven door iets te gebruiken als -f-, --no-f, -f=no en meerdere andere variaties.

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

De vermelde controlesom genereren. Standaard staan deze opties aan. Indien ze uitgezet worden, dan zal het aangemaakte indexbestand zo mogelijk geen velden voor de controlesom bevatten. Configuratie-items: APT::FTPArchive::Checksum en APT::FTPArchive::Index::Checksum waarbij Index kan bestaan uit Packages, Sources of Release en Checksum kan bestaan uit MD5, SHA1, SHA256 of SHA512.

-d, --db

Een bufferende binaire database gebruiken. Dit heeft geen invloed op het commando generate. Configuratie-item: APT::FTPArchive::DB.

-q, --quiet

Stille modus. Door het weglaten van de voortgangsindicatie produceert dit uitvoer die geschikt is om opgeslagen te worden in een logbestand. Meer q's, met een maximum van 2, resulteren in een verhoogde stille modus. U kunt ook -q=# gebruiken om het niveau van de stille modus in te stellen en op die manier het configuratiebestand te overschrijven. Configuratie-item: quiet.

--delink

Ontkoppelingen uitvoeren. Indien de instelling External-Links gebruikt wordt, dan maakt deze optie het eigenlijk mogelijk om de bestanden te ontkoppelen. Standaard staat dit aangezet en het kan uitgezet worden met --no-delink. Configuratie-item: APT::FTPArchive::DeLinkAct.

--contents

Het aanmaken van het contents-bestand uitvoeren. Indien deze optie aangezet wordt en de pakketindexen gegenereerd worden met een bufferende database, dan zal ook de bestandslijst geëxtraheerd worden en voor later gebruik in de database opgeslagen worden. Als het commando generate gebruikt wordt, laat deze optie ook toe om Contents-bestanden aan te maken. Standaard staat dit aangezet. Configuratie-item: APT::FTPArchive::Contents.

-s, --source-override

Het override-bestand voor broncode selecteren om met het commando sources te gebruiken. Configuratie-item: APT::FTPArchive::SourceOverride.

--readonly

De bufferende databases alleen lezen maken. Configuration Item: APT::FTPArchive::ReadOnlyDB.

-a, --arch

Voor de commando's packages en contents enkel pakketbestanden toelaten die overeenkomen met *_arch.deb of *_all.deb in plaats van alle pakketbestanden in het opgegeven pad. Configuratie-item: APT::FTPArchive::Architecture.

APT::FTPArchive::AlwaysStat

apt-ftparchive(1) buffert zoveel mogelijk metadata in een bufferende database. Indien er pakketten opnieuw gebouwd en/of uitgebracht worden met dezelfde versie, zal dit tot problemen leiden, aangezien de dan verouderde maar in de buffer aanwezige metadata, zoals grootte en controlesommen, gebruikt zullen worden. Indien deze optie aangezet wordt, zal dit niet meer gebeuren, vermits gecontroleerd zal worden of het bestand gewijzigd werd. Noteer dat deze optie standaard ingesteld staat op "false" (uit), omdat het niet aangewezen is om meerdere versies/bouwversies van een pakket met hetzelfde versienummer te uploaden. In theorie zal dus niemand met deze problemen geconfronteerd worden en daarom zijn al deze extra controles nutteloos.

APT::FTPArchive::LongDescription

Deze configuratieoptie staat standaard ingesteld op "true" (aan) en zou enkel moeten ingesteld worden op "false" (uit) indien het archief dat met apt-ftparchive(1) gegenereerd wordt ook Translation-bestanden bevat. Merk op dat het hoofdbestand Translation-en enkel aangemaakt kan worden via het commando generate.

-h, --help

Een korte samenvatting van het gebruik weergeven.

-v, --version

Het versienummer van het programma weergeven.

-c, --config-file

Configuratiebestand; Een te gebruiken configuratiebestand opgeven. Het programma zal het standaard configuratiebestand inlezen en nadien dit configuratiebestand. Als configuratie-instellingen opgegeven moeten worden vooraleer de standaard configuratiebestanden verwerkt worden, geef dan een bestand op met de omgevingsvariabele APT_CONFIG. Raadpleeg apt.conf(5) voor informatie over de syntaxis.

-o, --option

Een configuratieoptie instellen; Dit stelt een willekeurige configuratieoptie in. De syntaxis is -o Foo::Bar=bar. -o en --option kunnen meermaals gebruikt worden om verschillende opties in te stellen.

VOORBEELDEN

Om voor een map met binaire pakketten (.deb) een gecomprimeerd Packages-bestand aan te maken:

apt-ftparchive pakketten map | gzip > Packages.gz

ZIE OOK

apt.conf(5)

DIAGNOSTIEK

apt-ftparchive geeft de terugkeerwaarde nul bij een normaal verlopen operatie, het decimaal getal 100 in geval van een fout.

BUGS

APT bugpagina[1]. Indien u een bug in APT wilt rapporteren, raadpleeg dan /usr/share/doc/debian/bug-reporting.txt of het reportbug(1) commando.

VERTALING

De Nederlandse vertaling werd in 2015 gemaakt door Frans Spiesschaert <Frans.Spiesschaert@yucom.be>, in samenwerking met het Debian Dutch l10n Team <debian-l10n-dutch@lists.debian.org>.

Merk op dat de vertaling van dit document nog onvertaalde delen kan bevatten. Dit is intentioneel om te vermijden dat inhoud verloren zou gaan door een vertaling die achterop loopt op het origineel.

AUTEURS

Jason Gunthorpe

APT-team

OPMERKINGEN

1.
APT bugpagina
11 november 2016 APT 1.8.2.1