bup-margin - określ swój margines bezpieczeństwa deduplikacji
bup margin [options...]
margines bup przegląda wszystkie obiekty w twoim repozytorium bup, obliczając największą liczbę bitów prefiksu współdzielonych przez dowolne dwa wpisy. Ta liczba, n, identyfikuje najdłuższy podzbiór SHA-1, którego można użyć i nadal napotkać kolizję między identyfikatorami obiektów.
Na przykład jeden testowany system miał kolekcję 11 milionów obiektów (70 GB), a margines bufora zwrócił 45. Oznacza to, że 46-bitowy skrót wystarczyłby do uniknięcia wszystkich kolizji między tym zestawem obiektów; każdy obiekt w tym repozytorium może być jednoznacznie identyfikowany przez jego pierwsze 46 bitów.
Liczba potrzebnych bitów wydaje się wzrastać o około 1 lub 2 dla każdego podwojenia liczby obiektów. Ponieważ skróty SHA-1 mają 160 bitów, pozostawia to 115 bitów marginesu. Oczywiście, ponieważ skróty SHA-1 są zasadniczo losowe, teoretycznie możliwe jest użycie znacznie większej liczby bitów przy znacznie mniejszej liczbie obiektów.
Jeśli masz paranoję co do możliwości kolizji SHA-1, możesz monitorować swoje repozytorium, od czasu do czasu uruchamiając margines buforowania, aby sprawdzić, czy nie zbliżasz się niebezpiecznie do 160 bitów.
Odgadnij przesunięcie w każdym pliku indeksu, w którym pojawi się konkretny obiekt, i podaj maksymalne odchylenie prawidłowej odpowiedzi od zgadywania. Jest to potencjalnie przydatne do strojenia algorytmu wyszukiwania interpolacyjnego.
nie używaj plików .midx, używaj tylko plików .idx. Jest to naprawdę przydatne tylko wtedy, gdy jest używane z opcją --predict.
$ bup margin
Reading indexes: 100.00% (1612581/1612581), done.
40
40 matching prefix bits
1.94 bits per doubling
120 bits (61.86 doublings) remaining
4.19338e+18 times larger is possible
Everyone on earth could have 625878182 data sets
like yours, all in one repository, and we would
expect 1 object collision.
$ bup margin --predict
PackIdxList: using 1 index.
Reading indexes: 100.00% (1612581/1612581), done.
915 of 1612581 (0.057%) bup-midx(1), bup-save(1)
Część pakietu bu(1).
Avery Pennarun