Я использую несколько сторонних репозиториев RPM. Поскольку эти репозитории содержат пакеты с конфликтующими именами, я экспериментирую с ням-плагин-приоритеты чтобы разобраться в путанице.
Когда я бегу yum check-update
, Я получаю уведомление, что «N пакетов исключено из-за защиты приоритета репозитория»:
[root@host ~]# yum check-update
Loaded plugins: changelog, downloadonly, fastestmirror, priorities, security
Loading mirror speeds from cached hostfile
3941 packages excluded due to repository priority protections
[root@host ~]#
3941 исключенный пакет? Черт возьми, это намного больше, чем я ожидал. Есть ли у меня быстрый способ проверить, какие пакеты исключаются из рассмотрения, просто чтобы я мог дважды проверить, что делает yum?
Я попытался --disableplugin=priorities
, но он не показывает мне исключенные пакеты.
[root@host ~]# yum check-update --disableplugin=priorities
Loaded plugins: changelog, downloadonly, fastestmirror, security
Loading mirror speeds from cached hostfile
[root@host ~]#
Так проще :)
Исключения можно показать с помощью yum debuglevel. Их можно увидеть с debuglevel 3 (уровни отладки от 0 до 10)
yum update -d3
дает вам список.
Я не уверен, есть ли быстрый или встроенный способ перечислить то, что он исключает, но вы можете найти то, что вам нужно, если не против немного погрузиться в код.
Плагин должен находиться в:
/usr/lib/yum-plugins/priorities.py
Функция:
config_hook(conduit)
Будет выполнен yum, когда он достигнет слота исключения пакета.
Код относительно прост, и вы можете получить больше информации, просто вставив операторы печати в нужное место. В частности, когда вы видите
conduit.delPackage(po)
Это означает, что пакет исключается. Просто вставьте
print po
в строке выше, чтобы получить строковый вывод пакета.