apt-ftparchive - instrukcja obsługi, opcje, przykłady poleceń


NAZWA

apt-ftparchive - Narzędzie do generowania plików indeksu

STRESZCZENIE

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

OPIS

apt-ftparchive to narzędzie wiersza poleceń, które generuje pliki indeksu używane przez APT w celu uzyskania dostępu do źródła dystrybucji. Pliki indeksu powinny być generowane w witrynie źródłowej na podstawie zawartości tej witryny.

apt-ftparchive to nadzbiór programu dpkg-scanpackages(1), zawierający całą jego funkcjonalność za pomocą polecenia packages. Zawiera również generator plików zawartości, zawartość i rozbudowane środki skryptowania procesu generowania kompletnego archiwum.

Wewnętrznie apt-ftparchive może korzystać z binarnych baz danych do buforowania zawartości pliku .deb i nie polega na żadnych zewnętrznych programach poza gzip(1). Wykonując pełne generowanie, automatycznie sprawdza zmiany plików i buduje żądane skompresowane pliki wyjściowe.

Jeśli nie podano opcji -h lub --help, musi być obecne jedno z poniższych poleceń.

packages

Polecenie packages generuje plik pakietu z drzewa katalogów. Bierze podany katalog i rekurencyjnie przeszukuje go w poszukiwaniu plików .deb, emitując rekord pakietu na standardowe wyjście dla każdego z nich. To polecenie jest w przybliżeniu równoważne z dpkg-scanpackages(1).

Opcji --db można użyć do określenia binarnej bazy danych buforującej.

sources

Komenda sources generuje źródłowy plik indeksu z drzewa katalogów. Bierze podany katalog i rekurencyjnie przeszukuje go w poszukiwaniu plików .dsc, emitując dla każdego rekord źródłowy na standardowe wyjście. To polecenie jest w przybliżeniu równoważne z dpkg-scansources(1).

Jeśli określono plik nadpisania, wówczas wyszukany zostanie źródłowy plik nadpisania z rozszerzeniem .src. Opcji --source-override można użyć do zmiany źródłowego pliku zastępującego, który będzie używany.

contents

Polecenie content generuje plik zawartości z drzewa katalogów. Pobiera podany katalog i rekurencyjnie przeszukuje go w poszukiwaniu plików .deb i odczytuje listę plików z każdego pliku. Następnie sortuje i zapisuje na standardowe wyjście listę plików pasujących do pakietów. Katalogi nie są zapisywane na wyjściu. Jeśli wiele pakietów posiada ten sam plik, każdy pakiet jest oddzielony przecinkiem w danych wyjściowych.

Opcji --db można użyć do określenia binarnej bazy danych buforującej.

release

Polecenie release generuje plik Release z drzewa katalogów. Rekurencyjnie przeszukuje podany katalog w poszukiwaniu nieskompresowanych i skompresowanych plików Packages, Sources, Contents, Components i icon, a także plików Release, Index i md5sum.txt domyślnie (APT::FTPArchive::Release::Default-Patterns). Dodatkowe wzorce nazw plików można dodać, wymieniając je w APT::FTPArchive::Release::Patterns. Następnie zapisuje na standardowe wyjście plik Release zawierający (domyślnie) skrót MD5, SHA1, SHA256 i SHA512 dla każdego pliku.

Wartości dla dodatkowych pól metadanych w pliku Release są pobierane z odpowiednich zmiennych w APT::FTPArchive::Release, np. APT::FTPArchive::Release::Origin. Obsługiwane pola to Origin, Label, Suite, Version, Codename, Date, NotAutomatic, ButAutomaticUpgrades, Acquire-By-Hash, Valid-Until, Signed-by, Architectures, Components i Description.

generate

Komenda generowania została zaprojektowana tak, aby mogła być uruchamiana ze skryptu cron i buduje indeksy zgodnie z podanym plikiem konfiguracyjnym. Język konfiguracji zapewnia elastyczny sposób określania, które pliki indeksu są budowane z jakich katalogów, a także zapewnia prosty sposób utrzymywania wymaganych ustawień.

clean

