0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

在Linux下如何安装和卸载rpm工具

阿铭linux 来源:阿铭linux 作者:阿铭linux 2022-11-06 22:07 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

在Windows系统下安装软件很简单,只要双击后缀为.exe的文件,然后根据提示连续单击“下一步”按钮即可。然而在Linux系统下安装软件就没那么容易了,因为我们不是在图形界面下。所以,你必须学会如何在Linux下安装软件。

前面我们多次提到了yum命令,它是Red Hat所特有的安装RPM程序包的工具。使用RPM工具安装某一个程序包时,有可能会因为该程序包依赖另一个程序包而无法安装;而使用yum工具时,就可以连同依赖的程序包一起安装,很方便。在Rocky里使用yum工具是免费的,但在Red Hat里,使用yum工具需要付费。在介绍yum工具之前,我们先来了解一下RPM。

10.1RPM工具

RPM是Red Hat Package Manager的缩写,由Red Hat公司开发。它是以一种数据库记录的方式将我们所需要的套件安装到Linux主机的一套管理程序。也就是说,你的Linux系统中存在着一个关于RPM的数据库,它记录了安装的包以及包与包之间的依赖关系。RPM包是预先在Linux机器上编译并打包的文件,安装非常快捷。但它也有一些缺点,比如安装环境必须与编译时的环境一致或者相当,包与包之间存在着相互依赖的情况,卸载包时需要先把依赖的包卸载。如果依赖的包是系统所必需的,就不能卸载这个包,否则系统会崩溃。

下面阿铭会到网络上下载rpm文件,请在你的浏览器里打开该网址:https://mirrors.aliyun.com/rockylinux/8/BaseOS/x86_64/os/Packages/a/,这些rpm后缀的文件就是RPM包。

每个RPM包的名称都由-和.分成了若干部分。比如在acl-2.2.53-1.el8.x86_64.rpm包中,acl为包名,2.2.53为版本信息,1.el8为发布版本号,x86_64为运行平台。常见的运行平台有i386、i586、i686和x86_64。需要注意的是,CPU目前分32位和64位,i386、i586和i686都为32位平台,x86_64则为64位平台。另外,有些RPM包并没有写具体的平台而是noarch(如adcli-doc-0.8.2-12.el8.noarch.rpm),这说明这个RPM包没有硬件平台限制。

下面介绍一下RPM工具常用的命令。

10.1.1安装RPM包

安装RPM包的命令如下:

#yuminstall–ywget//安装wget命令,wget为下载工具
#wget http://mirrors.aliyun.com/centos/8/BaseOS/x86_64/os/Packages/at-3.1.20-11.el8.x86_64.rpm
#rpm-ivhat-3.1.20-11.el8.x86_64.rpm
Verifying... #################################
[100%]
准备中...                          #################################
[100%]
正在升级/安装...
 1:at-3.1.20-11.el8                ################################# [100%]

其中各个选项的含义如下。

-i:表示安装。

-v:表示可视化。

-h:表示显示安装进度。

当然,rpm工具也支持直接通过网络安装rpm包,如下所示:

#rpm-ivhhttp://mirrors.aliyun.com/centos/8/BaseOS/x86_64/os/Packages/bc-1.07.1-5.el8.x86_64.rpm
获取http://mirrors.aliyun.com/centos/8/BaseOS/x86_64/os/Packages/bc-1.07.1-5.el8.x86_64.rpm
Verifying... #################################
[100%]
准备中...                          #################################
[100%]
正在升级/安装...
 1:bc-1.07.1-5.el8                 ################################# [100%]

另外,在安装RPM包时,常用的附带参数还包括如下几项。

--force:表示强制安装,即使覆盖属于其他包的文件也要安装。

--nodeps:表示当要安装的RPM包依赖于其他包时,即使其他包没有安装,也要安装这个包。

10.1.2升级RPM包

升级RPM包的命令为rpm -Uvh filename,其中-U选项表示升级。

10.1.3卸载RPM包

卸载RPM包的命令为rpm -e filename, 这里的filename是通过rpm的查询功能所查询到的,稍后会作介绍。下面先查找一个已经安装的包,然后使用-e选项卸载它。示例命令如下:

#rpm-qaat
at-3.1.20-11.el8.x86_64
#rpm-eat

卸载时,-e选项后面的filename和安装时是有区别的。安装时,是把一个存在的文件作为参数,而卸载时只需要包名即可。

10.1.4查询一个包是否已安装

查询一个包的命令为rpm -q RPM包名,这里的“包名”是不带平台信息和后缀名的。示例命令如下:

#rpm-qat
未安装软件包at
#rpm-ivhat-3.1.20-11.el8.x86_64.rpm
Verifying...################################# [100%]
准备中...                         ################################# [100%]
正在升级/安装...
 1:at-3.1.20-11.el8                ################################# [100%]
#rpm-qat
at-3.1.20-11.el8.x86_64

我们可以使用命令rpm -qa查询当前系统所有已安装的RPM包,限于篇幅,这里只列出前10个,如下所示:

