Opublikowano wersję Precizer 0.16.0, narzędzia konsolowego Precizer, które służy do sprawdzania integralności dużych drzew plików i wykrywania rozbieżności po synchronizacji danych. Kod projektu napisany jest w języku C i jest rozpowszechniany na licencji GPLv3. Gotowe wersje były wcześniej dostępne dla systemów Linux i macOS, a kluczową zmianą nowej wersji jest eksperymentalne wsparcie dla Windows.
Projekt Precizer rozwija się od ponad dwóch lat i jest przedstawiany jako małe, szybkie i wygodne narzędzie CLI do zadań, w których standardowe porównanie metadanych plików nie jest wystarczające. Program przeszukuje drzewo katalogów, oblicza sumy kontrolne plików (SHA512) i zapisuje informacje w bazie danych SQLite. Dzięki temu bazy utworzone dla różnych źródeł danych mogą być porównywane ze sobą, co pozwala uzyskać listę brakujących plików, zbędnych plików oraz obiektów z niespójnymi sumami kontrolnymi.
Głównym przypadkiem użycia jest sprawdzanie wyników synchronizacji dużych magazynów, kopii zapasowych oraz kopii disaster recovery. W przeciwieństwie do jednorazowego uruchomienia narzędzi, które obliczają sumy kontrolne od zera, Precizer zachowuje stan między uruchomieniami i umożliwia wznowienie długotrwałych operacji po przerwaniu. Jest to szczególnie istotne dla drzew plików z dużą liczbą obiektów lub objętościami mierzącymi w terabajtach i petabajtach, gdzie ponowne pełne przejście przez dane po przypadkowym zatrzymaniu może stać się zadaniem bez dobrego praktycznego rozwiązania.
Zauważono również możliwość wykorzystania Precizer jako narzędzia do kontroli bezpieczeństwa w celu wykrywania nieautoryzowanych zmian w plikach, w tym w przypadkach, gdy metadane nie pozwalają dostrzec podmiany zawartości.
Dla aktualizacji wcześniej utworzonej bazy przewidziano tryb „—update”, umożliwiający dodawanie nowych plików, usuwanie rekordów dotyczących znikających obiektów oraz ponowne obliczanie sum kontrolnych zmienionych plików. Aby ograniczyć zakres sprawdzania i porównywania, obsługiwane są filtry ścieżek przez „—ignore” i „—include”.
Dostępne są skompresowane archiwa Precizer 0.16.0 dla systemów Linux x86_64, Linux AArch64, macOS arm64 i Windows x64. Dla Linuxa dostępne są przenośne, statycznie zbudowane pliki ELF, niezwiązane z konkretną dystrybucją. Do budowy z kodu źródłowego można użyć standardowego Makefile lub przygotowanych środowisk Docker dla AlmaLinux, Alpine, Arch, Debian, Gentoo, Rocky i Ubuntu.
W skład wydania wchodzą dwie wersje kompilacji dla Windows: archiwum ZIP z plikiem wykonywalnym oraz niezbędnymi zależnościami DLL, a także przenośny plik EXE bez zewnętrznych zależności. Kompilacje dla Windows nie mają jeszcze cyfrowego podpisu wydawcy. Ponadto przenośny plik EXE może generować ostrzeżenia Microsoft Defender, co jest typowe dla wczesnych, nieskalibrowanych plików binarnych, zbudowanych poza znanym łańcuchem dostaw aplikacji Windows.
Źródło: opennet.ru
