Arch Linux: pacman — conflicting files

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

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

Ошибка pacman «conflicting files» означает, что файл пакета уже существует на диске и не принадлежит ни одному пакету. Проверьте владельца командой pacman -Qo, переименуйте или удалите чужой файл, а если конфликт вызван вашими же файлами, используйте --overwrite только для точного пути.

В этой статье
  1. Что означает ошибка
  2. Порядок действий
  3. Типичные ситуации
conflicting files
error: failed to commit transaction (conflicting files) / package: /usr/lib/file exists in filesystem
По-русскиВ файловой системе уже есть файл, который хочет установить пакет.

#Что означает ошибка

Pacman перед установкой проверяет, не перезапишет ли пакет файлы, которых он не знает. Сообщение вида package: /путь/файл exists in filesystem говорит, что такой файл уже есть, но не числится ни за одним установленным пакетом. Причины: файл остался после ручной установки (make install, скрипты), пакет удалён с ошибками, файл создан приложением, либо два пакета претендуют на один путь. Если же в сообщении названы два пакета, это конфликт между ними, и решать надо иначе — удалением одного из них.

Возможная причинаКак узнатьЧто делать
Файл от ручной установкиСтавили из исходников в /usr.pacman -Qo не находит владельца.Удалите или переименуйте и ставьте пакет.
Каталог .pacnew и остаткиПрерванное обновление.Файл остался от прошлой установки.Сделайте копию и удалите.
Конфликт двух пакетовОба поставляют один файл.Сообщение называет два пакета.Удалите один (sudo pacman -R) или найдите замену.
Недокачанное обновлениеПрервано питание или сеть.Блокировка db.lck.Убедитесь, что pacman не запущен, затем удалите /var/lib/pacman/db.lck.
Пакет из AUR перекрывает официальныйПакеты из AUR поставляют те же файлы.Конфликт при обновлении.Обновите или удалите AUR-пакет.
Вмешательство в систему ранееКопирование файлов вручную.Много конфликтов сразу.Разберите по одному; не используйте глобальную перезапись.

#Порядок действий

  1. Прочитайте сообщение полностьюВ Arch откройте «Терминал» и повторите sudo pacman -Syu, записав точный текст конфликта (пути файлов и имя пакета). Перед изменениями сохраните пользовательские данные. Не применяйте --overwrite "*": сначала проверьте, был ли конфликтующий файл установлен вручную или другим пакетом.
  2. Выясните владельца файлаПрочитайте полный путь файла в сообщении pacman. В терминале Arch Linux выполните pacman -Qo /полный/путь/к/файлу, подставив фактический путь. Если pacman показывает владельца, файл принадлежит установленному пакету — не удаляйте его вручную. Если пишет No package owns, изучите назначение файла и сравните с официальными новостями Arch о переходах пакетов. При необходимости сначала сохраните точечную копию файла.
  3. Сначала прочитайте новостиНа https://archlinux.org/news/ бывают заметки о том, как вручную разрешить конфликты при крупных обновлениях.
  4. Сохраните файл и удалите егоТолько если pacman -Qo /полный/путь подтверждает, что файл не принадлежит ни одному установленному пакету, установите его назначение. Если это ваша ручная копия, сохраните её в отдельном каталоге резервных копий (например, в домашней папке), а не стирайте. Не переименовывайте файлы библиотек в /usr/lib без понимания зависимости программ.
  5. Повторите установку или обновлениеПосле того как выяснено, какому пакету принадлежит конфликтующий файл, откройте терминал Arch и выполните sudo pacman -Syu — это полное обновление системы. Перед подтверждением прочитайте список пакетов и предупреждения о конфликтах. Если ошибка exists in filesystem повторилась, не добавляйте --overwrite "*" и не удаляйте файл наугад: сохраните его путь, выполните pacman -Qo с реальным путём в кавычках и разберите конфликт согласно новости о соответствующем пакете на archlinux.org.
  6. Если файл нужен и совпадает с пакетнымПараметр --overwrite — крайняя мера по официальной рекомендации Arch, и шаблон должен совпадать только с одним проверенным путём; после выполнения обязательно проверьте целостность пакета и работу приложения. Если нет официальной рекомендации для конкретного пакета, остановитесь и выясните источник конфликта.
  7. Команды для отдельных ситуацийВыберите только подходящий вариант. Это не одна последовательность: часть команд диагностирует проблему, а часть меняет настройки или данные.
    Выберите подходящий вариант — это не команды для последовательного выполнения
    Вариант 1Команда с несуществующим путём заменена на просмотр проверки пакетов; точечный конфликт анализируется через…
    Linux · Терминал (Bash)Команда
    Команда с несуществующим путём заменена на просмотр проверки пакетов; точечный конфликт анализируется через pacman -Qo по шагам. Дополнительно: Удалена исполняемая команда перезаписи целого каталога с примерным пакетом; только диагностика до ручной проверки.
    pacman -Qkk
    Вариант 2Полное обновление Arch после устранения конфликта, а не первая диагностическая команда.
    Linux · Терминал (Bash)Риск потери данныхНужен sudo
    Полное обновление Arch после устранения конфликта, а не первая диагностическая команда. Перед подтверждением сверьте список заменяемых и удаляемых пакетов, новости Arch и резервную копию.
    sudo pacman -Syu

    Эта команда может привести к потере данных или существенным изменениям. Проверьте параметры, резервную копию и возможность отката.

Для pacman -F сначала обновите базу файлов: sudo pacman -Fy.

#Типичные ситуации

Перед крупными обновлениями на Arch проверяйте новости, делайте копию важных конфигураций и обновляйте систему регулярно, а не раз в полгода: накопленные изменения чаще дают конфликты.

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

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

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