Відповіді:
Щоб побачити, які саме версії доступні для вас, 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>
.
Ви також можете скористатися командою параметра:
yum install --nogpgcheck pckg-name-version
@updates
та початковою версією для ОС, що знаходиться@fedora
. Наприклад, якщо ви намагаєтесь встановитиhttpd-2.4.8-1
,yum
сказав би, що пакет недоступний.