网站搜索

如何在 CentOS 和 Ubuntu 中安装特定的软件包版本


通常,当您在 CentOSUbuntu 中安装软件包时,软件包管理软件默认会从存储库中选择最新的软件包版本。但是,有时,出于某种原因,您可能希望在 Linux 系统上安装特定的软件包版本。

在本文中,我们将解释如何分别使用 Yum 和 APT 前端包管理器在 CentOS 和 Ubuntu 中安装特定或特定的包版本。

在 CentOS/RHEL/Fedora 中安装特定的软件包版本

首先,您需要检查软件包的所有可用版本,无论是否安装。通常,yum 会忽略软件包的特定版本,并始终尝试安装可用的最新版本。

其次,当您尝试查找有关某个软件包的信息时,yum 仅在 info、list 或 search 子命令的输出中显示该软件包的最新版本;但使用 --showduplicates 开关,您可以显示存储库中存在的所有包版本。

yum --showduplicates list nginx

从上面的命令输出中,包的命名格式为:

package_name.architecture  version_number–build_number  repository

build_number 代表软件包维护者(而不是程序作者)所做的微小更改,例如附加文档、对配置文件的更改或错误修复等。

一旦确定了软件包的特定版本(例如nginx-1.10.3-1.el7.ngx),请按如下方式安装它。请注意,名称格式必须在此处更改为所需的完整 RPM,package_name-version_number,如以下命令所示。

yum install nginx-1.10.3

或者,如果您想使用具有某些更新的版本,请指定 build_number (package_name-version_number-build_number),如图所示。

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

就这样!有关更多信息,请参阅 yumaptapt-cache 手册页。如果您有任何疑问,请使用下面的评论表与我们联系。