Fedora и dnf Fedora

Fedora: dnf — Transaction test error, file conflicts

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

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

Ошибка Transaction test error в dnf означает, что пакеты хотят записать один и тот же файл или конфликтуют друг с другом. Прочитайте, какие пакеты названы, обновите метаданные, удалите лишний пакет или выполните dnf distro-sync, а при дубликатах очистите их с помощью dnf remove --duplicates.

В этой статье
  1. Что говорит ошибка
  2. Типичные причины
  3. Что делать
Transaction test error
Error: Transaction test error: file /usr/lib/file from install of package-1.0 conflicts with file from package other-0.9
По-русскиДва пакета пытаются установить один и тот же файл.

#Что говорит ошибка

Перед установкой dnf запускает тест транзакции. Строка file ... conflicts with file from package ... значит, что новая версия пакета хочет записать файл, который принадлежит другому пакету. Это бывает при смешивании репозиториев (Fedora + RPM Fusion + Copr + сторонние), при незавершённом обновлении, при переименовании пакетов и при установке пакетов на другую версию Fedora.

#Типичные причины

Возможная причинаКак узнатьЧто делать
Сторонний репозиторий подменяет пакетыRPM Fusion, Copr, vendor.Конфликт при обновлении.Отключите лишний репозиторий (dnf config-manager --set-disabled имя) и выполните distro-sync.
Обновление между версиями прерваноНеполная установка.Дубликаты пакетов.dnf remove --duplicates, затем dnf distro-sync.
Пакет переименованСтарый и новый поставляют один файл.Оба названы в ошибке.Удалите старый.
Мультиархитектурный конфликтi686 и x86_64 версии.Различие версий.Обновите обе до одной версии.
Файл создан вручнуюКопирование в /usr.Нет владельца.Переименуйте.
Повреждена база RPMПрерывание питания.Странные ошибки при любой операции.rpm --rebuilddb.

#Что делать

  1. Прочитайте названия пакетов в ошибкеВ терминале Fedora повторите sudo dnf upgrade --assumeno и найдите строки conflicts with file from package или Transaction test error. Запишите имена конфликтующих пакетов и путь к файлу, затем проверьте их происхождение через dnf info ИМЯ_ПАКЕТА. Не вводите rpm --force и не удаляйте файл по одному названию: он может принадлежать установленному пакету.
  2. Обновите метаданныеВ Fedora, AlmaLinux или Rocky Linux откройте «Терминал» и выполните sudo dnf clean metadata, затем sudo dnf makecache --refresh. Первая команда очищает только локальные метаданные DNF, вторая загружает их вновь. Если появляется ошибка репозитория, перепишите его имя и адрес; не выключайте проверку GPG-подписей.
  3. Повторите обновлениеОткройте «Терминал» Fedora, выполните sudo dnf upgrade --refresh и прочитайте предлагаемый список установок и удалений до подтверждения. Если снова появляется Transaction check error, выпишите названия конфликтующих пакетов и их версии: повторение команды без устранения конфликта ничего не изменит. Не подтверждайте операцию, если она предлагает удалить графическую среду, ядро или нужные службы; сначала разберите источник конфликтующей версии.
  4. Синхронизируйте версииsudo dnf distro-sync может не только обновлять, но и понижать версии пакетов. Используйте его только после определения конкретного стороннего репозитория или смешанных версий и после резервной копии настроек. Сначала проверьте план командой sudo dnf distro-sync --assumeno: прочитайте строки Downgrading, Removing и Installing. Если среди затронутых есть ядро, рабочий стол или серверные приложения — не продолжайте без администратора. Безопаснее сначала исправить выбранные источники пакетов.
  5. Проверьте дубликатыДля подозрительного пакета выполните rpm -q ИМЯ_ПАКЕТА и sudo dnf repoquery --duplicates, если доступна соответствующая функция в вашей версии dnf. Сравните дубли по архитектуре, версии и репозиторию; не удаляйте пакеты ядра или библиотеки только потому, что установлено несколько версий. После проверки покажите план обновления sudo dnf upgrade --assumeno.
  6. Удалите конфликтующий пакетУдаление конфликтующего пакета допускается только после проверки его назначения и зависимостей. Сначала выполните sudo dnf remove ИМЯ_ПАКЕТА --assumeno, подставив фактическое название, и прочитайте, какие ещё пакеты будут удалены. Если там рабочий стол, серверное приложение или важные библиотеки, отмените операцию и ищите совместимую версию в нужном репозитории. На рабочей системе создайте резервную копию до удаления.
  7. Не используйте rpm --forceНе добавляйте --force, --nodeps или отключение GPG-проверки к командам RPM: принудительная установка при конфликте файлов может сделать пакеты несовместимыми. Сохраните полный вывод DNF и определите, кому принадлежит конфликтующий файл (rpm -qf для существующего файла, указав его точный путь из ошибки). Если происхождение файла неизвестно, остановитесь и обратитесь к администратору; не удаляйте его наугад.
  8. Команды для отдельных ситуацийВыберите только подходящий вариант. Это не одна последовательность: часть команд диагностирует проблему, а часть меняет настройки или данные.
    Выберите подходящий вариант — это не команды для последовательного выполнения
    Вариант 1Предварительный просмотр транзакции без установки и удаления пакетов.
    Linux · Терминал (Bash)КомандаНужен sudo
    Предварительный просмотр транзакции без установки и удаления пакетов. Если выявился конфликт, сначала разберите имена и версии пакетов, а не запускайте очистку и полное обновление подряд. Дополнительно: Исключены фиктивные файловые пути; показан предварительный просмотр изменений DNF. Дополнительно: Удаление пакета с примерным именем исключено; план удаления рассматривается отдельно после проверки конкретного пакета.
    sudo dnf upgrade --assumeno
    Вариант 2Проверка предполагаемой синхронизации репозиториев; без --assumeno команда может понизить версии, заменит…
    Linux · Терминал (Bash)КомандаНужен sudo
    Проверка предполагаемой синхронизации репозиториев; без --assumeno команда может понизить версии, заменить и удалить пакеты.
    sudo dnf distro-sync --assumeno
    Вариант 3Показывает повторяющиеся версии пакетов.
    Linux · Терминал (Bash)КомандаНужен sudo
    Показывает повторяющиеся версии пакетов. Удаление дубликатов — отдельная административная операция после резервного копирования и проверки того, что будет удалено.
    sudo dnf repoquery --duplicates
    Вариант 4Из статьи о конфликтах файлов исключено восстановление базы rpm без признаков повреждения.
    Linux · Терминал (Bash)КомандаНужен sudo
    Из статьи о конфликтах файлов исключено восстановление базы rpm без признаков повреждения.
    rpm -q rpm
    sudo dnf check

После исправления проверьте результат: sudo dnf check и dnf list --installed | wc -l не должны выдавать ошибок. Перед большими обновлениями полезно сделать снимок (Btrfs-снимок по умолчанию доступен в Fedora Workstation) или копию важных данных.

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

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

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