Назад | Перейти на главную страницу

Установите определенную версию пакета в CentOS

У меня есть два веб-сервера, производственный веб-сервер и резервный веб-сервер.

После запуска rpm -qa на двух серверах я заметил некоторые расхождения в пакетах.

Похоже, кто-то запустил yum update в какой-то момент в прошлом на рабочем сервере, но не запускал его на резервном веб-сервере.

Я хотел бы установить несколько очень специфических пакетов на резервный веб-сервер.

например : yum install bind-libs-9.8.2-0.17.rc1.el6_4.5.x86_64

Если я сбегу yum install bind-libs-9.8.2-0.17.rc1.el6_4.5.x86_64 похоже, он пытается найти самый новый подходящий пакет, а не конкретный пакет, который мне нужен.

...
---> Package bind-utils.x86_64 32:9.8.2-0.17.rc1.el6_4.4 will be updated
---> Package bind-utils.x86_64 32:9.8.2-0.17.rc1.el6_4.6 will be an update
...
======================================================================================
 Package           Arch          Version                          Repository      Size
======================================================================================
Updating for dependencies:
 bind-libs         x86_64        32:9.8.2-0.17.rc1.el6_4.6        updates        878 k
...

Есть ли способ установить только тот пакет, который мне нужен, и ничего более нового?

Я считаю, что следующее будет делать то, что вы хотите, поскольку по умолчанию yum не позволит вам установить выпуск НИЖЕ, что доступно:

yum установить yum-versionlock

а потом:

yum --allow-downgrade установить bind-libs-9.8.2-0.17.rc1.el6_4.5.x86_64

и для поддержки этой версии в случае будущих обновлений пакетов в вашей системе:

yum versionlock bind-libs

Еще одна вещь, которую вы можете сделать, что может быть немного больше, чем предыдущий ответ, но также работает, - это загрузить пакет вручную, а затем запустить

# yum localinstall /path/package.rpm

Это должно попытаться установить конкретный загруженный вами пакет.