如何在CentOS上安装RPM
通常,用户使用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