Проверка RPM, целостности и источников пакетов¶
RPM — основа управления пакетами НАЙС.ОС CLOUD. Прежде чем обновлять систему, полезно понимать, из какого репозитория пришёл пакет, каким ключом он подписан, не изменены ли установленные файлы и какие зависимости будут затронуты.
1. Информация о системе¶
cat /etc/os-release
rpm -q niceos-release niceos-repos
rpm -q rpm dnf tdnf
rpm --eval '%{_arch} %{_vendor} %{_target_os}'
Наличие рецептов для DNF и TDNF не гарантирует, что оба менеджера есть в каждом минимальном образе. Выберите установленный менеджер и уточните его параметры.
2. Что установлено¶
-qf определяет пакет-владельца файла, -ql перечисляет установленные файлы, --scripts показывает возможные scriptlets RPM. Перед изменением конфигурации выясните, не помечена ли она %config(noreplace).
3. Проверка состояния файлов¶
Вторая команда может быть продолжительной и показать штатно изменённые конфигурации, базу состояний/кэш и разрешённые отклонения. Сохраните отчёт с ограниченными правами, не интерпретируйте каждую строку как вредоносное изменение. Часть файлов intentionally mutable и будет отличаться от содержимого пакета.
4. Репозитории и подписи¶
SPEC niceos-repos содержит набор базовых .repo и RPM-GPG-KEY-NICEOS. Реальные URL и политика gpgcheck должны быть прочитаны из установленных файлов. Не добавляйте случайный репозиторий и не отключайте gpgcheck ради исправления сетевой ошибки.
5. Как проводить обновление¶
- Снимите сведения об образе и список пакетов, сохраните бэкап конфигурации.
- Проверьте сеть/DNS и правила iptables OUTPUT.
- Уточните состояние репозиториев и доверенного ключа.
- Проверьте список предлагаемых изменений через установленный менеджер, прежде чем подтверждать операцию.
- Обновления ядра планируйте с учётом GRUB2/dracut; после транзакции проверьте новые файлы
/boot/. - Перезагрузку проводите в окно обслуживания; после неё проверяйте версию ядра и работоспособность сервисов.
6. Что делать, если RPM сломан¶
Не удаляйте напрямую /var/lib/rpm/ и не выполняйте rpm --rebuilddb без диагностики диска и бэкапа базы. Ошибка может быть вызвана нехваткой места, конфликтом версий, падением скрипта установки или недоступным репозиторием.
Для подробностей см. RPM/DNF/TDNF, загрузка ядра и проверка GPG/ISO.
Источники: Core/{rpm,tdnf,dnf,niceos-repos,niceos-release}/SPECS/*.spec.