bup-midx - manual de referência, opções, exemplos de comandos


NOME

bup-midx - criar um arquivo multi-index (.midx) a partir de vários arquivos .idx

SINOPSE

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

DESCRIÇÃO

bup midx cria um arquivo multi-index (.midx) a partir de um ou mais arquivos git pack index (.idx).

Nota: você não precisa mais executar este comando manualmente. Ele é executado automaticamente por bup-save(1) e comandos semelhantes.

OPÇÕES

-o, --output=filename.midx

use o nome de arquivo de saída fornecido para o arquivo .midx. O padrão é gerado automaticamente.

-a, --auto

gerar automaticamente novos arquivos .midx para qualquer arquivo .idx onde for apropriado.

-f, --force

forçar a geração de um único novo arquivo .midx contendo todos seus arquivos .idx, mesmo se outros arquivos .midx já existirem. Isso resultará em um desempenho de backup mais rápido, mas pode levar muito tempo para ser executado.

--dir=packdir

especifique o diretório que contém os arquivos .idx/.midx com os quais trabalhar. O padrão é $BUP_DIR/objects/pack.

--max-files

número máximo de arquivos .idx a serem abertos por vez. Você pode usar isso se tiver um número especialmente pequeno de descritores de arquivo disponíveis, para que o midx possa ser concluído (embora possivelmente de maneira não otimizada), mesmo que não consiga abrir todos os seus arquivos .idx de uma só vez. O valor padrão desta opção deve ser bom para a maioria das pessoas.

--check

validar um arquivo .midx garantindo que todos os objetos em seus arquivos .idx contidos existam dentro do .midx. Pode ser útil para depuração.

EXEMPLOS

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

DISCUSSÃO

Por padrão, o bup usa arquivos pack formatados em git, que consistem em um arquivo pack (contendo objetos) e um arquivo idx (contendo uma lista classificada de nomes de objetos e seus deslocamentos no arquivo .pack).

Arquivos idx normais são convenientes porque significa que você pode usar git(1) para acessar seus conjuntos de dados de backup. No entanto, os arquivos idx podem ficar lentos quando você tem muitos pacotes muito grandes (que o git normalmente não tem, mas o bup geralmente tem).

Os arquivos .midx bup consistem em uma única lista classificada de todos os objetos contidos em todos os arquivos .pack aos quais faz referência. Essa lista pode ser pesquisada binária em aproximadamente log2(m) passos, onde m é o número total de objetos.

Para acelerar ainda mais a pesquisa, os arquivos midx também possuem uma tabela de fanout de tamanho variável que reduz as primeiras n etapas da pesquisa binária. Com a ajuda desta tabela fanout, o bup pode restringir em qual página do arquivo midx um determinado ID de objeto estaria (se existir) com uma única pesquisa. Assim, as pesquisas típicas precisarão apenas trocar em duas páginas: uma para a tabela fanout e outra para o id do objeto.

os arquivos midx são mais úteis ao criar novos backups, pois a pesquisa de um objeto inexistente no repositório requer necessariamente a pesquisa em todos os arquivos de índice para garantir que ele não exista. (A pesquisa de objetos que existem pode ser otimizada; por exemplo, objetos consecutivos geralmente são armazenados no mesmo pacote, para que possamos pesquisá-lo primeiro usando um algoritmo MRU.)

VEJA TAMBÉM

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

BUP

Parte do pacote bup(1).

AUTORES

Avery Pennarun apenwarr@gmail.com.