Polecenie clean porządkuje bazy danych używane przez dany plik konfiguracyjny, usuwając wszelkie rekordy, które nie są już potrzebne.

GENERUJ KONFIGURACJĘ

Polecenie generowania używa pliku konfiguracyjnego do opisania archiwów, które mają zostać wygenerowane. Jest zgodny z typowym formatem konfiguracji ISC, jak widać w narzędziach ISC, takich jak bind 8 i dhcpd. apt.conf(5) zawiera opis składni. Zauważ, że konfiguracja generowania jest analizowana w sposób sekcyjny, ale plik apt.conf(5) jest analizowany w sposób drzewiasty. Wpływa to tylko na sposób obsługi znacznika zakresu.

Konfiguracja generowania składa się z czterech oddzielnych sekcji, z których każda została opisana poniżej.

Sekcja dyr

Sekcja Dir definiuje standardowe katalogi potrzebne do zlokalizowania plików wymaganych podczas procesu generowania. Katalogi te są poprzedzone pewnymi ścieżkami względnymi zdefiniowanymi w późniejszych sekcjach, aby utworzyć pełną ścieżkę bezwzględną.

ArchiveDir

Określa katalog główny archiwum FTP, w standardowej konfiguracji Debiana jest to katalog zawierający węzły ls-LR i dist.

OverrideDir

Określa położenie plików nadpisań.

CacheDir

Określa lokalizację plików pamięci podręcznej.

FileListDir

Określa lokalizację plików listy plików, jeśli poniżej zastosowano ustawienie FileList.

Sekcja domyślna

Sekcja Domyślne określa wartości domyślne i ustawienia kontrolujące działanie generatora. Inne sekcje mogą zastąpić te ustawienia domyślne ustawieniami poszczególnych sekcji.

Packages::Compress

Ustawia domyślne schematy kompresji używane dla plików indeksu pakietów. Jest to łańcuch zawierający oddzieloną spacjami listę co najmniej jednego kompresora skonfigurowanego za pomocą zakresu konfiguracji APT::Compressor. Wartością domyślną dla wszystkich schematów kompresji jest . gzip.

Packages::Extensions

Ustawia domyślną listę rozszerzeń plików, które są plikami pakietów. Domyślnie jest to .deb.

Sources::Compress

Jest to podobne do Packages::Compress, z tą różnicą, że kontroluje kompresję plików Sources.

Sources::Extensions

Ustawia domyślną listę rozszerzeń plików, które są plikami źródłowymi. Domyślnie jest to .dsc.

Contents::Compress

Jest to podobne do Packages::Compress z wyjątkiem tego, że kontroluje kompresję plików zawartości.

Translation::Compress

Jest to podobne do Packages::Compress z tą różnicą, że kontroluje kompresję głównego pliku Translation-en.

DeLinkLimit

Określa liczbę kilobajtów do usunięcia linków (i zastąpienia ich twardymi linkami) na przebieg. Jest to używane w połączeniu z ustawieniem Linki zewnętrzne dla poszczególnych sekcji.

FileMode

Określa tryb wszystkich tworzonych plików indeksu. Domyślnie jest to 0644. Wszystkie pliki indeksu są ustawione na ten tryb bez względu na umask.

LongDescription

Określa, czy długie opisy powinny być zawarte w pliku Packages, czy podzielone na główny plik Translation-en.

Sekcja TreeDefault

Ustawia wartości domyślne specyficzne dla sekcji drzewa. Wszystkie te zmienne są zmiennymi zastępczymi i mają łańcuchy $ (DIST), $ (SECTION) i $ (ARCH) zastąpione odpowiednimi wartościami.

MaxContentsChange

Ustawia liczbę kilobajtów plików zawartości generowanych każdego dnia. Pliki zawartości są przetwarzane cyklicznie, tak że w ciągu kilku dni wszystkie zostaną odbudowane.

ContentsAge

Kontroluje liczbę dni, przez które plik zawartości może być sprawdzany bez wprowadzania zmian. Po przekroczeniu tego limitu aktualizowany jest mtime pliku zawartości. Ten przypadek może wystąpić, jeśli plik pakietu zostanie zmieniony w taki sposób, że nie spowoduje to powstania nowego pliku zawartości [na przykład zastąpienie edycji]. Wstrzymanie jest dozwolone w nadziei, że zostaną zainstalowane nowe pliki .debs, co i tak wymagać będzie nowego pliku. Wartość domyślna to 10, jednostkami są dni.

