bup-midx - creare un file multi-indice (.midx) da diversi file .idx
bup midx [-o outfile] <-a|-f|idxnames...>
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.
utilizzare il nome file di output specificato per il file .midx. L'impostazione predefinita è generata automaticamente.
genera automaticamente nuovi file .midx per qualsiasi file .idx dove sarebbe appropriato.
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.
specificare la directory contenente i file .idx/.midx con cui lavorare. Il valore predefinito è $BUP_DIR/objects/pack.
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.
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.
$ bup midx -a
Merging 21 indexes (2278559 objects).
Table size: 524288 (17 bits)
Reading indexes: 100.00% (2278559/2278559), done.
midx-b66d7c9afc4396187218f2936a87b865cf342672.midxPer 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.)
bup-save(1), bup-margin(1), bup-memtest(1)
Parte della suite bup(1).
Avery Pennarun apenwarr@gmail.com.