第10章 在Linux下如何安装和卸载软件——rpm工具
qiyuwang 2024-10-19 08:56 9 浏览 0 评论
提醒:本文为合集文章,后续会持续更新!
关注我,每日提升!
在Windows系统下安装软件很简单,只要双击后缀为.exe的文件,然后根据提示连续单击“下一步”按钮即可。然而在Linux系统下安装软件就没那么容易了,因为我们不是在图形界面下。所以,你必须学会如何在Linux下安装软件。
前面我们多次提到了yum命令,它是Red Hat所特有的安装RPM程序包的工具。使用RPM工具安装某一个程序包时,有可能会因为该程序包依赖另一个程序包而无法安装;而使用yum工具时,就可以连同依赖的程序包一起安装,很方便。在Rocky里使用yum工具是免费的,但在Red Hat里,使用yum工具需要付费。在介绍yum工具之前,我们先来了解一下RPM。
10.1 RPM工具
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包的命令如下:
# yum install –y wget //安装wget命令,wget为下载工具
# wget http://mirrors.aliyun.com/centos/8/BaseOS/x86_64/os/Packages/at-3.1.20-11.el8.x86_64.rpm
# rpm -ivh at-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 -ivh http://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 -qa at
at-3.1.20-11.el8.x86_64
# rpm -e at
卸载时,-e选项后面的filename和安装时是有区别的。安装时,是把一个存在的文件作为参数,而卸载时只需要包名即可。
10.1.4 查询一个包是否已安装
查询一个包的命令为rpm -q RPM包名,这里的“包名”是不带平台信息和后缀名的。示例命令如下:
# rpm -q at
未安装软件包at
# rpm -ivh at-3.1.20-11.el8.x86_64.rpm
Verifying...################################# [100%]
准备中... ################################# [100%]
正在升级/安装...
1:at-3.1.20-11.el8 ################################# [100%]
# rpm -q at
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 <bugs@centos.org>
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技术文档!
相关推荐
- windows开启telnet服务,检测远程服务端口是否可以连通
-
本文介绍windwos开启telnet服务,telnet服务一般可以用于检测远程主机的某个端口服务是否可以连通,在日常的工作中,我们经常会遇到在本地的windows检测远程服务端口是否可以连通。win...
- 仅在Web登录新华三交换机条件下启用设备Telnet登录方式
-
概述Web登录新华三交换机可以在“网络-服务”页面中启用设备Telnet服务或SSH服务,也可以在“设备-管理员”设置管理员用户的可用服务,然而,在设备Web页面中,无法设置lineVTY用户线【l...
- 思科交换机,路由器如何关闭telnet 开启ssh服务
-
SSH为建立在应用层基础上的安全协议。SSH是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用SSH协议可以有效防止远程管理过程中的信息泄露问题。今天我们就来说说思科交换机,路...
- 智能化弱电行业常用的DOS命令,掌握了你也能成为...
-
前言在做智能化弱电项目时,前端摄像头设备安装结束后,我们会对网络摄像头进行调试,调试过程中会遇到前端摄像头没有图像或者图像出来了画面卡顿的现象。我们会采用ping命令来测试网络的连通性和网络承载能力。...
- 「干货」eNSP模拟器之配置Telnet登录
-
配置说明:配置Telnet,使R2(模拟PC)通过SW1登录到R1进行管理和配置。操作步骤:system-view##进入系统视图[Huawei]sysnameR1##改名为R1[R1]int...
- win11开启telnet服务怎么操作 win11打开telent指令是什么
-
telnet服务是我们在进行远程连接的时候,必须要打开的一项功能。但是有不少用户们不清楚在windows11系统中怎么开启telnet服务。今天小编就使用详细的图文教程,来给大家说明一下打开telen...
- 华三(H3C)交换机Telnet的远程登陆
-
一,配置交换机管理IP[SW1]vlan20//创建管理vlan[SW1]interfacevlan20//进入vlan接口[SW1-Vlanif20]ipaddress192.168....
- win10 telnet命令怎么查看端口是否打开
-
可能大家也会遇到这个问题,win10telnet命令查看端口是否打开的步骤是什么?具体方法如下:1、键盘输入快捷键WIN+R,打开运行窗口。2、输入cmd,点击确定按钮。3、弹出cmd命令行窗...
- Windows 7如何打开Telnet功能(win7系统打开telnet)
-
Windows7默认安装后是没有开启telnet客户端功能的,例如,我们在开始菜单中输入cmd,然后使用telnet命令,会弹出下图提示:‘telnet’不是内部或外部命令,也不是可运行程序或批处理文...
- 为锐捷路由器交换机开启web和telnet,实现轻松管理
-
笔者上一篇文章写了关于锐捷二层交换机配置教程,那么接下来讲一下锐捷的路由交换设备配置web、telnet技巧。同样,今天的教程也是基于命令行,比较简单,适合新手小白进行学习。准备工作配置前准备:con...
- 一文学会telnet命令的用途和使用方法
-
Telnet是一个古老的远程登录协议,可以让本地计算机获得远程计算机的工作能力。它采用了TCP的可靠连接方式,可以连接任何网络互通的远程计算机。不过由于它采用了明文传输方式,存在安全风险,目前已经很少...
- Telnet命令是什么?如何使用?(telnet命令在哪里开启)
-
telnet命令是一个常用的远程登陆工具,使用它,我们可以快捷地登陆远程服务器进行操作。那么如何使用telnet命令呢?首先,我们需要打开telnet功能,任何电脑默认是关闭此功能的,开启方式如下:打...
- win11系统如何开启telnet服务(拷贝版本)
-
我们要知道,Telnet协议是Internet远程登陆服务的标准协议,可以使用户在本地计算机上完成远程主机的工作,不过对于一些刚接触win11中文版系统的用户来说,可能还不知道telnet服务在哪...
- 如何开启telnet客户端(如何开启telnet服务)
-
Telnet协议是TCP/IP协议家族中的一员,是Internet远程登陆服务的标准协议和主要方式,Telnet是常用的远程控制Web服务器的方法。工作中经常用到telnet客户端,但在windows...
- Telnet 是什么,如何启用它?(telnet有什么用)
-
对于Internet等TCP/IP网络,Telnet是一个终端仿真程序。Telnet软件在您的系统上运行并将您的个人计算机链接到网络服务器。它将所有数据转换为纯文本这一事实被认为是易受...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- navicat无法连接mysql服务器 (65)
- 下横线怎么打 (71)
- flash插件怎么安装 (60)
- lol体验服怎么进 (66)
- ae插件怎么安装 (62)
- yum卸载 (75)
- .key文件 (63)
- cad一打开就致命错误是怎么回事 (61)
- rpm文件怎么安装 (66)
- linux取消挂载 (81)
- ie代理配置错误 (61)
- ajax error (67)
- centos7 重启网络 (67)
- centos6下载 (58)
- mysql 外网访问权限 (69)
- centos查看内核版本 (61)
- ps错误16 (66)
- nodejs读取json文件 (64)
- centos7 1810 (59)
- 加载com加载项时运行错误 (67)
- php打乱数组顺序 (68)
- cad安装失败怎么解决 (58)
- 因文件头错误而不能打开怎么解决 (68)
- js判断字符串为空 (62)
- centos查看端口 (64)