Rocky Linux Rocky Linux

Rocky Linux: при установке пакета блокируется файловая база менеджера

  • Обновлено
  • Чтение ≈ 3 минуты
  • Нужны права администратора

Краткий ответ

Пакет не устанавливается из-за занятого менеджера пакетов или базы RPM. Удаление файлов блокировки во время операции может повредить базу; сперва определите настоящего владельца блокировки.

В этой статье
  1. Когда возникает проблема и к каким системам относится
  2. Основные причины: как отличить одну от другой
  3. Пошаговая диагностика и устранение неисправности
  4. Как убедиться, что неисправность устранена
  5. Если предложенный способ не сработал

#Когда возникает проблема и к каким системам относится

Пакет не устанавливается из-за занятого менеджера пакетов или базы RPM. Удаление файлов блокировки во время операции может повредить базу; сперва определите настоящего владельца блокировки. Rocky Linux с DNF и RPM; необходимо отличить действующий процесс менеджера от повреждения файловой базы RPM.

#Основные причины: как отличить одну от другой

Возможная причинаКак узнатьЧто делать
Работает другая транзакцияdnf-automatic, dnf или rpm ещё выполняютсяps и systemctl показывают живой процессДождаться его завершения без вмешательства
Зависший процессКоманда долго не делает прогрессапроцесс без активности, журнал ошибкиСогласовать диагностику причины и окно обслуживания
Повреждение базыМенеджер пишет DB_RUNRECOVERY или sqlite errors, а не просто lockrpm -qa тоже падаетВосстанавливать по отдельной документированной процедуре из резервной копии

#Пошаговая диагностика и устранение неисправности

  1. Шаг 1. Запишите точный текст сообщения DNFОткройте терминал и убедитесь, что ошибка говорит именно о параллельной операции или блокировке. Ошибки зеркал, GPG, зависимости и отсутствие репозитория требуют совершенно другой диагностики.
  2. Терминал Rocky Linux; нужны административные права
    Linux · Терминал (Bash)КомандаНужен sudo
    Терминал Rocky Linux; нужны административные права. Диагностика или адресная проверка; выполните только при соответствии условиям шага.
    sudo dnf check-update
  1. Шаг 2. Посмотрите живые процессы менеджера пакетовps отобразит PID и время выполнения; не завершайте неизвестный rpm/dnf автоматически. На рабочем сервере дождитесь штатного завершения установки обновлений.
  2. Терминал Rocky Linux; административные права не обязательны
    Linux · Терминал (Bash)Команда
    Терминал Rocky Linux; административные права не обязательны. Диагностика или адресная проверка; выполните только при соответствии условиям шага.
    ps -eo pid,ppid,stat,etime,args | grep -E "[d]nf|[r]pm|[p]ackagekit"
  1. Шаг 3. Узнайте, нет ли фонового обновленияDNF может обслуживаться службой или таймером; на рабочих станциях пакеты использует PackageKit. Запущенный dnf-automatic объясняет занятую базу. Не выключайте фоновую установку только ради одного запуска.
  2. Терминал Rocky Linux; административные права не обязательны
    Linux · Терминал (Bash)Команда
    Терминал Rocky Linux; административные права не обязательны. Диагностика или адресная проверка; выполните только при соответствии условиям шага.
    systemctl list-timers --all | grep -Ei "dnf|package" || true
    systemctl status dnf-automatic.timer --no-pager 2>/dev/null || true
  1. Шаг 4. Проверьте историю и последние сообщенияИстория DNF помогает отличить выполнявшуюся транзакцию от ошибки после прерывания питания. Не запускайте новый dnf update параллельно живому процессу.
  2. Терминал Rocky Linux; нужны административные права
    Linux · Терминал (Bash)КомандаНужен sudo
    Терминал Rocky Linux; нужны административные права. Диагностика или адресная проверка; выполните только при соответствии условиям шага.
    sudo dnf history list | head -35
    sudo journalctl -b --no-pager | grep -Ei "dnf|rpm|packagekit" | tail -55
  1. Шаг 5. Убедитесь, что блокировка действительно освобожденаПосле завершения чужого процесса повторите безопасный запрос списка установленных RPM. Если rpm возвращает ошибки базы, не удаляйте вручную /var/lib/rpm или /usr/lib/sysimage/rpm: расположение базы зависит от выпуска.
  2. Терминал Rocky Linux; административные права не обязательны
    Linux · Терминал (Bash)Команда
    Терминал Rocky Linux; административные права не обязательны. Диагностика или адресная проверка; выполните только при соответствии условиям шага.
    rpm -qa | head -25
    rpm --eval "%{_dbpath}"
  1. Шаг 6. Не удаляйте lock-файл без выяснения состоянияНаличие lock-файла на диске само по себе не показывает, что процесс держит блокировку. Если dnf/rpm всё ещё работают, сохраните PID и системный журнал. Перезагрузку в разгар транзакции тоже не считайте безопасной мерой.
  2. Терминал Rocky Linux; административные права не обязательны
    Linux · Терминал (Bash)Команда
    Терминал Rocky Linux; административные права не обязательны. Диагностика или адресная проверка; выполните только при соответствии условиям шага.
    ps -eo pid,stat,etime,args | grep -E "[d]nf|[r]pm"
  1. Шаг 7. Повторите исходную операцию только после освобождения базыКогда все транзакции завершились без ошибок, повторите безопасную диагностику; далее запускайте установку пакета лишь при подтверждённом имени и свободной базе. При сообщении о повреждении остановитесь и подготовьте резервную копию RPM DB для администратора.
  2. Терминал Rocky Linux; нужны административные права
    Linux · Терминал (Bash)КомандаНужен sudo
    Терминал Rocky Linux; нужны административные права. Диагностика или адресная проверка; выполните только при соответствии условиям шага.
    sudo dnf makecache --refresh
    rpm -qa | head -10

#Как убедиться, что неисправность устранена

После штатного завершения чужого процесса проверка DNF и rpm -qa выполняется без сообщения о блокировке, устанавливаемый пакет успешно проверяется через rpm -q.

#Если предложенный способ не сработал

Если dnf сообщает именно об ошибке целостности rpmdb, требуется отдельное восстановление с копией базы по процедуре своей версии. Не стирайте блокировки и не делайте rpm --rebuilddb наугад.

Так эту ошибку тоже называют

Источники и обновления

Последнее обновление статьи: 2 ноября 2026. Версии программ и интерфейсы меняются — если шаги не совпадают с вашей версией, сверяйтесь с документацией производителя.