Как я могу проинструктировать yum для установки конкретной версии пакета X?

Если в репозитории YUM есть две (или более) версии данного RPM, как я могу проинструктировать yum для установки версии, которую я хочу?

Просматривая сервис сборки Koji, я замечаю, что существует несколько версий.

ss # 1

Чтобы узнать, какие конкретные версии доступны вам через yum вы можете использовать переключатель --showduplicates .

 $ yum --showduplicates list httpd | expand Loaded plugins: fastestmirror, langpacks, refresh-packagekit Loading mirror speeds from cached hostfile * fedora: mirror.steadfast.net * rpmfusion-free: csc.mcs.sdsmt.edu * rpmfusion-free-updates: csc.mcs.sdsmt.edu * rpmfusion-nonfree: csc.mcs.sdsmt.edu * rpmfusion-nonfree-updates: csc.mcs.sdsmt.edu * updates: mirror.steadfast.net Available Packages httpd.x86_64 2.4.6-6.fc20 fedora httpd.x86_64 2.4.10-1.fc20 updates 

Что касается установки конкретной версии? Вы можете добавить информацию о версии к названию пакета следующим образом:

 $ sudo yum install <package name>-<version info> 

Например, в этом случае, если я захочу установить более старую версию, 2.4.6-6, я бы сделал следующее:

 $ sudo yum install httpd-2.4.6-6 

Вы также можете включить информацию о выпуске при указании пакета. В этом случае, поскольку я имею дело с Fedora 20 (F20), информация о выпуске будет «fc20», а также информация об архитектуре.

 $ sudo yum install httpd-2.4.6-6.fc20 $ sudo yum install httpd-2.4.6-6.fc20.x86_64 

repoquery

Если вы никогда не уверены в правильности построения аргументов, вы также можете проконсультироваться с repoquery .

 $ sudo yum install yum-utils # (to get `repoquery`) $ repoquery --show-duplicates httpd-2.4* httpd-0:2.4.6-6.fc20.x86_64 httpd-0:2.4.10-1.fc20.x86_64 

загрузка и установка

Вы также можете использовать один из следующих вариантов для загрузки определенного RPM из Интернета, а затем использовать yum для его установки.

 $ yum --downloadonly <package> -or- $ yumdownloader <package> 

И затем установите его так:

 $ sudo yum localinstall <path to rpm> 

Что делать, если я хочу загрузить все, что требует пакет X?

 $ yumdownloader --resolve <package> 

пример

 $ yumdownloader --resolve vim-X11 Loaded plugins: langpacks, presto, refresh-packagekit Adding en_US to language list --> Running transaction check ---> Package vim-X11.x86_64 2:7.3.315-1.fc14 set to be reinstalled --> Finished Dependency Resolution vim-X11-7.3.315-1.fc14.x86_64.rpm | 1.1 MB 00:01 

Обратите внимание, что он выполняет проверку зависимостей, а затем загружает недостающие фрагменты. См. Мой ответ, который более подробно описывает его здесь: как загрузить файл из репо и установить его позже без подключения к Интернету? ,

Рекомендации

  • Получить yum для установки конкретной версии пакета

Другой вариант, вы можете скачать rpm файл, затем проинструктировать yum выполнить localinstall :

 yum localinstall /path/to/package.rpm 

Вы также можете использовать команду option:

 yum install --nogpgcheck pckg-name-version