Об этом проекте
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 может требовать ручного подтверждения в экспертном режиме.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.