Provided by: apt-utils_2.0.10_amd64 bug

NAME

       apt-ftparchive - Hilfsprogramm zum Generieren von Indexdateien

ÜBERSICHT

       apt-ftparchive [-dsq] [--md5] [--delink] [--readonly] [--contents] [--arch architecture]
                      [-o=Konfigurationszeichenkette] [-c=Konfigurationsdatei]
                      {packages Pfad... [Außer-Kraft-Setzdatei [Pfadpräfix]]  |
                      sources Pfad... [Außer-Kraft-Setzdatei [Pfadpräfix]]  | contents Pfad  |
                      release Pfad  | generate Konfigurationsdatei Abschnitt... |
                      clean Konfigurationsdatei  | {-v | --version} | {-h | --help}}

BESCHREIBUNG

       apt-ftparchive ist das Befehlszeilenwerkzeug, das Indexdateien generiert, die APT zum
       Zugriff auf eine Distributionsquelle benutzt. Die Indexdateien sollten auf der
       Ursprungs-Site auf Basis des Inhalts dieser Site generiert werden.

       apt-ftparchive ist eine Obermenge des dpkg-scanpackages(1)-Programms, das dessen ganze
       Funktionalität über den packages-Befehl enthält. Es enthält auch einen Generator für
       Contents-Dateien, contents und ein Mittel, um den Generierungsprozess für ein komplettes
       Archiv zu »skripten«.

       Intern kann apt-ftparchive von Programmdatenbanken Gebrauch machen, um die Inhalte einer
       .deb-Datei zwischenzuspeichern und es verlässt sich nicht auf irgendwelche externen
       Programme, abgesehen von gzip(1). Wenn eine vollständige Generierung erfolgt, werden
       automatisch Dateiänderungsprüfungen durchgeführt und die gewünschten komprimierten
       Ausgabedateien erzeugt.

       Sofern nicht die -h-, oder --help-Option angegeben ist, muss einer der nachfolgend
       aufgeführten Befehle vorkommen.

       packages
           Der »packages«-Befehl generiert eine Paketdatei aus einem Verzeichnisbaum. Er nimmt
           ein vorgegebenes Verzeichnis und durchsucht es rekursiv nach .deb-Dateien, wobei es
           für jede einen Paketdatensatz auf Stdout ausgibt. Dieser Befehl entspricht etwa dpkg-
           scanpackages(1).

           Die Option --db kann benutzt werden, um eine Datenbank zum Zwischenspeichern von
           Programmen anzugeben.

       sources
           Der sources-Befehl generiert eine Quellenindexdatei aus einem Verzeichnisbaum. Er
           nimmt ein vorgegebenes Verzeichnis und durchsucht es rekursiv nach .dsc-Dateien, wobei
           es für jede einen Quelldatensatz auf Stdout ausgibt. Dieser Befehl entspricht etwa
           dpkg-scansources(1).

           Wenn eine außer Kraft setzende Datei angegeben ist, wird nach einer Quelldatei zum
           Überschreiben mit einer .src-Dateiendung gesucht. Die Option »--source-override« kann
           benutzt werden, um die Quelldatei zum Überschreiben, die benutzt wird, zu ändern.

       contents
           Der contents-Befehl generiert eine Inhaltsdatei aus einem Verzeichnisbaum. Er nimmt
           ein vorgegebenes Verzeichnis und durchsucht es rekursiv nach .deb-Dateien und liest
           die Dateiliste von jeder Datei. Dann sortiert er die Liste der passenden Pakete und
           schreibt sie nach Stdout. Verzeichnisse werden nicht in die Ausgabe geschrieben. Falls
           mehrere Pakete die gleiche Datei besitzen, dann befindet sich jedes Paket durch Komma
           getrennt in der Ausgabe.

           Die Option --db kann benutzt werden, um eine Datenbank zum Zwischenspeichern von
           Programmen anzugeben.

       release
           Der Befehl release erzeugt eine Release-Datei aus einem Verzeichnisbaum. Standardmäßig
           durchsucht er rekursiv das angegebene Verzeichnis nach nicht komprimierten und
           komprimierten Packages-, Sources-, Contents-, Components- und icons-Dateien, ebenso
           wie standardmäßig Release-, Index und md5sum.txt-Dateien
           (APT::FTPArchive::Release::Default-Patterns). Zusätzliche Muster für Dateinamen können
           hinzugefügt werden, indem sie in APT::FTPArchive::Release::Patterns aufgeführt werden.
           Dann schreibt er eine Release-Datei auf die Standardausgabe, die (standardmäßig) für
           jede Datei eine MD5-, SHA1-, SHA256- und SHA512-Prüfsumme enthält.

           Werte für zusätzliche Metadatenfelder in der Release-Datei werden den entsprechenden
           Variablen unter APT::FTPArchive::Release entnommen, z.B.
           APT::FTPArchive::Release::Origin. Die unterstützten Felder sind: Origin, Label, Suite,
           Version, Codename, Date, NotAutomatic, ButAutomaticUpgrades, Acquire-By-Hash,
           Valid-Until, Signed-By, Architectures, Components, Description.

       generate
           Der generate-Befehl wurde entworfen, um von einem Cron-Skript ausführbar zu sein und
           bildet Indexe, die der angegebenen Konfigurationsdatei entsprechen. Die
           Konfigurationssprache stellt eine flexible Möglichkeit bereit, um anzugeben, welche
           Indexdateien von welchen Verzeichnissen gebildet wurden, ebenso wie sie eine einfache
           Möglichkeit zur Verwaltung der erforderlichen Einstellungen bereitstellt.

       clean
           Der clean-Befehl räumt die Datenbanken auf, die von der angegebenen
           Konfigurationsdatei benutzt wurden, indem es nicht länger nötige Datensätze entfernt.