#rpm-qa|head
libevent-2.1.8-5.el8.x86_64
geolite2-city-20180605-1.el8.noarch
rpm-plugin-selinux-4.14.2-25.el8.x86_64
centos-gpg-keys-8.1-1.1911.0.8.el8.noarch
python3-unbound-1.7.3-8.el8.x86_64
filesystem-3.8-2.el8.x86_64
python3-dateutil-2.6.1-6.el8.noarch
ncurses-base-6.1-7.20180224.el8.noarch
python3-libselinux-2.9-2.1.el8.x86_64
glibc-langpack-zh-2.28-72.el8.x86_64

10.1.5得到一个已安装的RPM包的相关信息

要得到一个已安装RPM包的相关信息,可以使用命令rpm -qi 包名,这里也不需要加平台信息和后缀名。示例命令如下:

# rpm -qi at
Name : at
Version : 3.1.20
Release : 11.el8
Architecture:
x86_64
Install
Date: 2020年02月06日星期四 03时12分20秒
Group : System Environment/Daemons
Size : 131790
License : GPLv3+ and GPLv2+ and ISC and MIT and
Public Domain
Signature : RSA/SHA256, 2019年07月01日星期一 16时40分54秒, Key ID 05b555b38483c65d
Source
RPM : at-3.1.20-11.el8.src.rpm
Build
Date : 2019年05月11日星期六 09时12分23秒
Build
Host : x86-02.mbox.centos.org
Relocations
: (not relocatable)
Packager : CentOS Buildsys 
Vendor : CentOS
URL : http://ftp.debian.org/debian/pool/main/a/at
Summary : Job spooling tools
Description
:
At
and batch read commands from standard input or from a specified
file.
At allows you to specify that a command will be run at a
particular
time. Batch will execute commands when the system load
levels
drop to a particular level. Both commands use user's shell.
You
should install the at package if you need a utility for
time-oriented
job control. Note: If it is a recurring job that will
need
to be repeated at the same time every day/week, etc. you should
use
crontab instead.

10.1.6列出一个RPM包的安装文件

列出一个RPM包的安装文件的命令为rpm -ql 包名,示例命令如下:

# rpm -ql at
/etc/at.deny
/etc/pam.d/atd
/etc/sysconfig/atd
/usr/bin/at
/usr/bin/atq
/usr/bin/atrm
/usr/bin/batch
/usr/lib/.build-id
/usr/lib/.build-id/5b
/usr/lib/.build-id/5b/62f43486550b03dd4fc8620421cdb5a191ddcf
/usr/lib/.build-id/83
/usr/lib/.build-id/83/49b3653cd2bee7e0d8c391862f7c0dd2de32c9
/usr/lib/systemd/system/atd.service
/usr/sbin/atd
/usr/sbin/atrun
/usr/share/doc/at
/usr/share/doc/at/ChangeLog
/usr/share/doc/at/README
/usr/share/doc/at/timespec
/usr/share/licenses/at
/usr/share/licenses/at/COPYING
/usr/share/licenses/at/Copyright
/usr/share/man/man1/at.1.gz
/usr/share/man/man1/atq.1.gz
/usr/share/man/man1/atrm.1.gz
/usr/share/man/man1/batch.1.gz
/usr/share/man/man5/at.allow.5.gz
/usr/share/man/man5/at.deny.5.gz
/usr/share/man/man8/atd.8.gz
/usr/share/man/man8/atrun.8.gz
/var/spool/at
/var/spool/at/.SEQ
/var/spool/at/spool

通过上面的命令可以看出,文件/usr/sbin/atrun是通过安装at这个RPM包得来的。那么,如何通过文件去查找它的RPM包呢?

10.1.7列出某个文件属于哪个RPM包

列出某个文件属于哪个RPM包的命令为rpm -qf 文件的绝对路径,示例命令如下:

#rpm-qf/usr/sbin/atrun
at-3.1.20-11.el8.x86_64

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    88

    文章

    11854

    浏览量

    219822
  • WINDOWS
    +关注

    关注

    4

    文章

    3710

    浏览量

    94445

原文标题:第10章 在Linux下如何安装和卸载软件——rpm工具

