Перейти к содержанию

RPM, DNF и TDNF: управление пакетами НАЙС.ОС

НАЙС.ОС собирается из исходников с использованием собственных RPM SPEC-файлов, конфигураций и патчей. Её нельзя считать «переименованной Fedora» или готовой бинарной сборкой другого дистрибутива. При этом стандартные инструменты RPM могут быть применимы, если они установлены в конкретном образе.

Какие команды за что отвечают

Команда Назначение Изменяет систему?
rpm -q наличие и сведения о пакете нет
rpm -ql список файлов пакета нет
rpm -qf какой пакет владеет файлом нет
rpm -q --scripts скрипты установки/удаления нет
rpm -Va проверка соответствия файлов базе RPM нет (проверка)
tdnf управление пакетами и репозиториями, если установлен зависит от подкоманды
dnf управление пакетами и репозиториями, если установлен зависит от подкоманды

Определите установленный менеджер

cat /etc/os-release
rpm --version
command -v tdnf || true
command -v dnf || true
rpm -q niceos-release niceos-repos 2>/dev/null || true

Не устанавливайте одновременно несколько менеджеров только потому, что в примере для другой системы используется dnf. При работе в минимальном образе обычно достаточно одного штатного инструмента.

Проверка пакета

rpm -q bash
rpm -qi bash
rpm -ql bash
rpm -qf /etc/bashrc
rpm -q --scripts bash

Вывод rpm -qf /etc/bashrc помогает найти ответственный пакет, чтобы не пытаться произвольно заменить системный файл.

Где лежат репозитории

ls -la /etc/yum.repos.d 2>/dev/null
find /etc/yum.repos.d -maxdepth 1 -type f -name '*.repo' -print 2>/dev/null

По niceos-repos.spec подготовлены репозитории base, updates, extras, kernel, iso, proxmox, но включённость и доступность нужно подтвердить по реальным файлам .repo, а не по наличию имён в SPEC.

Для просмотра списка активных репозиториев используйте команды установленного менеджера:

# Выполните ту команду, чей менеджер реально установлен:
# tdnf repolist
# dnf repolist

Подготовка к установке пакета

  1. Проверьте название и происхождение RPM.
  2. Определите подключённый репозиторий и контроль GPG-подписей.
  3. Уточните зависимости и влияние установки на службы.
  4. Для обновления ядра проверьте /boot, initramfs и механизм загрузки.
  5. Сохраните конфигурацию и сделайте резервную копию данных.
  6. Устанавливайте пакет штатным менеджером согласно политике конкретной редакции.

Не отключайте проверку GPG ради обхода ошибки и не используйте неизвестные сторонние RPM-репозитории для базовых системных библиотек.

Проверка целостности RPM

sudo rpm -Va

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

Особенность atomic/OSTree

Сайт НАЙС.ОС описывает отдельную редакцию контейнерного хоста с обновлением через rpm-ostree. Не переносите команды RPM/TDNF в такой режим без проверки профиля. Для CLOUD ориентируйтесь на фактически установленный профиль; в переданном наборе SPEC наличие rpm-ostree ещё не подтверждено.

См. обновления, ядро и initramfs, средства Bash.