Профиль: Аноним (вход | регистрация) неRU opennet.me  
The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Выпуск утилиты для проверки целостности файлов Precizer 0.16.0

02.07.2026 06:13 (MSK)

Опубликован выпуск Precizer 0.16.0, консольной утилиты Precizer, предназначенной для проверки целостности больших деревьев файлов и выявления расхождений после синхронизации данных. Код проекта написан на языке Си и распространяется под лицензией GPLv3. Готовые сборки ранее были доступны для Linux и macOS, а ключевым изменением нового выпуска стала экспериментальная поддержка Windows.

Проект Precizer развивается более двух лет и позиционируется как небольшая, быстрая и удобная CLI-утилита для задач, где обычного сравнения метаданных файлов уже недостаточно. Программа обходит дерево каталогов, вычисляет контрольные суммы файлов (SHA512) и сохраняет сведения в SQLite-базу. После этого базы, созданные для разных источников данных, можно сравнить между собой и получить список отсутствующих файлов, лишних файлов и объектов с несовпадающими контрольными суммами.

Основной сценарий использования связан с проверкой результатов синхронизации больших хранилищ, резервных копий и disaster recovery-копий. В отличие от разового запуска утилит, пересчитывающих контрольные суммы с нуля, Precizer сохраняет состояние между запусками и позволяет возобновлять длительные операции после прерывания. Это особенно важно для файловых деревьев с большим числом объектов или объёмами, измеряемыми терабайтами и петабайтами, где повторный полный проход по данным после случайной остановки может превратиться в задачу, у которой нет хорошего практического решения.

Также отмечена возможность применения Precizer в качестве инструмента контроля безопасности для выявления несанкционированных изменений файлов, в том числе в случаях, когда метаданные не позволяют заметить подмену содержимого.

Для обновления ранее созданной базы предусмотрен режим "--update", позволяющий добавлять новые файлы, удалять записи об исчезнувших объектах и пересчитывать контрольные суммы изменённых файлов. Для ограничения области проверки и сравнения поддерживаются фильтры путей через "--ignore" и "--include".

Готовые архивы Precizer 0.16.0 доступны для Linux x86_64, Linux AArch64, macOS arm64 и Windows x64. Для Linux предлагаются переносимые статически собранные ELF-файлы, не привязанные к конкретному дистрибутиву. Для сборки из исходных текстов можно использовать обычный Makefile или подготовленные Docker-окружения для AlmaLinux, Alpine, Arch, Debian, Gentoo, Rocky и Ubuntu.

