bup-midx - manual de referencia, opciones, ejemplos de comandos


NOMBRE

bup-midx - crear un archivo de índice múltiple (.midx) a partir de varios archivos .idx

SINOPSIS

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

DESCRIPCIÓN

bup midx crea un archivo de índice múltiple (.midx) a partir de uno o más archivos de índice de git pack (.idx).

Nota: ya no debería necesitar ejecutar este comando a mano. Se ejecuta automáticamente mediante bup-save(1) y comandos similares.

OPCIONES

-o, --output=filename.midx

use el nombre de archivo de salida dado para el archivo .midx. El valor predeterminado se genera automáticamente.

-a, --auto

generar automáticamente nuevos archivos .midx para cualquier archivo .idx donde sea apropiado.

-f, --force

fuerce la generación de un único archivo .midx nuevo que contenga todos sus archivos .idx, incluso si ya existen otros archivos .midx. Esto dará como resultado el rendimiento de copia de seguridad más rápido, pero puede tardar mucho tiempo en ejecutarse.

--dir=packdir

especifique el directorio que contiene los archivos .idx/.midx con los que trabajar. El valor predeterminado es $BUP_DIR/objetos/paquete.

--max-files

número máximo de archivos .idx para abrir a la vez. Puede usar esto si tiene una cantidad especialmente pequeña de descriptores de archivos disponibles, de modo que midx pueda completarse (aunque posiblemente no de manera óptima) incluso si no puede abrir todos sus archivos .idx a la vez. El valor predeterminado de esta opción debería estar bien para la mayoría de las personas.

--check

valide un archivo .midx asegurándose de que todos los objetos en sus archivos .idx contenidos existan dentro del .midx. Puede ser útil para la depuración.

EJEMPLOS

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

DISCUSIÓN

De manera predeterminada, bup usa archivos de paquete con formato git, que consisten en un archivo de paquete (que contiene objetos) y un archivo idx (que contiene una lista ordenada de nombres de objetos y sus compensaciones en el archivo .pack).

Los archivos idx normales son convenientes porque significa que puede usar git(1) para acceder a sus conjuntos de datos de respaldo. Sin embargo, los archivos idx pueden volverse lentos cuando tiene muchos paquetes muy grandes (que git normalmente no tiene, pero bup sí).

Los archivos bup .midx constan de una única lista ordenada de todos los objetos contenidos en todos los archivos .pack a los que hace referencia. Esta lista se puede buscar binariamente en aproximadamente log2(m) pasos, donde m es el número total de objetos.

Para acelerar aún más la búsqueda, los archivos midx también tienen una tabla de abanico de tamaño variable que reduce los primeros n pasos de la búsqueda binaria. Con la ayuda de esta tabla de fanout, bup puede reducir en qué página del archivo midx estaría una identificación de objeto dada (si existe) con una sola búsqueda. Por lo tanto, las búsquedas típicas solo necesitarán intercambiar dos páginas: una para la tabla de despliegue y otra para la identificación del objeto.

Los archivos midx son más útiles cuando se crean nuevas copias de seguridad, ya que la búsqueda de un objeto inexistente en el repositorio necesariamente requiere buscar en todos los archivos de índice para asegurarse de que no existe. (La búsqueda de objetos que existen se puede optimizar; por ejemplo, los objetos consecutivos a menudo se almacenan en el mismo paquete, por lo que podemos buscar ese primero usando un algoritmo MRU).

VER TAMBIÉN

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

BUP

Parte de la suite bup(1).

AUTORES

Avery Pennarun apenwarr@gmail.com.