Об этом проекте

nog — написанная на Rust обёртка над пакетным менеджером для Arch Linux, добавляющая систему уровневых задержек поверх pacman. Вместо замены pacman она использует те же команды и флаги, вводя задержки обновлений в зависимости от важности пакетов. Система уровней: Пакеты распределяются по трём уровням с настраиваемыми длительностями задержки: - Уровень 1 (ядро, загрузчик, glibc, systemd, mesa): задержка 30 дней - Уровень 2 (графические окружения, ключевые приложения): задержка 15 дней - Уровень 3 (всё остальное): задержка 7 дней Задержки отсчитываются с момента первого появления обновления, а не от новейшей сборки, что предотвращает бесконечную задержку часто обновляемых пакетов. После истечения задержки новейшая версия должна также пройти более короткое «ожидание безопасности» (7/3/1 дней по уровням) перед установкой. Поддержка нескольких источников: nog управляет обновлениями из официальных репозиториев pacman, AUR (через yay или paru), Flatpak и Snap. Каждый источник можно активировать или деактивировать индивидуально. Задержки Snap устанавливаются в самом snapd для предотвращения обхода через автообновление. Функции безопасности: Пакеты с ключевыми кольцами (keyring) никогда не задерживаются. Аварийные переключатели могут отключить AUR или chaotic-aur во время инцидентов. nog запускается от обычного пользователя и повышает права до root только в определённые моменты. Задержки используют собственный флаг --ignore в pacman. Помощникам AUR передаются только одобренные имена пакетов, что предотвращает обход через неудачные поиски. Отчётность: Обновления группируются в категории Ready, Held и Unknown с цветовой маркировкой по уровням. Сводная таблица показывает статус по каждому репозиторию. Каждый запуск записывается в файл CSV с датой, хранящийся 90 дней. Предоставляется рекомендация о перезагрузке, когда обновления ядра или драйверов приводят к рассинхронизации с работающей системой. Обслуживание: nog clean очищает старые загрузки из кэша pacman с уровневым retention (3 версии для уровня 1, 2 для уровня 2, 1 для уровня 3), всегда сохраняя установленные версии для отката. Конфигурация: Назначение уровней и длительности задержек настраиваются в /etc/nog/. Пакеты можно закреплять за уровнями, объединять для совместного перемещения (например, ядро и заголовочные файлы), а уровень 1 может требовать ручного подтверждения в экспертном режиме.