DIE GENERATE-KONFIGURATION

       Der generate-Befehl benutzt eine Konfigurationsdatei, um die Archive zu beschreiben, die
       generiert werden sollen. Es folgt dem typischen ISC-Konfigurationsformat, wie es in
       ISC-Werkzeugen wie Bind 8 oder DHCP gesehen werden kann. apt.conf(5) enthält eine
       Beschreibung der Syntax. Beachten Sie, dass die generate-Konfiguration abschnittsweise
       ausgewertet wird, apt.conf(5) aber baumartig ausgewertet wird. Dies hat nur Auswirkungen,
       wie die Markierung »scope« behandelt wird.

       Die generate-Konfiguration hat vier getrennte Abschnitte, jeder ist unterhalb beschrieben

   Dir-Abschnitt
       Der Dir-Abschnitt definiert die Vorgabeverzeichnisse, die zum Orten der benötigten Dateien
       während des Generierungsprozesses gebraucht werden. Diese Verzeichnisse werden bestimmte
       relative Pfade, die in späteren Abschnitten definiert werden, vorangestellt, um einen
       vollständigen absoluten Pfad zu bilden.

       ArchiveDir
           gibt die Wurzel des FTP-Archivs an. In einer Debian-Standardkonfiguration ist das das
           Verzeichnis, das die ls-LR- und dist-Knoten enthält.

       OverrideDir
           gibt den Ort der Dateien zum Überschreibenan.

       CacheDir
           gibt den Ort der Zwischenspeicherdateien an.

       FileListDir
           gibt den Ort der Dateilistendateien an, wenn die FileList unterhalb benutzt wird.

   Default-Abschnitt
       Der Default-Abschnitt gibt Vorgabewerte an und Einstellungen, die den Betrieb des
       Generators steuern. Andere Abschnitte können diese Vorgaben mit einer Einstellung pro
       Abschnitt außer Kraft setzen.

       Packages::Compress
           setzt das Standardkompressionsschema, das für die Paketindexdateien benutzt wird. Es
           ist eine Zeichenkette, die eine durch Leerzeichen getrennte Liste mit mindestens einem
           der im Konfigurationsbereich APT::Compressor eingerichteten Kompressionsprogramme
           enthält. Die Voreinstellung für alle Kompressionsschemas ist ». gzip«.

       Packages::Extensions
           setzt die Vorgabeliste von Dateierweiterungen, die Paketdateien sind. Vorgabe ist
           ».deb«.

       Sources::Compress
           Dies ist Packages::Compress ähnlich, außer dass es die Kompression der Quelldateien
           steuert.

       Sources::Extensions
           setzt die Vorgabeliste von Dateierweiterungen, die Quelldateien sind. Vorgabe ist
           ».dsc«.

       Contents::Compress
           Dies ist Packages::Compress ähnlich, außer dass es die Kompression der Contents-Dteien
           steuert.

       Translation::Compress
           Dies ist Packages::Compress ähnlich, außer dass es die Kompression der
           Translation-en-Hauptdatei steuert.

       DeLinkLimit
           gibt die Anzahl von Kilobyte an, deren Verweis pro Durchlauf entfernt (und durch
           Hardlinks ersetzt) werden sollen. Dies wird in Verbindung mit der abschnittsweisen
           Einstellung External-Links benutzt.

       FileMode
           gibt den Modus für alle erstellten Indexdateien an. Vorgabe ist 0644. Alle
           Indexdateien erhalten diese Rechte ohne Beachtung von umask.

       LongDescription
           gesetzt, falls lange Beschreibungen in die Package-Datei eingeschlossen oder in eine
           Translation-en-Hauptdatei unterteilt werden sollen

   TreeDefault-Abschnitt
       setzt Vorgaben speziell für Tree-Abschnitte. All diese Variablen sind Platzhaltervariablen
       und haben die Zeichenketten $(DIST), $(SECTION) und $(ARCH) durch ihre jeweiligen Werte
       ersetzt.

       MaxContentsChange
           setzt die Anzahl der Kilobyte an Inhaltdateien, die jeden Tag generiert werden. Die
           Inhaltdateien werden reihum ersetzt, so dass sie über mehrere Tage alle neu gebildet
           werden.

       ContentsAge
           steuert die Anzahl der Tage, die eine Inhaltsdatei erlaubt ist ohne Änderung geprüft
           zu werden. Wenn die Grenze überschritten ist, wird die mtime der Inhaltsdatei
           aktualisiert. Dieser Fall kann auftreten, wenn die Package-Datei in einer Art geändert
           wurde, die nicht in einer neuen Inhaltsdatei resultierte [außer Kraft setzendes
           Bearbeiten zum Beispiel]. Ein Aufhalten ist erlaubt, in der Hoffnung dass neue .debs
           installiert werden, die sowieso eine neue Datei benötigen. Die Vorgabe ist 10, die
           Einheiten sind Tage.

       Directory
           setzt den Beginn des .deb-Verzeichnisbaums. Vorgabe ist
           $(DIST)/$(SECTION)/binary-$(ARCH)/

       SrcDirectory
           setzt den Beginn des Quellpaketverzeichnisbaums. Vorgabe ist
           $(DIST)/$(SECTION)/source/

       Packages
           setzt die Ausgabe-Packages-Datei. Vorgabe ist
           $(DIST)/$(SECTION)/binary-$(ARCH)/Packages

       Sources
           setzt die Ausgabe-Sources-Datei. Vorgabe ist $(DIST)/$(SECTION)/source/Sources

       Translation
           setzt die Ausgabe der Translation-en-Hauptdatei mit den langen Beschreibungen falls
           sie nicht in der Packages-Datei enthalten sein sollen. Vorgabe ist
           $(DIST)/$(SECTION)/i18n/Translation-en.

       InternalPrefix
           setzt das Pfad-Präfix, das bewirkt, dass ein symbolischer Verweis wie ein interner
           anstatt wie ein externer Verweis behandelt wird. Vorgabe ist $(DIST)/$(SECTION)/

       Contents
           setzt die Ausgabe-Contents-Datei. Vorgabe ist $(DIST)/$(SECTION)/Contents-$(ARCH).
           Wenn diese Einstellung bewirkt, dass mehrere Packages-Dateien auf einer einzelnen
           Inhaltsdatei abgebildet werden (so wie es Vorgabe ist), dann wird apt-ftparchive diese
           Dateien automatisch integrieren.

       Contents::Header
           setzt die Kopfdatendatei, um sie der Inhaltsausgabe voranzustellen.

       BinCacheDB
           setzt die Programmzwischenspeicherdatenbank zur Benutzung in diesem Abschnitt. Mehrere
           Abschnitte können sich die gleiche Datenbank teilen.

       FileList
           gibt an, dass apt-ftparchive die Liste der Dateien aus der vorgegebenen Datei liest,
           anstatt den Verzeichnisbaum zu durchlaufen. Relativen Dateinamen wird das
           Archivverzeichnis vorangestellt.

       SourceFileList
           gibt an, dass apt-ftparchive die Liste der Dateien aus der vorgegebenen Datei liest,
           anstatt den Verzeichnisbaum zu durchlaufen. Relativen Dateinamen wird das
           Archivverzeichnis vorangestellt. Dies wird benutzt, wenn Quellindizes verarbeitet
           werden.

   Tree-Abschnitt
       Der Tree-Abschnitt definiert einen Standard-Debian-Dateibaum, der aus einem
       Basisverzeichnis, dann mehreren Abschnitten in diesem Basisverzeichnis und am Ende,
       mehreren Architekturen in jedem Abschnitt besteht. Die genaue benutzte Pfadeinstellung ist
       durch die Directory-Ersetzungsvariable definiert.

       Der Tree-Abschnitt akzeptiert eine scope-Markierung, die die $(DIST)-Variable setzt und
       die Wurzel des Baumes definiert (dem Pfad wird ArchiveDir vorangestellt). Typischerweise
       ist dies eine Einstellung wie dists/buster.

       Alle im TreeDefault-Abschnitt definierten Einstellungen können in einem Tree-Abschnitt,
       sowie drei neue Variablen benutzt werden.

       Wenn ein Tree-Abschnitt bearbeitet wird, führt apt-ftparchive eine Aktion aus, die
       folgender ähnelt:

           for i in Abschnitte do
              for j in Architekturen do
                 Generiere for DIST=Geltungsbereich SECTION=i ARCH=j

       Sections
           Dies ist eine durch Leerzeichen getrennte Liste der Abschnitte, die unter der
           Distribution erscheint, typischerweise etwas wie main contrib non-free

       Architectures
           Dies ist eine durch Kommas getrennte Liste aller Architekturen, die unter dem
           Suchabschnitt erscheinen. Die besondere Architektur »source« wird benutzt, um
           anzuzeigen, dass dieser Verzeichnisbaum über ein Quellarchiv verfügt. Die Architektur
           »all« signalisiert, dass architekturspezifische Dateien wie Packages keine
           Informationen über Pakete der Architektur all enthalten sollten, da sie in einer
           dedizierten Datei verfügbar sein werden.

       LongDescription
           gesetzt, falls lange Beschreibungen in die Package-Datei eingeschlossen oder in eine
           Translation-en-Hauptdatei unterteilt werden sollen

       BinOverride
           setzt die Binärdatei zum Überschreiben. Die Datei zum Überschreiben enthält Abschnitt,
           Priorität und Adressinformationen des Betreuers.

       SrcOverride
           setzt die Quelldatei zum Überschreiben. Die Quelldatei zum Überschreiben enthält
           Abschnittsinformationen.

       ExtraOverride
           setzt die zusätzliche Binärdatei zum Überschreiben.

       SrcExtraOverride
           setzt die zusätzliche Quelldatei zum Überschreiben.

   BinDirectory-Abschnitt
       Der bindirectory-Abschnitt definiert einen Binärverzeichnisbaum ohne spezielle Struktur.
       Die scope-Markierung gibt den Ort des Binärverzeichnisses an und die Einstellungen sind
       denen des Tree-Abschnitts ohne Platzhaltervariablen oder AbschnittArchitektur ähnlich.

       Packages
           setzt die Packages-Dateiausgabe.

       Sources
           setzt die Sources-Dateiausgabe. Entweder Packages oder Sources ist erforderlich.

       Contents
           setzt die Contents-Dateiausgabe (optional)

       BinOverride
           setzt die Binärdatei zum Überschreiben.

       SrcOverride
           setzt die Quelldatei zum Überschreiben.

       ExtraOverride
           setzt die zusätzliche Binärdatei zum Überschreiben.

       SrcExtraOverride
           setzt die zusätzliche Quelldatei zum Überschreiben.

       BinCacheDB
           setzt die Zwischenspeicherdatenbank.

       PathPrefix
           hängt einen Pfad an alle Ausgabepfade an.

       FileList, SourceFileList
           gibt die Dateilistendatei an.

