NOME
apt-ftparchive - strumento per generare file indiceSINOSSI
apt-ftparchive
[ -dsq] [--md5] [--delink] [--readonly]
[--contents] [ --arch architecture]
[-o= stringa_config]
[-c=file_config] {packages
percorso [
file-override [prefisso_percorso]] | sources
percorso [
file-override [prefisso_percorso]] | contents
percorso | release percorso |
generate file_config sezione... |
clean file_config | {-v | --version} |
{-h | --help}}
DESCRIZIONE
apt-ftparchive è lo strumento a riga di comando che genera i file indice usati da APT per accedere a una fonte di distribuzione. I file indice devono essere generati sul sito origine in base al contenuto di tale sito. apt-ftparchive è un sovrainsieme del programma dpkg-scanpackages(1) e incorpora tutte le sue funzionalità tramite il comando packages. Inoltre contiene un generatore di file dei contenuti, contents, e un modo elaborato per gestire tramite script il processo di generazione per un archivio completo. Internamente apt-ftparchive può far uso di database binari per tenere in cache il contenuto di un file .deb e non si basa su programmi esterni all'infuori di gzip(1). Quando genera un archivio completo, esegue automaticamente un controllo sui file modificati e crea i file compressi desiderati in uscita. A meno che non venga fornita l'opzione -h o --help, deve essere presente uno dei comandi seguenti. packagesIl comando packages genera un file dell'indice
di pacchetti da un albero di directory. Prende la directory data e vi ricerca
i file .deb ricorsivamente, emettendo per ciascuno un record sullo stdout.
Questo comando è più o meno equivalente a
dpkg-scanpackages(1).
L'opzione --db può essere usata per specificare un database
binario da usare come cache.
sources
Il comando sources genera un file indice dei
sorgenti da un albero di directory. Prende la directory data e vi ricerca i
file .dsc ricorsivamente, emettendo per ciascuno un record sullo stdout.
Questo comando è più o meno equivalente a
dpkg-scansources(1).
Se si specifica un file override, allora verrà cercato un file override
sorgente con estensione .src. L'opzione --source-override può essere
usata per cambiare il file override sorgente da usare.
contents
Il comando contents genera un file di
contenuti da un albero di directory. Prende la directory data e vi ricerca i
file .deb ricorsivamente, leggendo l'elenco dei file da ciascun file. Quindi
ordina e scrive sullo stdout l'elenco di file con i corrispondenti pacchetti.
Le directory non vengono scritte sull'output. Se più pacchetti
contengono lo stesso file, ciascun pacchetto è separato da una virgola
nell'output.
L'opzione --db può essere usata per specificare un database
binario da usare come cache.
release
Il comando release genera un file Release da
un albero di directory. In modo predefinito cerca ricorsivamente nella
directory data i file Packages, Sources, Contents, Components e icons
compressi e non compressi, come anche i file Release, Index e md5sum.txt
(APT::FTPArchive::Release::Default-Patterns). Si possono aggiungere ulteriori
modelli per i nomi di file elencandoli in APT::FTPArchive::Release::Patterns.
Scrive poi sullo stdout un file Release contenente (in modo predefinito) per
ogni file un digest MD5, SHA1, SHA256 e SHA512.
I valori dei campi di metadati aggiuntivi nel file Release sono presi dalle
variabili corrispondenti sotto APT::FTPArchive::Release, ad esempio
APT::FTPArchive::Release::Origin. I campi supportati sono: Origin, Label,
Suite, Version, Codename, Date, NotAutomatic, ButAutomaticUpgrades,
Acquire-By-Hash, Valid-Until, Signed-By, Architectures, Components,
Description.
generate
Il comando generate è pensato per
essere eseguibile da uno script di cron e costruisce gli indici in base al
file di configurazione fornito. Il linguaggio di configurazione fornisce un
mezzo flessibile per specificare quali file di indice vengano costruiti a
partire da quali directory, oltre a fornire un mezzo semplice per amministrare
le impostazioni desiderate.
clean
Il comando clean pulisce i database usati dal
file di configurazione dato, rimuovendo tutti i record non più
necessari.
LA CONFIGURAZIONE DI GENERATE
Il comando generate usa un file di configurazione per descrivere gli archivi da generare. Segue il tipico formato di configurazione ISC come usato negli strumenti ISC come bind 8 e dhcpd. apt.conf(5) contiene una descrizione della sintassi. Notare che la configurazione di generate viene letta per sezioni, ma apt.conf(5) viene letto ad albero. Ciò ha effetto soltanto sulla gestione del tag di ambito. La configurazione di generate ha quattro sezioni separate, ciascuna delle quali è descritta in seguito.Sezione Dir
La sezione Dir definisce le directory standard necessarie per localizzare i file richiesti durante il processo di generazione. Queste directory vengono fatte precedere da alcuni percorsi relativi definiti nelle sezioni successive, per produrre un percorso assoluto completo. ArchiveDirSpecifica la radice dell'archivio FTP; in una
configurazione Debian standard questa è la directory che contiene i
nodi ls-LR e dist.
OverrideDir
Specifica la posizione dei file
override.
CacheDir
Specifica la posizione dei file cache.
FileListDir
Specifica la posizione dei file con gli
elenchi dei file, se viene usata l'impostazione FileList sotto.
Sezione Default
La sezione Default specifica i valori predefiniti e le impostazioni che controllano il funzionamento del generatore. Altre sezioni possono scavalcare questi valori tramite impostazioni definite per sezione. Packages::CompressImposta gli schemi di compressione predefiniti
da usare per i file indice dei pacchetti. È una stringa che contiene
una lista separata da spazi con almeno uno dei compressori configurati con
l'ambito di configurazione APT::Compressor. Il valore predefinito per
tutti gli schemi di compressione è «. gzip».
Packages::Extensions
Imposta la lista predefinita di estensioni di
file che contraddistinguono i file dei pacchetti. Il valore predefinito
è «.deb».
Sources::Compress
Simile a Packages::Compress, tranne per il
fatto che controlla la compressione dei file Sources.
Sources::Extensions
Imposta la lista predefinita di estensioni che
contraddistinguono i file dei sorgenti. Il valore predefinito è
«.dsc».
Contents::Compress
Simile a Packages::Compress, tranne per il
fatto che controlla la compressione dei file Contents.
Translation::Compress
Simile a Packages::Compress, tranne per il
fatto che controlla la compressione del file principale Translation-en.
DeLinkLimit
Specifica il numero dei kilobyte da scollegare
(e sostituire con collegamenti fisici) per esecuzione. Viene usato insieme
all'impostazione per sezione External-Links.
FileMode
Specifica la modalità di tutti i file
indice creati. Il valore predefinito è 0644. Tutti i file di indice
sono impostati a questa modalità a prescindere dall'umask.
LongDescription
Specifica se le descrizioni lunghe debbano
essere incluse nel file Packages o separate in un file Translation-en
principale.
Sezione TreeDefault
Imposta valori predefiniti specifici per le sezioni Tree. Tutte queste variabili sono variabili di sostituzione in cui le stringhe $(DIST), $(SECTION) e $(ARCH) verranno sostituite dai loro rispettivi valori. MaxContentsChangeImposta il numero di kilobyte di file Contents
che vengono generati ogni giorno. I file Contents sono ruotati a turno in modo
da venire rigenerati tutti nel giro di alcuni giorni.
ContentsAge
Controlla il numero di giorni durante i quali
un file Contents può essere controllato senza modifiche. Al superamento
di questo limite, l'orario mtime del file Contents viene aggiornato. Questo
può succedere se il file Packages viene modificato in un modo che non
ha come risultato un nuovo file Contents [ad esempio una modifica di
override]. È consentito un certo ritardo, nella speranza che vengano
installati nuovi pacchetti .deb, il che richiederebbe comunque la creazione di
un nuovo file. Il valore predefinito è 10, i valori sono espressi in
giorni.
Directory
Imposta la radice dell'albero della directory
dei .deb. Il valore predefinito è
$(DIST)/$(SECTION)/binary-$(ARCH)/.
SrcDirectory
Imposta la radice dell'albero della directory
dei pacchetti sorgente. Il valore predefinito è
$(DIST)/$(SECTION)/source/.
Packages
Imposta il file Packages di uscita. Il valore
predefinito è $(DIST)/$(SECTION)/binary-$(ARCH)/Packages.
Sources
Imposta il file Sources di uscita. Il valore
predefinito è $(DIST)/$(SECTION)/source/Sources.
Translation
Imposta il file Translation-en principale di
uscita contenente le descrizioni lunghe se non devono essere incluse nel file
Packages. Il valore predefinito è
$(DIST)/$(SECTION)/i18n/Translation-en.
InternalPrefix
Imposta il prefisso del percorso che fa
sì che un collegamento simbolico sia considerato un collegamento
interno invece che esterno. Il valore predefinito è
$(DIST)/$(SECTION)/.
Contents
Imposta il file Contents di uscita. Il valore
predefinito è $(DIST)/$(SECTION)/Contents-$(ARCH). Se questa
impostazione fa sì che più file Packages corrispondano a un solo
file Contents (come avviene con il valore predefinito), allora
apt-ftparchive unirà automaticamente insieme questi file dei
pacchetti.
Contents::Header
Imposta il file di intestazione da anteporre
all'output dei contenuti.
BinCacheDB
Imposta il database per la cache binaria da
usare per questa sezione. Lo stesso database può essere condiviso da
più sezioni.
FileList
Specifica che invece di percorrere l'albero
delle directory, apt-ftparchive deve leggere la lista dei file dal file
dato. I nomi relativi dei file vengono fatti precedere dalla directory
archivio.
SourceFileList
Specifica che invece di percorrere l'albero
delle directory, apt-ftparchive deve leggere la lista dei file dal file
dato. I nomi di file relativi vengono fatti precedere dalla directory
archivio. Questa opzione viene usata quando si elaborano gli indici dei
sorgenti.
Sezione Tree
La sezione Tree definisce un albero di file standard Debian che consiste in una directory di base, quindi più sezioni in quella directory di base e infine più architetture in ogni sezione. Gli esatti percorsi usati sono definiti dalla variabile di sostituzione Directory. La sezione Tree accetta un tag di ambito che imposta la variabile $(DIST) e definisce la radice dell'albero (il percorso viene fatto precedere da ArchiveDir). Di solito è un'impostazione simile a dists/bookworm. Tutte le impostazioni definite nella sezione TreeDefault possono essere usate in una sezione Tree, oltre a tre nuove variabili. Quando elabora una sezione Tree, apt-ftparchive esegue un'operazione simile a:for i in Sections do for j in Architectures do Genera per DIST=ambito SECTION=i ARCH=j
Questa è una lista di sezioni che
appaiono sotto la distribuzione, separate da spazi; tipicamente è
simile a main contrib non-free non-free-firmware.
Architectures
Questa è una lista separata da spazi di
tutte le architetture che sono presenti nella sezione ricerca. L'architettura
speciale «source» viene usata per indicare che questo albero ha
un archivio sorgente. L'architettura «all» indica che i file
specifici per un'architettura come Packages non dovrebbero includere
informazioni sui pacchetti con architettura all in tutti i file, dato che
saranno disponibili in un file dedicato.
LongDescription
Specifica se le descrizioni lunghe debbano
essere incluse nel file Packages o separate in un file Translation-en
principale.
BinOverride
Imposta il file override binario. Il file
override contiene informazioni sulla sezione, la priorità e l'indirizzo
del manutentore.
SrcOverride
Imposta il file override sorgente. Il file
override contiene informazioni sulla sezione.
ExtraOverride
Imposta il file override binario extra.
SrcExtraOverride
Imposta il file override sorgente extra.
Sezione BinDirectory
La sezione bindirectory definisce un albero di directory dei binari senza una struttura speciale. Il tag di ambito specifica la posizione della directory dei binari e le impostazioni sono simili a quelle della sezione Tree senza variabili di sostituzione o impostazioni SectionArchitecture. PackagesImposta l'output del file Packages.
Sources
Imposta l'output del file Sources. È
obbligatorio almeno uno fra Packages e Sources.
Contents
Imposta l'output del file Contents
(opzionale).
BinOverride
Imposta il file override binario.
SrcOverride
Imposta il file override sorgente.
ExtraOverride
Imposta il file override binario extra.
SrcExtraOverride
Imposta il file override sorgente extra.
BinCacheDB
Imposta il DB della cache.
PathPrefix
Aggiunge un percorso a tutti i percorsi di
uscita.
FileList, SourceFileList
Specifica il file con l'elenco dei file.
IL FILE OVERRIDE BINARIO
Il file override binario è completamente compatibile con dpkg-scanpackages(1). Contiene quattro campi separati da spazi. Il primo campo è il nome del pacchetto, il secondo è la priorità a cui forzare quel pacchetto, il terzo è la sezione in cui forzare quel pacchetto e l'ultimo campo è il campo di permutazione del manutentore. La forma generale del campo manutentore è:vecchio [// vecchio...]* => nuovo
nuovo
IL FILE OVERRIDE SORGENTE
Il file override sorgente è completamente compatibile con dpkg-scansources(1). Contiene due campi separati da spazi. Il primo campo è il nome del pacchetto sorgente, il secondo è la sezione a cui assegnarlo.IL FILE OVERRIDE EXTRA
Il file override extra permette di aggiungere o sostituire nell'output un tag arbitrario. Ha tre colonne: la prima per il pacchetto, la seconda per il tag e il resto della riga è il nuovo valore.OPZIONI
Tutte le opzioni a riga di comando si possono impostare usando il file di configurazione; le descrizioni indicano l'opzione da impostare. Per le opzioni booleane si può scavalcare il file di configurazione usando qualcosa come -f-, --no-f, -f=no o diverse altre varianti. --md5, --sha1, --sha256, --sha512Genera i codici di controllo specificati.
Queste opzioni sono abilitate in modo predefinito; quando vengono disabilitate
i file indice non hanno, quando ciò è possibile, i campi dei
codici di controllo. Voci di configurazione: APT::FTPArchive::
Codice-di-controllo e APT::FTPArchive::
Indice::Codice-di-controllo dove Indice può essere
Packages, Sources o Release e Codice-di-controllo può essere
MD5, SHA1, SHA256 o SHA512.
-d, --db
Usa un DB per la cache binaria. Questo non ha
effetto sul comando generate. Voce di configurazione:
APT::FTPArchive::DB.
-q, --quiet
Silenzioso; produce un output adatto per un
file di registro, omettendo gli indicatori di avanzamento. Ulteriori q
produrranno un risultato ancor più silenzioso, fino a un massimo di 2.
È anche possibile usare -q=n per impostare il livello di
silenziosità, scavalcando il file di configurazione. Voce di
configurazione: quiet.
--delink
Effettua il de-collegamento. Se viene usata
l'impostazione External-Links allora questa opzione abilita di fatto il
de-collegamento dei file. È attiva in modo predefinito e può
essere disabilitata con --no-delink. Voce di configurazione:
APT::FTPArchive::DeLinkAct.
--contents
Effettua la generazione dei Contents. Se viene
impostata questa opzione e gli indici dei pacchetti sono generati con un DB
della cache, allora anche l'elenco dei file verrà estratto e
memorizzato nel DB per gli usi futuri. Quando si usa il comando generate
questa opzione permette anche la creazione di qualsiasi file Contents.
È attiva in modo predefinito. Voce di configurazione:
APT::FTPArchive::Contents.
-s, --source-override
Seleziona il file override sorgente da usare
con il comando sources. Voce di configurazione
APT::FTPArchive::SourceOverride.
--readonly
Rende i database delle cache in sola lettura.
Voce di configurazione: APT::FTPArchive::ReadOnlyDB.
-a, --arch
Accetta per i comandi packages e contents solo
i file di pacchetto che corrispondono a *_arch.deb o *_all.deb invece di tutti
i file di pacchetto nel percorso specificato. Voce di configurazione:
APT::FTPArchive::Architecture.
APT::FTPArchive::AlwaysStat
memorizza in un
database cache il maggior numero possibile di metadati. Se i pacchetti sono
ricompilati o ripubblicati nuovamente con la stessa versione, questo causa
problemi dato che verranno usati dei metadati in cache, come la dimensione e i
codici di controllo, non più aggiornati. Notare che questa opzione
è impostata in modo predefinito a «false» dato che non
è raccomandabile caricare più versioni/compilazioni di un
pacchetto con lo stesso numero di versione, perciò in teoria nessuno
dovrebbe avere di questi problemi e di conseguenza tutti questi controlli
aggiuntivi sono inutili.
APT::FTPArchive::LongDescription
Questa opzione di configurazione è
impostata a «true» in modo predefinito e dovrebbe essere
impostata a «false» solamente se l'archivio generato con
fornisce anche file Translation. Notare che il file
principale Translation-en può essere creato solamente con il comando
generate.
-h, --help
Mostra un breve riassunto sull'uso.
-v, --version
Mostra la versione del programma.
-c, --config-file
File di configurazione; specifica un file di
configurazione da usare. Il programma legge il file di configurazione
predefinito e poi questo file di configurazione. Se è necessario
modificare le impostazioni di configurazione prima che vengano analizzati i
file di configurazione predefiniti, specificare un file con la variabile
d'ambiente APT_CONFIG. Vedere apt.conf(5) per informazioni sulla
sintassi.
-o, --option
Imposta un'opzione di configurazione;
imposterà una qualunque opzione di configurazione. La sintassi è
-o Pinco::Pallo=pallo. -o e --option si possono usare
più volte per impostare opzioni diverse.
ESEMPI
Per creare un file Packages compresso per una directory contenente pacchetti binari (.deb):apt-ftparchive packages directory | gzip > Packages.gz
VEDERE ANCHE
apt.conf(5)DIAGNOSTICA
apt-ftparchive restituisce zero in caso di funzionamento normale e il valore decimale 100 in caso di errore.BUG
Pagina dei bug di APT[1]. Se si desidera segnalare un bug in APT, vedere /usr/share/doc/debian/bug-reporting.txt o il comando reportbug(1).TRADUZIONE
Traduzione in italiano a cura del Team italiano di localizzazione di Debian <[email protected]>. In particolare hanno contribuito Eugenia Franzoni (2000), Hugh Hartmann (2000-2012), Gabriele Stilli (2012), Beatrice Torracca (2012, 2014, 2015). Notare che questa versione tradotta del documento può contenere parti non tradotte. Ciò è voluto, per evitare di perdere contenuti quando la traduzione non è aggiornata rispetto all'originale.AUTORI
Jason Gunthorpe Team APTNOTE
- 1.
- Pagina dei bug di APT
29 gennaio 2023 | APT 2.6.1 |