文章出处:【微信号:aming_linux,微信公众号:阿铭linux】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    10个必装Linux实用工具推荐

    做运维这些年,最直观的感受是:工具选对了,效率能差出好几倍。同样的活儿,有人敲半天命令才能定位问题,有人三五个工具组合起来,几分钟就能把根因找出来。Linux本身自带了大量实用工具,但
    的头像 发表于 05-14 10:32 368次阅读

    如何在Windows上安装最新的deepin 25 WSL版本

    日常的开发与测试中,许多用户希望能在 Windows 环境便捷地使用 Linux 工具链。此时,WSL(Windows Subsystem for
    的头像 发表于 05-08 14:31 218次阅读
    如何在Windows上<b class='flag-5'>安装</b>最新的deepin 25 WSL版本

    深入解析SMSC EMC2102:RPM风扇控制器的卓越之选

    深入解析SMSC EMC2102:RPM 风扇控制器的卓越之选 电子设备的设计中,散热管理至关重要,它直接影响着设备的性能和稳定性。SMSC EMC2102作为一款基于RPM的风扇控制器,凭借其
    的头像 发表于 04-07 10:30 164次阅读

    “龙虾” OpenClaw爆发卸载潮!上门卸载最高收费299元

    ——OpenClaw 的爆火与快速退潮,折射出 AI 智能体时代的机遇与隐忧。   这场从 “安装” 到 “卸载” 的快速反转,背后是近期全网爆火的开源 AI 智能体 OpenClaw(别称 “龙虾”,因图标为红色龙虾得名)热潮的迅速降温,更暴露出这款 AI
    的头像 发表于 03-12 08:57 1.9w次阅读
    “龙虾” OpenClaw爆发<b class='flag-5'>卸载</b>潮!上门<b class='flag-5'>卸载</b>最高收费299元

    Linux系统配置FCB-EV9520L与LVDS转USB3.0编码采集模块教程

    Linux系统上运行LVDS转USB3.0编码采集模块涉及几个关键步骤,包括Linux环境配置、硬件连接、软件安装与配置以及测试。以下是一个基本的指南
    的头像 发表于 03-04 16:05 306次阅读
    <b class='flag-5'>Linux</b>系统<b class='flag-5'>下</b>配置FCB-EV9520L与LVDS转USB3.0编码采集模块教程

    Linux系统性能调试工具—strace

    今天给大家分享一个linux内核自带的调试工具,该工具可用于查看和定位系统问题,进程运行过程探索,进行进程监控,对每个系统调用都可以监测,有助于我们优化系统性能。
    的头像 发表于 01-30 17:03 2112次阅读
    <b class='flag-5'>Linux</b>系统性能调试<b class='flag-5'>工具</b>—strace

    linux-arm开发环境的简单配置

    安装ftp软件 cutftp等 配置串口工具 超级终端 安装tftp服务,也可以使用linux上的tftp。 linux上: 1
    发表于 01-13 07:56

    如何在2026年Rocky Linux(8、9和10)上安装Docker

    Docker 已成为现代应用部署、开发和基础设施自动化的核心技术。如果你服务器或VPS上运行Rocky Linux,学会在Rocky Linux安装Docker是你2026年能掌握
    的头像 发表于 01-12 17:21 2133次阅读

    Beremiz 开源 PLC 从安装到运行全流程实操指南

    完成后,打开即可直接使用。使用Uninstall程序可以直接卸载软件。 Linux版本的安装可参考官方文档(https://github.com/beremiz/beremiz)。 2.Openp
    的头像 发表于 01-05 16:42 971次阅读
    Beremiz 开源 PLC 从<b class='flag-5'>安装</b>到运行全流程实操指南

    Windows和Linux环境分别使用Olimex和蜂鸟调试器下载程序

    本队伍编号CICC3042,本篇文章介绍Windows和Linux环境分别使用Olimex和蜂鸟调试器下载程序,和上一篇Hbirdv2的移植配合使用。 使用过第一版蜂鸟的同学们可能按照书中
    发表于 10-31 08:26

    工具 + 技巧双管齐,BNC连接器快速安装秘籍大公开

    保护连接:使用电工胶带或热缩管覆盖连接部位,防止水分、灰尘侵入,增强连接部位的稳定性与耐用性。 掌握上述德索工具的使用及安装技巧,您就能高效、准确地完成BNC连接器的安装工作,保障信号稳定传输。
    的头像 发表于 08-12 13:57 842次阅读
    <b class='flag-5'>工具</b> + 技巧双管齐<b class='flag-5'>下</b>,BNC连接器快速<b class='flag-5'>安装</b>秘籍大公开

    LinuxBIND安装与配置详解

    通过网络源或挂载的光盘安装 BIND。
    的头像 发表于 07-08 09:31 2884次阅读

    GM9-5601欧拉系统安装英伟达驱动的步骤

    :NVIDIA-Linux-x86_64-550.142.run 安装步骤 1.更新插件 yum -y update 2.安装驱动相关依赖 yum install gcc make dkms gcc-c++ 3.查看内核版本并
    的头像 发表于 06-24 11:36 1312次阅读
    GM9-5601欧拉系统<b class='flag-5'>安装</b>英伟达驱动的步骤

    开源系统适配:聚徽分享国产工控平板 Linux / 鸿蒙系统的技术优化

    工业自动化与智能化加速推进的当下,国产工控平板的系统适配成为提升设备性能与竞争力的关键环节。Linux 和鸿蒙作为开源系统,凭借其高度的开放性与可定制性,为国产工控平板带来新的发展机遇。如何对国产
    的头像 发表于 06-13 16:29 1357次阅读

    迅为RK3568开发板安装烧录工具-安装 RKTool 驱动

    】\\\\02_iTOP-RK3568 开发板烧写工具及驱动”路径。 驱动如下图所示: 解压缩后,进入文件夹,如下图所示: 点击“DriverInstall.exe”,如下图所示: 如果出现提示,选择安装,如下图所示:
    发表于 05-29 10:47