Directory

Ustawia początek drzewa katalogów .deb. Domyślnie $ (DIST)/$ (SECTION)/binary-$ (ARCH)/

SrcDirectory

Ustawia górę drzewa katalogów pakietu źródłowego. Domyślnie $ (DIST)/$ (SECTION)/source/

Packages

Ustawia wyjściowy plik Packages. Domyślnie $ (DIST)/$ (SECTION)/binary-$ (ARCH)/Packages

Sources

Ustawia wyjściowy plik Sources. Wartość domyślna to $ (DIST)/$ (SECTION)/source/Sources

Translation

Ustawia wyjściowy plik główny Translation-en z długimi opisami, jeśli nie powinny one być zawarte w pliku Packages. Domyślnie $ (DIST)/$ (SECTION)/i18n/Translation-en

InternalPrefix

Ustawia przedrostek ścieżki, który powoduje, że dowiązanie symboliczne jest traktowane jako łącze wewnętrzne, a nie zewnętrzne. Domyślnie $ (ODKŁ)/$ (SEKCJA)/

Contents

Ustawia wyjściowy plik zawartości. Domyślnie $ (DIST)/$ (SECTION)/Contents-$ (ARCH). Jeśli to ustawienie spowoduje mapowanie wielu plików Packages na jeden plik Contents (co jest domyślne), to apt-ftparchive automatycznie zintegruje te pliki pakietów.

Contents::Header

Ustawia plik nagłówkowy, który ma być dodawany przed zawartością wyjściową.

BinCacheDB

Ustawia binarną bazę danych pamięci podręcznej do użycia w tej sekcji. Wiele sekcji może współdzielić tę samą bazę danych.

FileList

Określa, że zamiast chodzić po drzewie katalogów, apt-ftparchive powinien czytać listę plików z podanego pliku. Względne nazwy plików są poprzedzone katalogiem archiwum.

SourceFileList

Określa, że zamiast chodzić po drzewie katalogów, apt-ftparchive powinien czytać listę plików z podanego pliku. Względne nazwy plików są poprzedzone katalogiem archiwum. Jest to używane podczas przetwarzania indeksów źródłowych.

Sekcja drzew

Sekcja Drzewo definiuje standardowe drzewo plików Debiana, które składa się z katalogu podstawowego, następnie wielu sekcji w tym katalogu podstawowym i wreszcie wielu Architektur w każdej sekcji. Dokładna używana ścieżka jest zdefiniowana przez zmienną podstawienia katalogu.

Sekcja Tree pobiera znacznik zakresu, który ustawia zmienną $ (DIST) i definiuje korzeń drzewa (ścieżka jest poprzedzona słowem ArchiveDir). Zazwyczaj jest to ustawienie takie jak dists/bookworm.

Wszystkie ustawienia zdefiniowane w sekcji TreeDefault mogą być używane w sekcji Tree, jak również trzy nowe zmienne.

Podczas przetwarzania sekcji drzewa apt-ftparchive wykonuje operację podobną do:

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

To jest oddzielona spacjami lista sekcji, które pojawiają się w dystrybucji; zazwyczaj jest to coś w rodzaju main contrib non-free non-free-firmware

Architectures

To jest oddzielona spacjami lista wszystkich architektur, które pojawiają się w sekcji wyszukiwania. Źródło architektury specjalnej służy do wskazania, że to drzewo ma archiwum źródłowe. Architektura wszystko sygnalizuje, że pliki specyficzne dla architektury, takie jak Pakiety, nie powinny zawierać informacji o architekturze wszystkich pakietów we wszystkich plikach, ponieważ będą one dostępne w dedykowanym pliku.

LongDescription

Określa, czy długie opisy powinny być zawarte w pliku Packages, czy podzielone na główny plik Translation-en.

BinOverride

Ustawia plik zastępowania binarnego. Plik nadpisania zawiera informacje o sekcji, priorytecie i adresie opiekuna.