DIE PROGRAMMDATEI ZUM ÜBERSCHREIBEN

       Die Binärdatei zum Überschreiben ist vollständig zu dpkg-scanpackages(1) kompatibel. Sie
       enthält vier durch Leerzeichen getrennte Felder. Das erste Feld ist der Paketname, das
       zweite ist die Priorität, zu der das Paket erzwungen wird, das dritte ist der Abschnitt,
       zu der das Paket erzwungen wird und das letzte Feld ist das Betreuerumsetzungsfeld.

       Die allgemeine Form des Betreuerfelds ist:

           alt [// oldn]* => neu

       oder einfach

           neu

       . Die erste Form erlaubt es, eine durch Doppelschrägstrich getrennte Liste alter
       E-Mail-Adressen anzugegeben. Wenn eine davon gefunden wird, wird die neue für das
       Betreuerfeld ersetzt. Die zweite Form ersetzt das Betreuerfeld bedingungslos.

DIE QUELLDATEI ZUM ÜBERSCHREIBEN

       Die Quelldatei zum Überschreiben ist vollständig kompatibel zu dpkg-scansources(1). Sie
       enthält zwei durch Leerzeichen getrennte Felder. Das erste Feld ist der Quellpaketname,
       das zweite ist der Abschnitt, dem er zugeordnet ist.

DIE ZUSÄTZLICHE DATEI ZUM ÜBERSCHREIBEN

       Die zusätzliche Datei zum Überschreiben erlaubt jeder beliebigen Markierung zur Ausgabe
       hinzugefügt oder darin ersetzt zu werden. Sie hat drei Spalten. Die erste ist das Paket,
       die zweite ist die Markierung und der Rest der Zeile ist der neue Wert.

OPTIONEN

       Alle Befehlszeilenoptionen können durch die Konfigurationsdatei gesetzt werden, die
       Beschreibung gibt die zu setzende Option an. Für boolesche Optionen können Sie die
       Konfigurationsdatei außer Kraft setzen, indem Sie etwas der Art -f-, --no-f, -f=no oder
       etliche weitere Varianten benutzen.

       --md5, --sha1, --sha256, --sha512
           erzeugt die vorgegebene Prüfsumme. Diese Optionen sind standardmäßig aktiviert. Wenn
           sie deaktiviert sind, werden die erzeugten Indexdateien nach Möglichkeit keine
           Prüfsummenfelder erhalten. Konfigurationselemente: APT::FTPArchive::Prüfsumme und
           APT::FTPArchive::Index::Prüfsumme, wobei Index Packages, Sources oder Release sein
           kann und Prüfsumme MD5, SHA1, SHA256 oder SHA512 sein kann.

       -d, --db
           benutzt eine Binärzwischenspeicherdatenbank. Dies hat keine Auswirkung auf den
           »generate«-Befehl. Konfigurationselement: APT::FTPArchive::DB.

       -q, --quiet
           still; erzeugt eine Ausgabe, die für Protokollierung geeignet ist und
           Fortschrittsanzeiger weglässt. Mehr »q«s unterdrücken mehr Ausgaben, bis zu einem
           Maximum von 2. Sie können außerdem -q=# benutzen, um die Stillestufe zu setzen, was
           die Konfigurationsdatei außer Kraft setzt. Konfigurationselement: quiet.

       --delink
           entfernt Verweise. Wenn die External-Links-Einstellung benutzt wird, schaltet diese
           Option tatsächlich das Entfernen von Verweisen zu Dateien ein. Standardmäßig ist es an
           und kann mit --no-delink ausgeschaltet werden. Konfigurationselement:
           APT::FTPArchive::DeLinkAct.

       --contents
           führt Inhaltsgenerierung durch. Wenn diese Option gesetzt ist und Paketindizes mit
           einer Zwischenspeicherdatenbank generiert werden, dann wird die Dateiliste auch
           extrahiert und für spätere Benutzung in der Datenbank gespeichert. Wenn der
           »generate«-Befehl benutzt wird, erlaubt diese Option außerdem die Erzeugung beliebiger
           Contents-Dateien. Die Vorgabe ist an. Konfigurationselement:
           APT::FTPArchive::Contents.

       -s, --source-override
           wählt die Quelldatei zum außer Kraft setzen, die mit dem sources-Befehl benutzt wird.
           Konfigurationselement: APT::FTPArchive::SourceOverride.

       --readonly
           macht die Zwischenspeicherdatenbank nur lesbar. Konfigurationselement:
           APT::FTPArchive::ReadOnlyDB.

       -a, --arch
           akzeptiert in den Befehlen packages und contents nur Paketdateien, die auf *_arch.deb
           oder *_all.deb passen, anstatt aller Paketdateien im angegebenen Pfad.
           Konfigurationselement: APT::FTPArchive::Architecture.

       APT::FTPArchive::AlwaysStat
           apt-ftparchive(1) speichert so viele Metadaten wie möglich in einer
           Zwischenspeicherdatenbank. Falls Pakete neu kompiliert und/oder neu mit der gleichen
           Version veröffentlicht werden, führt dies zu Problemen, da die nun veralteten
           zwischengespeicherten Metadaten, wie Größe und Prüfsumme, benutzt werden. Mit dieser
           eingeschalteten Option wird dies nicht weiter vorkommen, da geprüft wird, ob die Datei
           geändert wurde. Beachten Sie, dass diese Option standardmäßig auf »false« gesetzt ist,
           da es nicht empfohlen wird, mehrere Versionen/Builds eines Pakets mit der gleichen
           Versionsnummer hochzuladen, so dass theoretisch niemand dieses Probleme haben sollte
           und all diese zusätzlichen Prüfungen daher nutzlos sind.

       APT::FTPArchive::LongDescription
           Diese Konfigurationsoption ist standardmäßig »true« und sollte nur auf »false« gesetzt
           werden, wenn das mit apt-ftparchive(1) generierte Archiv außerdem Translation-Dateien
           bereitstellt. Beachten Sie, dass die Hauptdatei Translation-en nur durch den Befehl
           »generate« erstellt werden kann.

       -h, --help
           eine kurze Aufrufzusammenfassung zeigen

       -v, --version
           die Version des Programms anzeigen

       -c, --config-file
           Konfigurationsdatei; hiermit wird die zu verwendende Konfigurationssdatei angegeben.
           Das Programm wird die Vorgabe-Konfigurationsdatei und dann diese Konfigurationsdatei
           lesen. Falls Konfigurationseinstellungen vor der Vorgabe-Konfiguration ausgewertet
           werden müssen, geben Sie eine Datei in der Umgebungsvariable APT_CONFIG an. Lesen Sie
           apt.conf(5), um Syntax-Informationen zu erhalten.

       -o, --option
           eine Konfigurationsoption setzen; hiermit wird eine beliebige Konfigurationsoption
           gesetzt. Die Syntax lautet -o Foo::Bar=bar. -o und --option kann mehrfach benutzt
           werden, um verschiedene Optionen zu setzen.

BEISPIELE

       Um eine gepackte Paketdatei für ein Verzeichnis zu erstellen, das Binärpakete (.deb)
       enthält:

           apt-ftparchive packages Verzeichnis | gzip > Packages.gz

SIEHE AUCH

       apt.conf(5)

DIAGNOSE

       apt-ftparchive gibt bei normalen Aktionen 0 zurück, dezimal 100 bei Fehlern.

FEHLER

       APT-Fehlerseite[1]. Wenn Sie einen Fehler in APT berichten möchten, lesen Sie bitte
       /usr/share/doc/debian/bug-reporting.txt oder den reportbug(1)-Befehl. Verfassen Sie
       Fehlerberichte bitte auf Englisch.

ÜBERSETZUNG

       Die deutsche Übersetzung wurde 2009 von Chris Leick <c.leick@vollbio.de> in Zusammenarbeit
       mit dem deutschen l10n-Team von Debian <debian-l10n-german@lists.debian.org> angefertigt.

       Beachten Sie, dass diese Übersetzung Teile enthalten kann, die nicht übersetzt wurden.
       Dies ist so, damit kein Inhalt verloren geht, wenn die Übersetzung hinter dem
       Originalinhalt hinterherhängt.

AUTOREN

       Jason Gunthorpe

       APT-Team

FUßNOTEN

        1. APT-Fehlerseite
           http://bugs.debian.org/src:apt