ÜBERSICHT
- apt-ftparchive [-dsq] [--md5] [--delink] [--readonly] [--contents] [--arch architecture] [-o=Konfigurationszeichenkette] [-c=Konfigurationsdatei] {packages Pfad... [Überschreibungsdatei [Pfadpräfix]] | sources Pfad... [Überschreibungsdatei [Pfadpräfix]] | contents Pfad | release Pfad | generate Konfigurationsdatei Abschnitt... | clean Konfigurationsdatei | {-v | --version} | {-h | --help}}
BESCHREIBUNG
apt-ftparchive
apt-ftparchive ist eine Obermenge des dpkg-scanpackages(1)-Programms, das dessen ganze Funktionalität über den packages-Befehl enthält ist ein durchdachtes Mittel 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 verlasst 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 gepackten Ausgabedateien erzeugt.
Sofern nicht die -h-, oder --help-Option angegeben ist, muss einer der unten 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 Override-Datei angegeben ist, wird nach einer Quellen-Override-Datei mit einer .src-Dateiendung gesucht. Die Option »--source-override« kann benutzt werden, um die Quellen-Override-Datei, 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
-
The
release
command generates a Release file from a directory tree. It recursively searches the given directory for uncompressed and compressed
Packages,
Sources,
Contents,
Components
and
icons
files as well as
Release,
Index
and
md5sum.txt
files by default (APT::FTPArchive::Release::Default-Patterns). Additional filename patterns can be added by listing them in
APT::FTPArchive::Release::Patterns. It then writes to stdout a
Release
file containing (by default) an MD5, SHA1, SHA256 and SHA512 digest for each file.
Values for the additional metadata fields in the Release file are taken from the corresponding variables under APT::FTPArchive::Release, e.g. APT::FTPArchive::Release::Origin. The supported fields are Origin, Label, Suite, Version, Codename, Date, Valid-Until, Signed-By, Architectures, Components and Description.
generate
- Der generate-Befehl wurde entworfen, um von einem Cron-Skript ausführbar zu sein und bildet Indizes, 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, wenn 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 bestimmten relativen Pfaden, 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 Override-Dateien an
CacheDir
- gibt den Ort der Zwischenspeicherdateien an
FileListDir
- gibt den Ort der Dateilistendateien an, wenn die FileList unterhalb gesetzt ist.
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 überschreiben.
Packages::Compress
- Sets the default compression schemes to use for the package index files. It is a string that contains a space separated list of at least one of the compressors configured via the APT::Compressor configuration scope. The default for all compression schemes is '. 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 Inhaltsdateien steuert.
Translation::Compress
- Dies ist Packages::Compress ähnlich, außer dass es die Kompression der Translation-en-Hauptdatei steuert.
DeLinkLimit
- gibt die Anzahl von Kilobytes an, die pro Durchlauf delinkt (und durch Hardlinks ersetzt) werden sollen. Dies wird in Verbindung mit der External-Links-Einstellung pro Abschnitt benutzt.
FileMode
- gibt die Rechte für alle erstellten Indexdateien an. Vorgabe ist 0644. Alle Indexdateien werden ohne Beachtung von umask auf diese Rechte gesetzt.
LongDescription
- gesetzt, falls lange Beschreibungen in die Package-Datei eingeschlossen werden 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 Kilobytes der 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 auf einem Weg geändert wurde, der nicht in einer neuen Inhaltsdatei resultierte [überschreibendes 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-Verzeichnisbaumes. Vorgabe ist $(DIST)/$(SECTION)/binary-$(ARCH)/
SrcDirectory
- setzt den Beginn des Quellpaketverzeichnisbaumes. Vorgabe ist $(DIST)/$(SECTION)/source/
Packages
- setzt die Ausgabe-Packages-Datei. Vorgabe ist $(DIST)/$(SECTION)/binary-$(ARCH)/Packages
Sources
- setzt die Ausgabe-Quelldatei. 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 sind. Vorgabe ist $(DIST)/$(SECTION)/i18n/Translation-en.
InternalPrefix
- setzt die Pfad-Präfix, die bewirkt, dass ein symbolischer Verweis wie ein interner anstatt wie ein externer Verweis behandelt wird. Vorgabe ist $(DIST)/$(SECTION)/
Contents
- setzt die Ausgabe-Contens-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 nimmt eine scope-Markierung, die die $(DIST)-Variable setzt und die Wurzel des Baumes definiert (der Pfad hat den Präfix von ArchiveDir). Typischerweise ist dies eine Einstellung wie dists/jessie.
Alle im TreeDefault-Abschnitt definierten Einstellungen können in einem Tree-Abschnitt, sowie als drei neue Variablen benutzt werden.
Wenn ein Tree-Abschnitt bearbeitet wird, führt apt-ftparchive eine Operation 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
- This is a space separated list of all the architectures that appear under search section. The special architecture 'source' is used to indicate that this tree has a source archive. The architecture 'all' signals that architecture specific files like Packages should not include information about architecture all packages in all files as they will be available in a dedicated file.
LongDescription
- gesetzt, falls lange Beschreibungen in die Package-Datei eingeschlossen werden oder in eine Translation-en-Hauptdatei unterteilt werden sollen
BinOverride
- setzt die Programm-Override-Datei. Die Override-Datei enthält Abschnitt, Priorität und Adressinformationen des Betreuers.
SrcOverride
- setzt die Quell-Override-Datei. Die Override-Datei enthält Abschnittsinformationen.
ExtraOverride
- setzt die zusätzliche Programm-Override-Datei
SrcExtraOverride
- setzt die zusätzliche Quell-Override-Datei
BinDirectory-Abschnitt
Der bindirectory-Abschnitt definiert einen Programmverzeichnisbaum ohne spezielle Struktur. Die scope-Markierung gibt den Ort des Programmverzeichnisses 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 Programm-Override-Datei
SrcOverride
- setzt die Quell-Override-Datei
ExtraOverride
- setzt die zusätzliche Programm-Override-Datei
SrcExtraOverride
- setzt die zusätzliche Quell-Override-Datei
BinCacheDB
- setzt die Zwischenspeicherdatenbank
PathPrefix
- hängt einen Pfad an alle Ausgabepfade an
FileList, SourceFileList
- gibt die Dateilistendatei an
DIE PROGRAMM-OVERRIDE-DATEI
Die Programm-Override-Datei 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 Abschnittzu 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 QUELL-OVERRIDE-DATEI
Die Quell-Override-Datei 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ÄTZLICH OVERRIDE-DATEI
Die zusätzlich Override-Datei 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 überschreiben, indem Sie etwas wie -f-, --no-f, -f=no oder etliche weitere Varianten benutzen.
--md5, --sha1, --sha256, --sha512
- Generate the given checksum. These options default to on, when turned off the generated index files will not have the checksum fields where possible. Configuration Items: APT::FTPArchive::Checksum and APT::FTPArchive::Index::Checksum where Index can be Packages, Sources or Release and Checksum can be MD5, SHA1, SHA256 or SHA512.
-d, --db
- benutzt eine Programmzwischenspeicherdatenbank. 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 überschreibt. Konfigurationselement: quiet.
--delink
- führt Delinking aus. Wenn die External-Links-Einstellung benutzt wird, schaltet diese Option das Delinking 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 Quell-Override-Datei, die mit dem sources-Befehl benutzt wird. Konfigurationselement: APT::FTPArchive::SourceOverride.
--readonly
- gibt der Zwischenspeicherdatenbank nur Lesezugriff. 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; gibt eine Konfigurationssdatei zum Benutzen an. 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 der Umgebungsvariable APT_CONFIG an Lesen Sie apt.conf(5), um Syntax-Informationen zu erhalten
-o, --option
- eine Konfigurationsoption setzen; Dies wird eine beliebige Konfigurationsoption setzen. 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 Programmpakete (.deb) enthält:
-
apt-ftparchive Pakete Verzeichnis | gzip > Pakete.gz
DIAGNOSE
apt-ftparchive gibt bei normalen Operationen 0 zurück, dezimal 100 bei Fehlern.
FEHLER
m[blue]APT-Fehlerseitem[][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 <[email protected]> in Zusammenarbeit mit dem deutschen l10n-Team von Debian <[email protected]> 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