如何在CentOS上安装RPM

时间:2020-03-05 15:24:39  来源:igfitidea点击:

通常,用户使用yum命令行实用程序安装包。

官方CentOS存储库包含数千个RPM包,但在某些情况下,我们可能会遇到不在任何存储库中的RPM文件。

一些软件作者只提供用于安装的可下载的RPM文件,这就是为什么RPM文件被设计为独立下载和安装,在软件存储库之外。

在本教程中,我们将学习如何将.rpm文件安装到Linux CentOS分发。

什么是rpm包管理器

Red Hat Packager Manager是一个免费和开源的包管理系统,用于在Red Hat及其衍生品中安装,卸载和管理软件包,例如CentOS和Fedora。

准备工作

在我们开始之前,我们需要确保我们有Sudo权限,并且我们已安装在系统上的一些RPM,DNF和Yum Package Managers(默认包含)。

此外,请确保为系统架构和CentOS版本构建要安装的RPM包。

出于本教程的目的,我们将在CentOS 8上下载和安装Slack RPM包。

下载rpm安装包

通常,Web浏览器用于定位和下载.rpm文件,但也可以使用WGET或者CURL命令等命令行工具。

例如,我们将使用WGET命令将Slack Package(RPM)下载到当前目录(我下载到/TMP),如下所示:

$wget https://downloads.slack-edge.com/linux_releases/slack-4.3.2-0.1.fc21.x86_64.rpm
--2017-02-15 23:11:20--  https://downloads.slack-edge.com/linux_releases/slack-4.3.2-0.1.fc21.x86_64.rpm
Resolving downloads.slack-edge.com (downloads.slack-edge.com)... 99.86.243.67, 99.86.243.88, 99.86.243.60, ...
Connecting to downloads.slack-edge.com (downloads.slack-edge.com)|99.86.243.67|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 60768380 (58M) [application/octet-stream]
Saving to: ‘slack-4.3.2-0.1.fc21.x86_64.rpm’
slack-4.3.2-0.1.fc21.x86_6 100%[========================================>]  57.95M   584KB/s    in 2m 19s  
2017-02-15 23:13:40 (427 KB/s) - ‘slack-4.3.2-0.1.fc21.x86_64.rpm’ saved [60768380/60768380]

要验证我们可以使用ls命令列出'/tmp'目录下的rpm文件:

$ls /tmp/
slack-4.3.2-0.1.fc21.x86_64.rpm

使用rpm命令安装rpm文件

我们可以使用两种方法安装RPM包。
首先使用rpm命令,另一个是使用yum包管理器。

在以下命令中,我们使用-i选项来安装下载RPM包:

$sudo rpm -i /tmp/slack-4.3.2-0.1.fc21.x86_64.rpm 
warning: ./slack-4.3.2-0.1.fc21.x86_64.rpm: Header V4 RSA/SHA1 Signature, key ID 8e6c9578: NOKEY
error: Failed dependencies:
	libXScrnSaver is needed by slack-4.3.2-0.1.fc21.x86_64
	libappindicator-gtk3 is needed by slack-4.3.2-0.1.fc21.x86_64

从上面的输出中,我们可以看到安装失败,因为缺少依赖依赖性包。
所以我们必须检查RPM依赖包并手动安装它们。

检查RPM依赖项

要检查包依赖项,我们有两个RPM选项。
我们可以使用"-QPR"来查询RPM文件和"-QR"包名称查询。

rpm -qpR .rpm-file
rpm -qR package-name

例如,让我们来查询.rpm(我们使用之前下载的slack rpm)文件来查找其所有必需的依赖项包:

$sudo rpm -qpR /tmp/slack-4.3.2-0.1.fc21.x86_64.rpm
warning: slack-4.3.2-0.1.fc21.x86_64.rpm: Header V4 RSA/SHA1 Signature, key ID 8e6c9578: NOKEY
libXScrnSaver
libappindicator-gtk3
libsecret-1.so.0()(64bit)
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(PayloadIsXz) <= 5.2-1

使用yum安装rpm包

现在是一个名为"yum"的方便工具,我们不必担心依赖关系。
此yum包管理器可以拉动所有必需的依赖项并为我们设置它们。

我们现在将使用Yum Packager Manager使用以下命令安装我们下载的软件包:

$sudo yum localinstall /tmp/slack-4.3.2-0.1.fc21.x86_64.rpm 
CentOS-8 - AppStream                                  6.4 kB/s | 4.3 kB     00:00    
CentOS-8 - Base                                       5.2 kB/s | 3.8 kB     00:00    
CentOS-8 - Extras                                     2.7 kB/s | 1.5 kB     00:00      
Extra Packages for Enterprise Linux Modular 8 - x86_6  26 kB/s |  27 kB     00:01    
Extra Packages for Enterprise Linux 8 - x86_64         20 kB/s |  29 kB     00:01    
Dependencies resolved.
======================================================================================
 Package        Architecture    Version                   Repository             Size
======================================================================================
Installing:
 slack          x86_64          4.3.2-0.1.fc21            @commandline           58 M
Transaction Summary
======================================================================================
Install  1 Package
Total size: 58 M
Installed size: 185 M
Is this ok [y/N]:

键入`y后,它将安装所有依赖项和我们的包:

Downloading Packages:
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                              1/1 
  Installing       : slack-4.3.2-0.1.fc21.x86_64                                  1/1 
  Running scriptlet: slack-4.3.2-0.1.fc21.x86_64                                  1/1 
  Verifying        : slack-4.3.2-0.1.fc21.x86_64                                  1/1 
Installed:
  slack-4.3.2-0.1.fc21.x86_64                                                         
Complete!

删除rpm包

要删除RPM软件包,请指示RPM用"-e""选项删除软件。

在以下示例中,我们将卸载(删除)slack包:

$sudo rpm -e slack-4.3.2-0.1.fc21.x86_64