Ответы:
Чтобы увидеть, какие конкретные версии доступны для вас через yum
вы можете использовать --showduplicates
переключатель. Это дает вам список типа «имя пакета. Версия архитектуры»:
$ yum --showduplicates list httpd | expand
Loaded plugins: fastestmirror, langpacks, refresh-packagekit
Loading mirror speeds from cached hostfile
* fedora: 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
тоже можете проконсультироваться .
$ 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
Обратите внимание, что он выполняет проверку зависимостей, а затем загружает недостающие фрагменты. Смотрите мой ответ, который охватывает его более подробно здесь: Как загрузить файл из репозитория и установить его позже без подключения к интернету? ,
python-libs-2.7.5-12.fc20.x86_64
был когда-то установлен на моем компьютере, но с тех пор был заменен. Если предположить, что сейчас я хочу установить этот конкретный пакет, yumdownloader python-libs-2.7.5-12*
скажу No Match for argument python-libs-2.7.5-12* Nothing to download
. Я пытаюсь сказать, что как только новый пакет прибудет, старый больше не будет доступен из yum. Вы можете установить только последний пакет или исходную версию, но не промежуточные версии.
yum downgrade ...
если пакет уже установлен, и вы пытаетесь вернуться к нему позже. В своем QI я пытался показать, как можно вручную выбрать конкретную версию пакета, который еще не был установлен. docs.fedoraproject.org/en-US/Fedora/14/html/...
Другой вариант, вы можете скачать rpm
файл, а затем поручить yum
сделать localinstall
:
yum localinstall /path/to/package.rpm
Хорошее место для получения нужных вам пакетов - rpmfind.com и поиск по названию пакета.
yum --downloadonly <package>
, а затем yum localinstall <path to package>
тоже. Вы также можете использовать утилиту yumdownloader <package>
.
Вы также можете использовать команду option:
yum install --nogpgcheck pckg-name-version
@updates
и начальной версией операционной системы@fedora
. Например, если вы попытаетесь установитьhttpd-2.4.8-1
,yum
будет сказано , что пакет недоступен.