通常,当您在CentOS和Ubuntu中安装软件包时,默认情况下, 软件包管理软件会从存储库中选择最新的软件包版本。 但是,有时出于某种原因,您可能需要在Linux系统上安装特定的软件包版本。
在本文中,我们将分别介绍如何使用Yum和APT前端软件包管理器在CentOS和Ubuntu中安装特定或特定的软件包版本。
在CentOS / RHEL / Fedora中安装特定的软件包版本
首先,您需要检查软件包的所有可用版本,无论是否安装。 通常, yum会忽略特定版本的软件包,并会一直尝试安装最新版本。
其次,当你试图找到关于包的信息时, yum只在info,list或search子命令的输出中显示该包的最新版本; 但使用--showduplicates
开关,可以显示存储库中存在的所有软件包版本。
# yum --showduplicates list nginx
在CentOS中列出所有软件包版本
从上面的命令输出中,软件包的命名格式是:
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
在CentOS中安装特定的软件包版本
考虑到上述情况,系统上已经安装了较新版本的软件包。 因此,如果您想要从可用软件包安装旧版本,则需要删除已安装的软件包版本,如图所示。
# yum remove nginx
一旦你删除了已安装的软件包,你可以按照上面的解释安装你想要的特定版本。
在Ubuntu和Debian中安装特定的软件包版本
首先使用下面的apt-cache命令检查系统上安装的软件包的版本以及存储库中的所有可用软件包。
$ apt-cache policy firefox
在Ubuntu中检查已安装的软件包版本
要安装特定的软件包版本,请在下面的语法中使用以下命令。
$ sudo apt install firefox=45.0.2+build1-0ubuntu1
在Ubuntu中安装特定的软件包版本
如果您的Ubuntu系统上已经安装了较新版本的软件包,则可以将其删除,然后安装所需的版本。
$ sudo apt remove firefox $ sudo apt install firefox=45.0.2+build1-0ubuntu1
就这样! 有关更多信息,请参阅yum , apt , apt-cache手册页。 如果您有任何疑问,请使用下面的评论表单联系我们。