Yum error - пакет является дубликатом с
Когда я пытаюсь запустить yum update
в поле CentOS 6.3, я получаю ошибки и говорю, чтобы запустить yum check
. Выходной сигнал yum check
:
➜ ~ yum check
Loaded plugins: fastestmirror
glibc-2.12-1.107.el6_4.5.x86_64 is a duplicate with glibc-2.12-1.107.el6_4.4.x86_64
glibc-common-2.12-1.107.el6_4.5.x86_64 is a duplicate with glibc-common-2.12-1.107.el6_4.4.x86_64
glibc-devel-2.12-1.107.el6_4.5.x86_64 is a duplicate with glibc-devel-2.12-1.107.el6_4.4.x86_64
glibc-devel-2.12-1.107.el6_4.5.x86_64 has missing requires of glibc-headers = ('0', '2.12', '1.107.el6_4.5')
iputils-20071127-17.el6_4.2.x86_64 is a duplicate with iputils-20071127-17.el6_4.x86_64
nspr-4.9.5-2.el6_4.x86_64 is a duplicate with nspr-4.9.2-1.el6.x86_64
nss-3.14.3-4.el6_4.x86_64 is a duplicate with nss-3.14.0.0-12.el6.x86_64
nss-softokn-3.14.3-3.el6_4.x86_64 is a duplicate with nss-softokn-3.12.9-11.el6.x86_64
nss-util-3.14.3-3.el6_4.x86_64 is a duplicate with nss-util-3.14.0.0-2.el6.x86_64
tzdata-2013g-1.el6.noarch is a duplicate with tzdata-2013c-2.el6.noarch
2:xinetd-2.3.14-39.el6_4.x86_64 is a duplicate with 2:xinetd-2.3.14-38.el6.x86_64
Error: check all
Любая идея, как исправить эти пакеты? Я пробовал yum reinstall xinetd tzdata nss-util nss-softokn nss nspr iputils glibc glibc-common glibc-devel
, но получил:
Ошибка: найдены проблемы с версией Multilib. Это часто означает, что корень причина - это что-то другое, и проверка версий multilib - это просто указывая, что есть проблема.
Ответы
Ответ 1
Для меня похоже, что вы перезагрузили свой компьютер (или он разбился), когда вы в процессе обновления пакетов. Итак, новые пакеты, где установлены, но старые пакеты, которые не удаляются.
Сначала посмотрите, есть ли у вас незавершенные транзакции: yum-complete-transaction
Если это не поможет, посмотрите на инструмент очистки пакета, который является частью пакета yum-utils.
очистка пакетов --dupes отображает дубликаты пакетов
очистка пакетов --cleandupes удаляет дубликаты пакетов
Но будьте осторожны с командой и создайте резервную копию перед удалением дубликатов.
Ответ 2
Так я исправил один сервер CentOS 7 с 471 дуплом.
Сначала я должен был установить утилиты yum:
yum install yum-utils
Попробовав yum-complete-транзакцию и другие вещи без везения, я отказался от транзакции с:
yum-complete-transaction --cleanup-only
Затем я получил отсортированный список дублированных пакетов, чтобы я мог определить более старые версии, чтобы позже удалить фильтрующие четные и нечетные строки:
package-cleanup --dupes | sort -u > dupes.out
Затем я получил список удаления из этого отсортированного файла следующим образом:
cat dupes.out | grep -v 'Loaded plugins:' | sort -u | awk 'NR % 2 == 1' > uninstall.in
Затем я удалил из базы данных rpm старые версии:
for f in 'cat uninstall.in'; do rpm -e --nodeps -f --justdb $f; done
Наконец я смог продолжить обычное обновление системы:
yum upgrade
На некоторые вещи стоит обратить внимание:
- В этом случае я внимательно изучил вывод "package-cleanup --dupes", чтобы убедиться, как создать список удаления.
- Я попытался "переустановить более новый" подход, инвертируя список (awk 'NR% 2 == 0'), но там, где больше пакетов не было доступно в этой версии (сервер был оставлен таким образом в течение года).
- Я думал об удалении из rpmdb более новых пакетов, поэтому после обновления следует переустановить все, но после проверки файлов, установленных в файловой системе, мне стало ясно, что новые версии были на месте, а в rpmdb остались только старые записи rpm. Может быть, ваш случай отличается.
Ответ 3
Мне удалось удалить все дубликаты с помощью yum shell
:
- Я сначала приказал удалить все пакеты с помощью
remove foo-package-*
- Затем закажите его для установки предыдущей версии, указав точную версию
install foo-package-3.14.1-5.i386 foo-package-3.14.1-5.x86_64
- Объявление транзакции
run
После этого дубликаты исчезли, и я смог без проблем обновить систему до текущих пакетов и не вводить никаких новых дубликатов.
Это работает даже для системных пакетов, таких как nss
или yum
.
Ответ 4
Попробуйте запустить:
yum reinstall package-newest-version
Ответ 5
Пару месяцев назад я тоже столкнулся с этой проблемой после обновления своей Fedora.
Я также попробовал утилиту package-cleanup
, и она начала удалять необходимые библиотеки, делая мою рабочую станцию неработоспособной. К счастью, я мог переустановить Fedora, не удаляя мой домашний раздел.
Вчера возникла та же проблема, и я исправил ее, удалив старую версию дубликата.
Например:
Я получил эти дубликаты:
oxygen-icon-theme-4.8.3-1.fc16.noarch
является дубликатом с oxygen-icon-theme-4.8.2-1.fc16.noarch
sane-backends-libs-1.0.22-10.fc16.i686
является дубликатом с sane-backends-libs-1.0.22-8.fc16.i686
Я использовал yum remove sane-backends-libs-1.0.22-8.fc16.i686
, а затем yum update
.
Теперь все работает нормально.
из http://forums.fedoraforum.org/showthread.php?t=268328
Ответ 6
Например: я получил эти дубликаты: oxygen-icon-theme-4.8.3-1.fc16.noarch является> дубликатом с oxygen-icon-theme-4.8.2-1.fc16.noarch sane-backends-libs-1.0. 22-> 10.fc16.i686 является дубликатом с sane-backends-libs-1.0. 22- 8.fc16.i686
Я использовал 'yum remove sane-backends-libs-1.0. 22- 8.fc16.i686', а затем обновил yum.
Все работает нормально.
у меня тоже работает, спасибо micfan
Ответ 7
Сначала установите утилиты yum, а затем запустите очистку для удаления старых дублированных пакетов.
yum install yum-utils &&
package-cleanup –-cleandupes -y
подсказка:
иногда вам нужно запустить package-cleanup –-cleandupes
несколько раз