В составе релиза подготовлены два варианта Windows-сборки: ZIP-архив с исполняемым файлом и необходимой DLL-зависимостью, а также переносимый EXE-файл без внешних зависимостей. Windows-сборки пока не имеют цифровой подписи издателя. Кроме того, переносимый EXE-файл может вызывать предупреждения Microsoft Defender, что типично для ранних неподписанных бинарных файлов, собранных вне привычной цепочки поставки Windows-приложений.

  1. Главная ссылка к новости (https://github.com/precizer/pr...)
  2. OpenNews: Регрессии в rsync 3.4.3 и принятие изменений, подготовленных с использованием AI
  3. OpenNews: Релиз SparkleShare 1.0, программы для синхронизации данных и организации совместного доступа
  4. OpenNews: Леннарт Поттеринг представил свой новый проект Casync
  5. OpenNews: Основатель QEMU и FFmpeg развивает систему синхронизации файлов VFsync
  6. OpenNews: Выпуск P2P-системы синхронизации файлов syncspirit 0.4.5, совместимой с Syncthing
Автор новости: EiLef3Woos
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/65823-precizer
Ключевые слова: precizer
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (49) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.3, Hedgehog (??), 08:28, 02/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Нужно сравнение с fapolicyd
     
     
  • 2.9, penetrator (?), 09:41, 02/07/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    This is a simple application whitelisting daemon for Linux.

    это же совсем другая задача

     
  • 2.32, Счукин Е (?), 22:55, 02/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    aide, братан. Оно всё это умеет уже.
     
     
  • 3.36, OpenEcho (?), 16:35, 03/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    mtree наверное будет постарей, пошустрей и на всех юниксах
     
  • 3.47, Аноним (47), 18:06, 06/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    IMA/EVM для онлайн проверки системы при запуску

    AIDE для периодической и офлайн проверки системы

    gemato + Manifest для проверки каталогов, бекасов, архивов,...

    SQL база слишком. B2 предписывает хранить информацию о безопасности (хеши, подписи) в метаданных файловой системы. Но для архивов, деканов подписаный Manifest то вот надо!

     
     
  • 4.49, EiLef3Woos (ok), 06:50, 07/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Вот этот вот всё перечисленное — "не слишком", а SQLite база данных в виде одного файла — это уже "слишком"... Штош...
    :-)
     

  • 1.4, Аноним (4), 08:32, 02/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    Я уверен, это востребованная функциональность для венды, она любит терять и повреждать файлы. Остальным, видимо, не интересно было. Но чтобы что, вот узнал ты -- хеши расходятся. Переведёшь венду на рейд с btrfs теперь?

    >выявления расхождений после синхронизации данных

    Практически миллионы-миллиарды изменений отслеживать не реалистично. Rsync уже позволяет перепроверить после завершения синхронизации, этого достаточно.

     
     
  • 2.8, aname (ok), 09:40, 02/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > она любит терять и повреждать файлы

    Наглядное пособие, что в интернетах какой только дичи не пишут.

    > Переведёшь венду на рейд с btrfs теперь?

    И это когда есть прекрасная NTFS. Таким переводителям медицина уже вряд ли поможет

     
     
  • 3.10, Аноним (4), 09:46, 02/07/2026 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Это не та самая ntfs, которая регулярно разваливает MFT?
     
     
  • 4.11, aname (ok), 09:52, 02/07/2026 [^] [^^] [^^^] [ответить]  
  • +3 +/
    У меня она спокойно переживает аварийные отключения электричества. Если у тебя NTFS постоянно разваливает MFT, то это вопросы к твоему железу/рукам, а не к NTFS.
     
     
  • 5.12, Аноним (4), 09:55, 02/07/2026 [^] [^^] [^^^] [ответить]  
  • –3 +/
    А это как повезёт и какие обновления установлены. Если бы ты хоть немного владел темой, то знал, что это самый популярный деструктивный баг, который исправляют из года в год.
     
     
  • 6.15, aname (ok), 10:07, 02/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Последний раз, когда я видел проблемы с MFT- была XP.

    Что ты там делаешь, какое некроговно используешь, какие эксперименты ставишь, какие драйверы NTFS используешь- я не знаю, но очевидно, что проблема уж точно не в шинде.

    Вот что- что в шинде уж точно стабильное, так это NTFS.

     
     
  • 7.17, Аноним (4), 10:49, 02/07/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А вот майкрософт считает, что в 10 раз 10 устраняли. Никаких экспериментов, чистый сток. Просто признай, что ты ничего не знаешь об обожаемой тобой венде. Ещё раз, такое стабильное, что MFT рассыпается при исчерпании места.
     
     
  • 8.18, aname (ok), 11:06, 02/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    У меня, как и у многих, исчерпывалось место и не раз MFT на месте Почему ты сд... текст свёрнут, показать
     
     
  • 9.19, Аноним (4), 11:07, 02/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    А это как повезёт и какие обновления установлены ... текст свёрнут, показать
     
     
  • 10.20, aname (ok), 11:09, 02/07/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    У меня устанавливаются все обновления MFT в норме Опять линуксоиды не осилили ... текст свёрнут, показать
     
     
  • 11.21, Аноним (4), 11:12, 02/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Ты выглядишь глупо Майкрософт признаёт проблему, а ты переводишь в плоскость л... текст свёрнут, показать
     
     
  • 12.22, aname (ok), 11:56, 02/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Не увидел, до сих пор, ни одной ссылки Впрочем, чего ж от тебя ещё ожидать- то... текст свёрнут, показать
     
     
  • 13.24, Аноним (4), 12:19, 02/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    С таким отношением и не увидишь Только твоя проблема ... текст свёрнут, показать
     
     
  • 14.25, aname (ok), 13:19, 02/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Отсутствие пруфов- это не моя проблема ... текст свёрнут, показать
     
     
  • 15.26, Аноним (4), 13:29, 02/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Дело не в пруфах, дело в том, что ты необразован и безграмотен При этом, уверен... текст свёрнут, показать
     
  • 5.13, Аноним (4), 09:57, 02/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Аварийные отключения, кстати, часто ни при чём. Это просто драйвер нтфс у венды такой хороший.
     
  • 3.40, Аноним (40), 10:32, 04/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    >И это когда есть прекрасная NTFS.

    Прекрасная она была в Win7. Начиная с 8 и выше, до 10 очень часто Винда умирала при потере питания.
    Но тут не знаю, или они что-то в NTFS начудили, или после Вин7 винда начала что-то постоянно индексировать и постоянно писать на диск, что вело к грустным последствиям после пропадания питания.

     
     
  • 4.41, aname (ok), 12:17, 04/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    У меня есть n-компьютеров, с NTFS. По незавищсящим причинам, часто теряют питание. Так вот, NTFS выживает в таких условиях. Я хз за конкретные случаи, но в моём зоопарке NTFS реально тащит.
     
  • 2.27, EiLef3Woos (ok), 14:42, 02/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Rsync уже позволяет перепроверить после завершения синхронизации, этого достаточно.

    Нет, не позволяет и нет, этого не достаточно. Вот тут подробно объясняется почему: https://habr.com/ru/articles/1012934/

     

  • 1.7, Рмщъ (?), 09:17, 02/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Вспоминается Adinf
     
     
  • 2.23, Аноним (23), 12:02, 02/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Ничего надёжнее старой-доброй проверки целостности файлов так и не изобрели.
     
  • 2.39, Аноним (39), 21:24, 03/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    И как его обманывали, тоже вспоминается?
     

  • 1.14, Аноним (14), 09:58, 02/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Каждая новость о борьбе с/за безопасность убеждаюсь что собирать софт нужно самому из сурцов.
     
     
  • 2.29, EiLef3Woos (ok), 15:25, 02/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Если речь о конкретной программе, то все релизы там собираются автоматически из исходников через GitHub Actions
     
     
  • 3.33, openssh_user (ok), 05:05, 03/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Да вроде выглядит окей, но я бы всё равно из сурсов собирал бы
     

  • 1.16, Аноним (16), 10:20, 02/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Иллюзорный мир демиурга воплотившего мыслеформу в крошечную цифровую реальность рушится на глазах.
     
     
  • 2.28, EiLef3Woos (ok), 14:57, 02/07/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Наоборот! Созидается! Тоже хотите контрибьютить? :-D
     

  • 1.30, Аноним (30), 16:35, 02/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    Софт на Си уже даже смотреть не хочется.
     
     
  • 2.31, EiLef3Woos (ok), 17:19, 02/07/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Тогда напишите свой, не на Си, который:

    * Будет работать быстрее:
      * «Performance vs Programming Effort between Rust and C on Multicore Architectures: Case Study in N-Body» https://www.researchgate.net/publication/357230568_Performance_vs_Programming_
      * «OpenSimplex2F Rust vs C implementations performance benchmark» https://gist.github.com/EndrII/c1a06a3e027a78e1639774b6138a6ce2

    * И будет безопаснее: «В Rust Coreutils выявлено 113 уязвимостей. В Ubuntu 26.04 возвращены cp, mv и rm из GNU Coreutils» https://www.opennet.ru/opennews/art.shtml?num=65278

    Если Вы решили вынести своё мнение на суд сообщества, будьте добры снабдить его аргументами. А то без инженерных знаний и опыта оно рискует выглядеть не как экспертная позиция, а как открытка из страны уверенных иллюзий.

     

  • 1.34, OpenEcho (?), 16:10, 03/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/

    man mtree

    делает тоже самое и очень давно

     
     
  • 2.38, EiLef3Woos (ok), 17:38, 03/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    mtree простой как выключатель, с соответствующей нулевой гибкостью, бедным набором опций и сложными spec'ами.

    Практически все альтернативы под все операционки уже указаны в README проекта precizer, с перечислением преимуществ и недостатков: https://github.com/precizer/precizer/blob/main/README.ru.md#альтернативы

    Каждый инструмент предназначен для своих узкоспециализированных целей, в которых он хорош.

     
     
  • 3.42, OpenEcho (?), 15:20, 04/07/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Иммено Всё гениальное - простое Я пробовал ваш инструмент, если интересно, ... большой текст свёрнут, показать
     
     
  • 4.43, EiLef3Woos (ok), 18:36, 05/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > если интересно, моё мнение:

    Мнение действительно очень интересно. Это, пожалуй, первое объективное мнение и с критикой и  пожеланиями за все два года разработки. Вас не затруднит опубликовать такой обзор на странице проекта на гитхабе https://github.com/precizer/precizer/, в разделе Discussions или Issues, чтобы эта информация не потерялась среди постоянно обновляющихся новостей Опеннета? Там будет удобно разобрать каждый пункт, создать задачи для внесения изменений.

     
  • 4.44, EiLef3Woos (ok), 19:22, 05/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > isatty() - в помощь

    Буду рад обменяться личными контактами для продолжения диалога. Приятно иметь дело с профессионалами, знающими нюансы на таком уровне.

     
     
  • 5.52, OpenEcho (?), 14:51, 22/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Сорри, но к сожалению не смогу быть более полезным проекту, но следить по возмоххности буду и если что то тригернет, то дам знать. Я и здесь то появляюсь только исключительно когда застреваю в занудных командировках
     
     
  • 6.55, EiLef3Woos (ok), 19:01, 22/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Сорри, но к сожалению не смогу быть более полезным проекту, но следить
    > по возмоххности буду и если что то тригернет, то дам знать.
    > Я и здесь то появляюсь только исключительно когда застреваю в занудных
    > командировках

    Я действительно искренне благодарен за обратную связь и не прошу какого-то особого участия в проекте. Отзывов обычно не много, но Вам удалось внести столько разумных рациональных предложений, что я хотел бы иметь возможность сообщить о прогрессе по внедрению этих изменений в код. Только это и не более того.

     
     
  • 7.57, OpenEcho (?), 21:13, 22/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Рад был помочь, Спасибо за теплые слова!
     
  • 4.48, EiLef3Woos (ok), 06:19, 07/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Подумав 8212 соглашусь Над этим действительно стоит поработать Это было удо... большой текст свёрнут, показать
     
     
  • 5.53, OpenEcho (?), 15:20, 22/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Я это понял, но с точки зрения IDS, было бы удобно если бы был ключ который сраз... большой текст свёрнут, показать
     
     
  • 6.54, EiLef3Woos (ok), 18:41, 22/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Большое спасибо за отзывы! Я внимательно пройдусь по каждому пункту в комментарии. На вдумчивое рассмотрение нужно выделить достаточное количество времени.

    Я сейчас занят доработками по предыдущим комментариям.

    Вести баг-репорт было бы проще тут https://github.com/precizer/precizer/discussions/163

    @OpenEcho присоединяйтесь к дискуссии! Я разделю каждый пункт на задачу для доработки. Я имею в виду задачи для себя. Если Вы смогли бы присоединиться к дискуссии, то я бы мог сообщать о прогрессе.

     
  • 6.56, EiLef3Woos (ok), 19:44, 22/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Я создал базу на первоm проходе, потом с ключом -n
    > precizer -d YYYY-MM-DD_documents.precizer.db --progress -n ${HOME}/Documents
    > В надежде получить просто сравнение текущего состояния с базой в итоге вышло
    > ERROR: Exit status » WARNING

    Всё, теперь я понял идею! Опции -u/--update и -n/--dry-run антагонисты. Параметр -u сделан для того, чтобы пользователь явно согласился с изменением изначального слепка. Это позволяет защитить первичный слепок при случайном повторном запуске. Но при -n итак ни каких изменений не будет, поэтому в -u нет необходимости. Согласен. Принято в TODO.

     

  • 1.35, Аноним (35), 16:24, 03/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Попытка сборки в актуальном генту заканчивается вот так:
    /usr/x86_64-pc-linux-gnu/binutils-bin/2.46.0/ld: невозможно найти -lpcre2-8: Нет такого файла или каталога
    /usr/x86_64-pc-linux-gnu/binutils-bin/2.46.0/ld: have you installed the static version of the pcre2-8 library ?
    collect2: ошибка: выполнение ld завершилось с кодом возврата 1
    make: *** [Makefile:596: .builds/portable/precizer] Ошибка 1
     
     
  • 2.37, EiLef3Woos (ok), 17:24, 03/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Установите зависимости:
    echo "dev-libs/libpcre2 static-libs" >> /etc/portage/package.use/libpcre2;
    emerge -av dev-libs/libpcre2 app-arch/upx dev-db/sqlite

    А потом запустите:
    make production — сборка бинаря, опримизированного под локальный CPU
    или
    make portable — можно переносить между разными CPU той архитектуры, где велась сборка (x64 или arm64)

    В README проекта есть инструкция как для самостоятельной сборки под Gentoo, так и сборки в Docker контейнере Gentoo: https://github.com/precizer/precizer/blob/main/README.ru.md#gentoo-linux

    А ещё проще, установите в "один клик", подключив оверлей https://github.com/precizer/gentoo-overlay

    Инструкция по подключению и установке из оверлея в русскоязычном ридми https://github.com/precizer/gentoo-overlay/blob/main/README.ru.md

     
  • 2.51, EiLef3Woos (ok), 20:12, 16/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Теперь оверлей доступен через официальный каталог. Больше не нужно ручное подключение. Подробности и инструкция тут: https://github.com/precizer/gentoo-overlay/blob/main/README.ru.md#%D0
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2026 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру