Как установить определенную версию пакета в CentOS и Ubuntu
Обычно, когда вы устанавливаете пакет в CentOS и Ubuntu, программа управления пакетами по умолчанию выбирает последнюю версию пакета из репозитория. Однако иногда по той или иной причине вам может потребоваться установить определенную версию пакета в вашей системе Linux.
В этой статье мы объясним, как установить определенную или конкретную версию пакета в CentOS и Ubuntu с помощью интерфейсных менеджеров пакетов Yum и APT соответственно.
Установите конкретную версию пакета в CentOS/RHEL/Fedora
Во-первых, вам необходимо проверить все доступные версии пакета, независимо от того, установлены они или нет. Обычно yum игнорирует определенные версии пакета и всегда пытается установить последнюю доступную версию.
Во-вторых, когда вы пытаетесь найти информацию о пакете, yum показывает только последнюю версию этого пакета в выводе подкоманд info, list или search; но с помощью переключателя --showduplications
вы можете отобразить все версии пакета, присутствующие в репозитории.
yum --showduplicates list nginx
Судя по приведенным выше выводам команды, формат именования пакетов следующий:
package_name.architecture version_number–build_number repository
build_number представляет собой незначительные изменения, внесенные сопровождающим пакета, а не автором программы, например дополнительная документация, изменения в файлах конфигурации, исправления ошибок и т. д.
Определив конкретную версию пакета (например, nginx-1.10.3-1.el7.ngx), установите его следующим образом. Обратите внимание, что здесь необходимо изменить формат имени на полный желаемый RPM, имя_пакета-номер_версии, как показано в следующей команде.
yum install nginx-1.10.3
Альтернативно, если вы хотите использовать версию с определенными обновлениями, укажите номер_сборки (имя_пакета-номер_версии-номер_сборки), как показано.
yum install nginx-1.10.3-1.el7.ngx
Учитывая вышеописанную ситуацию, в системе уже установлена более новая версия пакетов. Поэтому вам необходимо удалить установленную версию пакета, если вы хотите установить более старую версию из доступных пакетов, как показано.
yum remove nginx
После удаления установленного пакета вы можете установить нужную версию, как описано выше.
Установите определенную версию пакета в Ubuntu и Debian
Сначала проверьте версию пакета, установленного в вашей системе, а также все доступные пакеты в репозитории, используя приведенную ниже команду apt-cache.
apt-cache policy firefox
Чтобы установить определенную версию пакета, используйте следующую команду с приведенным ниже синтаксисом.
sudo apt install firefox=45.0.2+build1-0ubuntu1
Если в вашей системе Ubuntu уже установлена более новая версия пакета, вы можете удалить ее, а затем установить нужную версию.
sudo apt remove firefox
sudo apt install firefox=45.0.2+build1-0ubuntu1
Вот и все! Для получения дополнительной информации обратитесь к справочным страницам yum, apt, apt-cache. Если у вас есть какие-либо вопросы, используйте форму комментариев ниже, чтобы связаться с нами.