SrcOverride

Ustawia źródłowy plik zastępowania. Plik nadpisania zawiera informacje o sekcji.

ExtraOverride

Ustawia binarny dodatkowy plik zastępujący.

SrcExtraOverride

Ustawia źródłowy dodatkowy plik zastępujący.

Sekcja BinDirectory

Sekcja bindirectory definiuje drzewo katalogów binarnych bez specjalnej struktury. Znacznik zakresu określa lokalizację katalogu binarnego, a ustawienia są podobne do sekcji Drzewo bez zmiennych zastępczych lub ustawień SectionArchitecture.

Packages

Ustawia wyjście pliku Packages.

Sources

Ustawia wyjście pliku Sources. Wymagany jest co najmniej jeden z Pakietów lub Źródeł.

Contents

Ustawia wyjście pliku zawartości (opcjonalnie).

BinOverride

Ustawia plik zastępowania binarnego.

SrcOverride

Ustawia źródłowy plik zastępowania.

ExtraOverride

Ustawia binarny dodatkowy plik zastępujący.

SrcExtraOverride

Ustawia źródłowy dodatkowy plik zastępujący.

BinCacheDB

Ustawia bazę danych pamięci podręcznej.

PathPrefix

Dołącza ścieżkę do wszystkich ścieżek wyjściowych.

FileList, SourceFileList

Określa plik listy plików.

BINARNY PLIK ZMIANY

Binarny plik zastępujący jest w pełni kompatybilny z dpkg-scanpackages(1). Zawiera cztery pola oddzielone spacjami. Pierwsze pole to nazwa pakietu, drugie to priorytet, do którego należy wymusić ten pakiet, trzecie to sekcja, do której należy wymusić ten pakiet, a ostatnie pole to pole permutacji opiekuna.

Ogólna postać pola opiekuna to:

