apt-ftparchive - strumento per generare file indice
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}}
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.
packages
Il 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.
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.
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.
ArchiveDir
Specifica 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.
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::Compress
Imposta 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.
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.
MaxContentsChange
Imposta 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.
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/bullseye.
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
Sections
Questa è una lista di sezioni che appaiono sotto
la distribuzione, separate da spazi; tipicamente è simile a main
contrib non-free.
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.
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.
Packages
Imposta 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 è 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
o semplicemente
. La prima forma consente di specificare una lista di vecchi
indirizzi di posta elettronica separati da una doppia sbarra. Se qualcuno di
essi viene trovato, allora il campo manutentore viene sostituito con
«nuovo». La seconda forma sostituisce invariabilmente il campo
manutentore.
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 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.
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, --sha512
Genera 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
apt-ftparchive(1) 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
apt-ftparchive(1) 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.
Per creare un file Packages compresso per una directory contenente
pacchetti binari (.deb):
apt-ftparchive packages directory | gzip > Packages.gz
apt-ftparchive restituisce zero in caso di funzionamento
normale e il valore decimale 100 in caso di errore.
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 in italiano a cura del Team italiano di localizzazione
di Debian <debian-l10n-italian@lists.debian.org>. 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.
- 1.
- Pagina dei bug di APT
http://bugs.debian.org/src:apt