У меня есть сервер с centos 5.3 x86_64. Я пытаюсь установить некоторые модули asterisk на этом сервере с помощью yum. Поэтому yum попросил меня обновить ядро до "kernel-2.6.18-308.11.1.el5". Затем я обновил ядро с помощью репозитория centos-plus, так как требуемое ядро не было доступно в базовом репозитории. Теперь после перезапуска я снова попытался установить те же модули с помощью yum, но он снова просит "kernel-2.6.18-308.11.1.el5". Yum говорит:
Missing Dependency: kernel-x86_64 = 2.6.18-308.11.1.el5 is needed by package
Я проверил ядро с помощью команды «uname -r», и оно показывает:
# uname -r
2.6.18-308.11.1.el5.centos.plus
Затем я увидел разницу: к имени моего установленного ядра добавлено *.centos.plus. Это может быть причиной того, что yum не распознает ядро.
Есть ли у кого решение этой проблемы? Как заставить yum увидеть установленную версию ядра?
решение1
Вы смотрите на работающее ядро с помощью uname
. Yum смотрит на базу данных пакетов RPM. Вполне возможно, что вы сделали что-то, и ядро на самом деле установлено, но его нет в базе данных. Переустановка (как вы сделали) — самый простой способ исправить это, если вы не очень хорошо разбираетесь в том, как все это работает.
Но вернемся на шаг назад: чтобы увидеть ядра, о которых знает yum, выполните:
yum list kernel
Если нужного вам ядра нет в списке установленных пакетов, то в этом и заключается проблема.
решение2
Похоже, у вас установлено 32-битное ядро (тег "x86_64" отсутствует в uname -r), а требуется 64-битное ядро.
Пример вывода для 64-битного ядра:
# uname -r
2.6.32-279.el6.x86_64