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

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

作为Linux用户,我们经常需要在系统上使用不同版本的软件包。有时,我们需要使用仅在较新版本的软件包中才提供的特定功能,或者系统上的其他软件与特定版本的软件包存在兼容性问题。这就是安装特定软件包版本的能力变得非常有用的地方。

在本文中,我们将介绍在CentOS和Ubuntu中安装特定版本的软件包的各种方法。我们将探讨使用软件包管理器、RPM或DEB软件包文件以及从源代码编译的方法。需要注意的是,本文中使用的命令假定您在系统上具有root或sudo权限。让我们开始阅读本文,并确保将其完全理解。

方法1:使用Yum或Apt-Get软件包管理器

有时作为Linux用户,我们需要在系统上安装特定版本的软件包,可能是因为我们想使用一个新功能,或者因为软件包的新版本在系统上与其他软件存在不适用的问题。最简单的方法是使用内置的软件包管理器,即CentOS中的Yum(Yellowdog Updater Modified)和Ubuntu中的Apt-Get。这些软件包管理器允许您安装您想要的特定版本的软件包。

步骤1 − 列出所有可用版本

在使用Yum方法或命令安装特定版本的软件包之前,您必须检查当前机器上可用的该软件包的所有版本。为此,您可以在终端或提示符中使用以下命令:

yum --showduplicates list [package-name]

假设您想安装 Apache 网页服务器的版本 1.2.3,您需要运行:

yum --showduplicates list httpd

上面的命令将显示指定软件包的所有可用版本的列表,包括它们对应的仓库源和安装状态。例如,请参见下面的输出结果。

httpd.x86_64           2.2.15-69.el6.centos.2       updates
httpd.x86_64           2.2.15-69.el6.centos.3       updates
httpd.x86_64           2.2.15-69.el6.centos.4       updates
httpd.x86_64           3.0.3-1.el6                  epel

步骤2 − 安装所需版本

一旦我们确定要安装的版本,我们可以使用以下命令来安装它−

yum install [package-name]-[version]

例如,要安装Apache Web服务器的版本3.0.3,我们将运行以下命令 –

yum install httpd-3.0.3-1.el6

输出可能看起来像这样 –

Loaded plugins: fastestmirror
Setting up Install Process
Loading mirror speeds from cached hostfile
   * base: mirror.its.sfu.ca
   * extras: mirror.its.sfu.ca
   * updates: mirror.its.sfu.ca
Resolving Dependencies
--> Running transaction check
---> Package httpd.x86_64 0:3.0.3-1.el6 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
===========================================================================================================================================================
 Package                        Arch                                 Version                                      Repository                           Size
===========================================================================================================================================================
Installing:
 httpd                          x86_64                               3.0.3-1.el6                                  epel                                2.7 M
Transaction Summary
===========================================================================================================================================================
Install       1 Package(s)
Total download size: 2.7 M
Installed size: 6.3 M
Is this ok [y/N]: y
Downloading Packages:
httpd-3.0.3-1.el6.x86_64.rpm                                                                                                        | 2.7 MB     00:00
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
   Installing : httpd-3.0.3-1.el6.x86_64                                                                                                                1/1
   Verifying  : httpd-3.0.3-1.el6.x86_64                                                                                                                1/1
Installed:
   httpd.x86_64 0:3.0.3-1.el6

Complete!

在上面的输出中,您会看到,软件包管理器解析保证并下载包的指定版本。然后,它安装软件包并验证其成功安装。

使用 Apt-Get 包管理器

当我们需要在 Ubuntu 系统上安装特定版本的软件包时,可以使用 apt-get 包管理器方法。Apt-Get 是一个命令行包管理工具,专门为基于 Debian 的 Linux 系统(如 Ubuntu)设计。要使用 Apt-Get 命令安装特定的软件包版本,我们按照以下步骤进行操作:

第一步 − 列出所有可用版本

要使用 Apt-Get 安装特定版本的软件包,第一步是使用以下命令列出该软件包的所有可用版本 −

apt-cache showpkg [package-name]

例如,假设我们想要安装Python编程语言的2.7.18版本。我们可以输入以下命令-

apt-cache showpkg python

输出结果将类似于以下内容-

Package: python
Versions: 2.7.18-1ubuntu1.6 (/var/lib/apt/lists/us.archive.ubuntu.com_ubuntu_dists_bionic-updates_main_binary-amd64_Packages) (/var/lib/dpkg/status)
   Description Language:
File:/var/lib/apt/lists/us.archive.ubuntu.com_ubuntu_dists_bionic-updates_main_binary-amd64_Packages MD5: fbafe6f0b

方法2:使用RPM或DEB包文件

此方法涉及下载和安装RPM或DEB包文件。RPM是CentOS中使用的软件包管理器,而Ubuntu使用DEB。

首先,让我们谈谈RPM包文件。要安装RPM包文件,您需要从可信任的来源下载文件。下载完毕后,您可以使用以下命令安装它。 −

rpm -ivh [package-file-name].rpm

下面是一个例子。假设我们想在我的CentOS系统上安装GIMP图像编辑软件的3.6.1版本,但默认仓库中没有这个版本。我们找到了一个名为gimp-3.6.1.rpm的RPM软件包文件,并下载到您的Downloads目录,然后运行以下命令来安装该软件包:

sudo rpm -ivh gimp-3.6.1.rpm

在这里使用sudo命令是因为我们需要root权限在系统范围内安装软件包。-ivh选项告诉rpm命令以详细模式安装软件包,显示安装过程的详细信息,并在安装过程中显示进度条。

如果安装成功,终端输出将类似于这样-

Preparing...   ################################# [100%]
Updating / installing...
 1:gimp-3.6.1-1 ################################# [100%]

转向DEB软件包文件,这些被用于Ubuntu系统。和RPM软件包相似,你必须首先从可靠的来源下载软件包文件。在你获得DEB软件包文件之后,你可以使用以下命令进行安装 −

sudo dpkg -i vlc_2.4.3.deb

在这里使用sudo命令是因为我们需要root权限来系统范围安装软件包。-i选项告诉dpkg命令安装该软件包。

如果安装成功,终端输出将类似于:

Selecting previously unselected package vlc.
(Reading database ... 234362 files and directories currently installed.)
Preparing to unpack vlc_2.4.3.deb ...
Unpacking vlc (2.4.3) ...
Setting up vlc (2.4.3) ...
Processing triggers for desktop-file-utils (0.24-1ubuntu3) ...
Processing triggers for mime-support (3.59ubuntu1) ...
Processing triggers for gnome-menus (3.36.0-1ubuntu1) ...

如果你需要一个特定版本的软件包,但在你系统的库中找不到的话,方法2 – 使用RPM或DEB软件包文件 – 是一个不错的选择。然而,重要的是要从可信的来源下载软件包,以避免安装来自未知来源的软件包可能带来的潜在安全风险。

结论

总之,在CentOS和Ubuntu中安装特定版本的软件包有几种方法,每种方法都有其优点和缺点。方法1是使用软件包管理器并指定版本号,这是最简单和最直接的方法,但它依赖于软件包在库中的可用性。方法2是下载和安装RPM或DEB软件包文件,这是一个不错的选择,如果软件包在库中不可用,但需要从可信的来源下载软件包。

总的来说,了解这些不同的方法并选择最适合你需求和技能水平的方法是很重要的。通过按照本文概述的步骤,无论你选择哪种方法,你都应该能够在CentOS和Ubuntu中成功安装特定版本的软件包。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程