bup-midx - manuale di riferimento, opzioni, esempi di comandi


NOME

bup-midx - creare un file multi-indice (.midx) da diversi file .idx

SINOSSI

bup midx [-o outfile] <-a|-f|idxnames...>

DESCRIZIONE

bup midx crea un file multi-indice (.midx) da uno o più file git pack index (.idx).

Nota: non dovrebbe più essere necessario eseguire manualmente questo comando. Viene eseguito automaticamente da bup-save(1) e comandi simili.

OPZIONI

-o, --output=filename.midx

utilizzare il nome file di output specificato per il file .midx. L'impostazione predefinita è generata automaticamente.

-a, --auto

genera automaticamente nuovi file .midx per qualsiasi file .idx dove sarebbe appropriato.

-f, --force

forza la generazione di un singolo nuovo file .midx contenente tutti i tuoi file .idx, anche se esistono già altri file .midx. Ciò si tradurrà in prestazioni di backup più veloci, ma potrebbe richiedere molto tempo per l'esecuzione.

--dir=packdir

specificare la directory contenente i file .idx/.midx con cui lavorare. Il valore predefinito è $BUP_DIR/objects/pack.

--max-files

numero massimo di file .idx da aprire alla volta. Puoi usarlo se disponi di un numero particolarmente ridotto di descrittori di file disponibili, in modo che midx possa completare (sebbene possibilmente non in modo ottimale) anche se non può aprire tutti i tuoi file .idx contemporaneamente. Il valore predefinito di questa opzione dovrebbe andare bene per la maggior parte delle persone.

--check

convalidare un file .midx assicurandosi che tutti gli oggetti nei suoi file .idx contenuti esistano all'interno del .midx. Può essere utile per il debug.

ESEMPI

$ bup midx -a
Merging 21 indexes (2278559 objects).
Table size: 524288 (17 bits)
Reading indexes: 100.00% (2278559/2278559), done.
midx-b66d7c9afc4396187218f2936a87b865cf342672.midx

DISCUSSIONE

Per impostazione predefinita, bup utilizza file pack in formato git, che consistono in un file pack (contenente oggetti) e un file idx (contenente un elenco ordinato di nomi di oggetti e i loro offset nel file .pack).

I normali file idx sono convenienti perché significa che puoi usare git(1) per accedere ai tuoi set di dati di backup. Tuttavia, i file idx possono rallentare quando si hanno molti pacchetti molto grandi (che git in genere non ha, ma bup spesso sì).

I file bup .midx consistono in un unico elenco ordinato di tutti gli oggetti contenuti in tutti i file .pack a cui fa riferimento. Questo elenco può essere ricercato binariamente in circa log2(m) passaggi, dove m è il numero totale di oggetti.

Per velocizzare ulteriormente la ricerca, i file midx hanno anche una tabella fanout di dimensioni variabili che riduce i primi n passaggi della ricerca binaria. Con l'aiuto di questa tabella fanout, bup può restringere la pagina del file midx in cui si troverebbe un determinato ID oggetto (se esiste) con una singola ricerca. Pertanto, le ricerche tipiche dovranno solo scambiare due pagine: una per la tabella fanout e una per l'ID oggetto.

I file midx sono molto utili quando si creano nuovi backup, poiché la ricerca di un oggetto inesistente nel repository richiede necessariamente la ricerca in tutti i file indice per assicurarsi che non esista. (La ricerca di oggetti che esistono può essere ottimizzata; ad esempio, oggetti consecutivi sono spesso memorizzati nello stesso pacchetto, quindi possiamo cercare prima quello utilizzando un algoritmo MRU.)

GUARDA ANCHE

bup-save(1), bup-margin(1), bup-memtest(1)

BUP

Parte della suite bup(1).

AUTORI

Avery Pennarun apenwarr@gmail.com.