#Что означает ошибка
Problem: package conflicts with ... provided by ...
При обновлении Tumbleweed командой zypper dup возникают конфликты зависимостей: «Problem: ... conflicts with ...», «nothing provides ...». Причины: рассинхрон зеркал, сторонние репозитории с устаревшими пакетами, заблокированные (locked) пакеты, смешанные версии при прерванном обновлении.
В Tumbleweed допустим только zypper dup, а не zypper up.
Разбирайте предложенные решения внимательно.
Tumbleweed обновляется командой zypper dup. Конфликты возникают из-за сторонних репозиториев с другими версиями библиотек; отключите лишние или назначьте приоритеты.
#Причины и решения
| Возможная причина | Как узнать | Что делать |
|---|---|---|
| Сторонние репозитории | Другие версии. | Отключите. |
| Приоритеты | Равны. | Задайте. |
| Снятые пакеты | Удалены. | Удалите вручную. |
| Старое зеркало | Несинхронно. | Смените. |
#Пошаговое решение
- Обновите метаданныеВ Fedora, AlmaLinux или Rocky Linux откройте «Терминал» и выполните
sudo dnf clean metadata, затемsudo dnf makecache --refresh. Первая команда очищает только локальные метаданные DNF, вторая загружает их вновь. Если появляется ошибка репозитория, перепишите его имя и адрес; не выключайте проверку GPG-подписей. - Проверьте репозитории и приоритетыСначала запишите адрес и имя репозитория из сообщения об ошибке. В Debian/Ubuntu проверьте
/etc/apt/sources.listи файлы/etc/apt/sources.list.d/, в Fedora —/etc/yum.repos.d/, в Arch/Manjaro —/etc/pacman.d/mirrorlist. Сверьте адрес с официальной документацией именно вашей версии Linux, сохраните копию файла конфигурации и меняйте только неисправную запись. Затем обновите метаданные соответствующим менеджером пакетов. - Снимите блокировки пакетовВ терминале выполните
sudo zypper locks, чтобы увидеть зафиксированные пакеты. Если проблемный пакет присутствует в списке, выясните, почему была создана блокировка. Для удаления конкретного замка используйтеsudo zypper removelock НОМЕР, где номер берётся из списка; не снимайте все блокировки без понимания последствий. После изменения выполнитеsudo zypper dup --dry-runи внимательно проверьте предлагаемые удаления. - Выберите вариант решения конфликтаВо время
sudo zypper dupпрочитайте название конфликтующих пакетов и каждый предложенный вариант разрешения. Не выбирайте первый вариант автоматически: он может удалить рабочее окружение или сменить поставщика пакета. Если предлагается удалить ядро, графический рабочий стол или важный репозиторий, отмените операцию и сначала приведите репозитории к согласованным версиям. Выполнитеsudo zypper dup --dry-runдля просмотра плана без изменений; при сомнении сохраните текст ошибки и обратитесь к документации openSUSE. - При сбое откатитесь на снимокОткат к снимку возможен только если система использует настроенные Btrfs/Snapper и нужная точка восстановления действительно есть. Перед изменениями проверьте
sudo snapper list. Если после обновления система перестала загружаться, на GRUB некоторых установок openSUSE есть пункт загрузки снимка «Start bootloader from a read-only snapshot»; выберите подходящий снимок и следуйте официальной процедуреsnapper rollback. Не запускайте откат вслепую на ext4 и не удаляйте текущие данные без отдельной резервной копии. - Список с приоритетами и обновление дистрибутиваLinux · Терминал (Bash)КомандаНужен sudoСписок с приоритетами и обновление дистрибутива.
sudo zypper lr -Psudo zypper dup
#Подготовка
Обновите метаданные: sudo zypper ref -f. Проверьте репозитории: zypper lr -d — должны быть основные OSS/Non-OSS/Update и ограниченное число сторонних. Выполните sudo zypper dup --allow-vendor-change при вопросе о смене поставщика. Проверьте блокировки: zypper ll и снимите: sudo zypper rl имя. Убедитесь, что приоритеты репозиториев выставлены правильно: zypper lr -P.
#Разбор конфликтов
Zypper предлагает варианты (1, 2, 3): читайте каждый. Обычно безопасный вариант — удалить конфликтующий сторонний пакет. Попробуйте снова через час, если зеркало неполное: sudo zypper ref && sudo zypper dup. Подробности: sudo zypper dup --details. Проверьте пакеты без репозитория: zypper packages --orphaned; уберите ненужные. Проблемный пакет можно временно удалить, обновить систему и поставить заново: sudo zypper rm имя.
#Если сломалось
Откатитесь на снимок Btrfs: при загрузке GRUB → «Start bootloader from a read-only snapshot» → выберите последний рабочий → sudo snapper rollback. Принудительная переустановка: sudo zypper in -f пакет. Сменить зеркало: sudo zypper mr -d repo-oss и добавить https://download.opensuse.org/tumbleweed/repo/oss/. Читайте объявления на и .
sudo zypper ref -fzypper lr -dzypper llsudo zypper dup --details