bup-midx - instrukcja obsługi, opcje, przykłady poleceń


NAZWA

bup-midx - utwórz plik z wieloma indeksami (.midx) z kilku plików .idx

STRESZCZENIE

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

OPIS

bup midx tworzy plik z wieloma indeksami (.midx) z jednego lub więcej plików git pack index (.idx).

Uwaga: nie powinieneś już uruchamiać tego polecenia ręcznie. Jest uruchamiany automatycznie przez bup-save(1) i podobne polecenia.

OPCJE

-o, --output=filename.midx

użyj podanej nazwy pliku wyjściowego dla pliku .midx. Wartość domyślna jest generowana automatycznie.

-a, --auto

automatycznie generować nowe pliki .midx dla dowolnych plików .idx tam, gdzie byłoby to właściwe.

-f, --force

wymuś generowanie pojedynczego nowego pliku .midx zawierającego wszystkie twoje pliki .idx, nawet jeśli inne pliki .midx już istnieją. Spowoduje to najszybsze wykonanie kopii zapasowej, ale jej uruchomienie może zająć dużo czasu.

--dir=packdir

określ katalog zawierający pliki .idx/.midx do pracy. Wartość domyślna to $BUP_DIR/objects/pack.

--max-files

maksymalna liczba plików .idx do otwarcia jednocześnie. Możesz tego użyć, jeśli masz szczególnie małą liczbę dostępnych deskryptorów plików, tak aby midx mógł działać (choć prawdopodobnie nieoptymalnie), nawet jeśli nie może otworzyć wszystkich plików .idx naraz. Domyślna wartość tej opcji powinna być odpowiednia dla większości ludzi.

--check

sprawdź poprawność pliku .midx, upewniając się, że wszystkie obiekty w zawartych w nim plikach .idx istnieją w pliku .midx. Może być przydatny do debugowania.

PRZYKŁADY

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

DYSKUSJA

Domyślnie bup używa plików pack sformatowanych w git, które składają się z pliku pack (zawierającego obiekty) i pliku idx (zawierającego posortowaną listę nazw obiektów i ich przesunięć w pliku .pack).

Zwykłe pliki idx są wygodne, ponieważ oznaczają, że możesz używać git(1) do uzyskiwania dostępu do kopii zapasowych zestawów danych. Jednak pliki idx mogą działać wolno, gdy masz dużo bardzo dużych pakietów (których git zwykle nie ma, ale bup często).

Pliki bup .midx składają się z pojedynczej, posortowanej listy wszystkich obiektów zawartych we wszystkich plikach .pack, do których się odwołuje. Listę tę można przeszukiwać binarnie w krokach około log2(m), gdzie m to całkowita liczba obiektów.

Aby jeszcze bardziej przyspieszyć wyszukiwanie, pliki midx mają również tablicę fanout o zmiennej wielkości, która skraca pierwsze n kroków wyszukiwania binarnego. Za pomocą tej tablicy fanout bup może zawęzić, na której stronie pliku midx znajdzie się dany identyfikator obiektu (jeśli istnieje) za pomocą jednego wyszukiwania. W związku z tym typowe wyszukiwanie będzie wymagało zamiany tylko dwóch stron: jednej dla tabeli fanoutów i jednej dla identyfikatora obiektu.

Pliki midx są najbardziej przydatne podczas tworzenia nowych kopii zapasowych, ponieważ wyszukiwanie nieistniejącego obiektu w repozytorium wymaga przeszukania wszystkich plików indeksu, aby upewnić się, że nie istnieje. (Wyszukiwanie obiektów, które nie istnieją, można zoptymalizować; na przykład kolejne obiekty są często przechowywane w tym samym pakiecie, więc możemy najpierw przeszukać ten jeden za pomocą algorytmu MRU).

ZOBACZ TEŻ

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

BUP

Część pakietu bu(1).

AUTORSKI

Avery Pennarun .