old [// oldn]* => new

lub po prostu,

new

Pierwszy formularz umożliwia określenie listy starych adresów e-mail, oddzielonych podwójnymi ukośnikami. Jeśli którykolwiek z nich zostanie znaleziony, pole opiekuna zostanie zastąpione przez new. Druga forma bezwarunkowo zastępuje pole opiekuna.

PLIK ZMIANY ŹRÓDŁA

Plik zastępowania źródła jest w pełni kompatybilny z dpkg-scansources(1). Zawiera dwa pola oddzielone spacjami. Pierwsze pole to nazwa pakietu źródłowego, drugie to sekcja do przypisania.

DODATKOWY PLIK ZMIANY

Dodatkowy plik zastępujący umożliwia dodanie lub zastąpienie dowolnego znacznika w danych wyjściowych. Ma trzy kolumny, pierwsza to pakiet, druga to znacznik, a pozostała część wiersza to nowa wartość.

OPCJE

Wszystkie opcje wiersza poleceń można ustawić za pomocą pliku konfiguracyjnego, opisy wskazują opcję konfiguracyjną do ustawienia. W przypadku opcji boolowskich możesz zastąpić plik konfiguracyjny, używając czegoś takiego jak -f-, --no-f, -f=no lub kilku inne odmiany.

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

Wygeneruj podaną sumę kontrolną. Te opcje są domyślnie włączone, po wyłączeniu wygenerowane pliki indeksów nie będą miały pól sumy kontrolnej tam, gdzie to możliwe. Elementy konfiguracji: APT::FTPArchive::Suma kontrolna i APT::FTPArchive::Indeks::Suma kontrolna gdzie Indeks może to być Pakiety, Źródła lub Wersja, a Suma kontrolna może być MD5, SHA1, SHA256 lub SHA512.

-d, --db

Użyj binarnej bazy danych buforowania. Nie ma to wpływu na polecenie generowania. Element konfiguracji: APT::FTPArchive::DB.

-q, --quiet

Cichy; generuje dane wyjściowe odpowiednie do rejestrowania, pomijając wskaźniki postępu. Więcej q spowoduje ciszej, maksymalnie do 2. Możesz także użyć -q=#, aby ustawić poziom ciszy, zastępując plik konfiguracyjny. Element konfiguracji: cichy.

--delink

Wykonaj usuwanie linków. Jeśli używane jest ustawienie External-Links, ta opcja umożliwia delinkowanie plików. Domyślnie jest włączona i można ją wyłączyć za pomocą --no-delink. Pozycja konfiguracji: APT::FTPArchive::DeLinkAct.

--contents

Wykonaj generowanie treści. Gdy ta opcja jest ustawiona i indeksy pakietów są generowane z bazą danych pamięci podręcznej, lista plików również zostanie wyodrębniona i zapisana w bazie danych do późniejszego wykorzystania. Podczas korzystania z polecenia generuj ta opcja umożliwia również tworzenie dowolnych plików zawartości. Ustawienie domyślne jest włączone. Element konfiguracji: APT::FTPArchive::Contents.

-s, --source-override

Wybierz źródłowy plik nadpisania, który ma być używany z poleceniem sources. Element konfiguracji: APT::FTPArchive::SourceOverride.

--readonly

Ustaw buforujące bazy danych jako tylko do odczytu. Element konfiguracji: APT::FTPArchive::ReadOnlyDB.

-a, --arch

Akceptuj w poleceniach packages and content tylko pliki pakietów pasujące do *_arch.deb lub *_all.deb zamiast wszystkich plików pakietów w podanej ścieżce. Pozycja konfiguracji: APT::FTPArchive::Architecture.

APT::FTPArchive::AlwaysStat

apt-ftparchive(1) buforuje jak najwięcej metadanych w pliku cachedb. Jeśli pakiety zostaną ponownie skompilowane i/lub ponownie opublikowane z tą samą wersją, doprowadzi to do problemów, ponieważ zostaną użyte przestarzałe metadane z pamięci podręcznej, takie jak rozmiar i sumy kontrolne. Po włączeniu tej opcji nie będzie to już miało miejsca, ponieważ zostanie sprawdzone, czy plik został zmieniony. Zauważ, że ta opcja jest domyślnie ustawiona na „false”, ponieważ nie zaleca się przesyłania wielu wersji/kompilacji pakietu z tym samym numerem wersji, więc teoretycznie nikt nie będzie miał takich problemów i dlatego wszystkie te dodatkowe kontrole są bezużyteczne.

APT::FTPArchive::LongDescription

Ta opcja konfiguracji ma domyślnie wartość „true” i powinna być ustawiona na „false” tylko wtedy, gdy Archiwum wygenerowane za pomocą apt-ftparchive(1) zawiera również pliki tłumaczeń. Należy zauważyć, że plik główny Translation-en można utworzyć tylko w poleceniu generowania.

-h, --help

Pokaż krótkie podsumowanie użytkowania.

-v, --version

Pokaż wersję programu.

-c, --config-file

Plik konfiguracyjny; Określ plik konfiguracyjny do użycia. Program odczyta domyślny plik konfiguracyjny, a następnie ten plik konfiguracyjny. Jeśli ustawienia konfiguracyjne muszą zostać ustawione przed przeanalizowaniem domyślnych plików konfiguracyjnych, określ plik ze zmienną środowiskową APT_CONFIG. Zobacz apt.conf(5), aby uzyskać informacje o składni.

-o, --option

Ustaw opcję konfiguracji; Spowoduje to ustawienie dowolnej opcji konfiguracji. Składnia to -o Foo::Bar=bar. -o i --option można użyć wielokrotnie, aby ustawić różne opcje.

PRZYKŁADY

Aby utworzyć skompresowany plik Packages dla katalogu zawierającego pakiety binarne (.deb):

apt-ftparchive packages directory | gzip > Packages.gz

ZOBACZ TEŻ

apt.conf(5)

DIAGNOSTYKA

apt-ftparchive zwraca zero przy normalnej pracy, dziesiętne 100 w przypadku błędu.

BŁĘDY

Strona błędu APT[1]. Jeśli chcesz zgłosić błąd w APT, zobacz /usr/share/doc/debian/bug-reporting.txt lub polecenie reportbug(1).

AUTORSKI

Jasona Gunthorpe'a

zespół APT

UWAGI

1. Strona błędu APT: http://bugs.debian.org/src:apt