Linux——rpm软件安装命令

本文介绍了Linux中使用rpm命令进行软件安装、查询、卸载等操作,包括不同选项的详细解释,如安装(-ivh)、卸载(-e)、查询(-q)等。此外,还讲解了如何搭建第三方软件仓库以及使用yum工具进行管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

yum是上层的安装智能管理工具。既可以发现软件的底层依赖性,也可以解决依赖性问题
rpm是底层的安装工具。只能发现软件的依赖性,但是不能解决

1.软件名称识别

软件名称识别
[abrt-addon-ccpp]-[2.1.11-19].[el7].[x86_64].rpm #rpm结尾的适用与redhat操作系统
[abrt-addon-ccpp] #软件名称
[2.1.11-19] #软件版本
[el7] #软件适用系统
[x86_64] #64位
例子:
wps-office-10.1.0.5672-1.a21.x86_64.rpm
FluffyMcAwesome-A-6.4.0-11.r19335.x86_64.rpm
FluffyMcAwesome-B-6.4.0-11.r19335.x86_64.rpm
linuxqq-v1.0.2-beta1.i386.rpm

2.rpm常用命令
rpm 		-i			安装
			-v			显示安装过程
			-h			指定加密方式,hash加密
			-e			卸载
			-ql			查看安装此软件会在系统中生成哪些文件和其路径
			-p			后面加的是.rpm结尾的软件包,此命令查看软件包如果安装以后会产生什么软件
			-qa			查询系统中安装的所有软件名称
			-qf  filename(绝对路径)   	#查看此文件是由哪个安装包产生的
			-ivh  name.rpm(软件包)--force  	#强制安装,但不能忽略依赖性
			-ivh  name.rpm(软件包)--nodeps--force #忽略依赖性并且强制安装
			-qi  name   #查看软件安装后的信息
			-kv	 		#检测安装包安装的时间是否被篡改
3.测试
(1)-ivh name.rpm #安装,-v显示过程,-h指定加密方式为bash
[root@localhost software]# rpm -ivh wps-office-10.1.0.5672-1.a21.x86_64.rpm
error: Failed dependencies:   #显示没有解决依赖性
    libpng12.so.0()(64bit) is needed by wps-office-10.1.0.5672-1.a21.x86_64
    libGLU.so.1()(64bit) is needed by wps-office-10.1.0.5672-1.a21.x86_64
(2).-e name #卸载
root@localhost software]# rpm -ivh wps-office-10.1.0.5672-1.a21.x86_64.rpm   #解决完依赖性后安装该软件 
Preparing... ################################# [100%]
Updating / installing...
   1:wps-office-10.1.0.5672-1.a21   ################################# [100%] 
[root@localhost software]# wps  #打开软件 
[root@localhost software]# rpm -e wps-office  #卸载软件 
[root@localhost software]# wps  #再次打开则显示没有 
bash: /usr/bin/wps: No such file or directory
(3).-ql name #查询生成文件
[root@localhost software]# rpm -ql wps-office 
/etc 
/etc/fonts 
/etc/fonts/conf.avail 
/etc/fonts/conf.avail/40-wps-office.conf 
/etc/fonts/conf.d 
/etc/fonts/conf.d/40-wps-office.conf
/opt/kingsoft 
/opt/kingsoft/wps-office 
/opt/kingsoft/wps-office/office6 
/opt/kingsoft/wps-office/office6/addons 
/opt/kingsoft/wps-office/office6/addons/homepage 
#文件过多只显示部分来表达测试效果
(4).-qd name #查询软件的说明文件名称,
软件的文档-qc name #查询软件的配置文件名称
-qlp name.rpm #查询安装软件后会生成什么文件
-qa #查询系统中安装的所有软件名称
-qa |grep name #查询软件安装状态,大致文件名
-p #查软件包
-q name #查询软件,可以判断安装状态
-qp name.rpm #查询软件安装包安装后的名字
-qf filename #查看filename属于那个安装包,等同于yum whatprovides name

-nodeps #忽略依赖性,大多数安装的软件都不可用
-force #强制安装,可以再次安装
-ivh name.rpm –force #强制安装,但不能忽略依赖性
-ivh name.rpm –nodeps –force #忽略依赖性并且强制安装
-qi name #查看软件信息
-Kv name.rpm #检测软件包是否被篡改
-qp name.rpm –scripts #检测软件在安装或卸载过程中执行的动作

rpm的相关参数
-ivh name.rpm #安装,-v显示过程,-h指定加密方式为bash
-e name #卸载
-ql name #查询生成文件
-qd name #查询软件的说明文件名称,软件的文档
-qc name #查询软件的配置文件名称
-qlp name.rpm #查询安装软件后会生成什么文件
-qa #查询系统中安装的所有软件名称
-qa |grep name #查询软件安装状态,大致文件名
-p name #查软件包
-q name #查询软件,可以判断安装状态,
-qp name.rpm #查询软件安装包安装后的名字
-qf filename #查看filename属于那个安装包,等同于yum whatprovides name
-nodeps忽略依赖性,大多数安装的软件都不可用
-force强制安装,可以再次安装
-ivh name.rpm –force #强制安装,但不能忽略依赖性
-ivh name.rpm –nodeps –force #忽略依赖性并且强制安装
-qi name #查看软件信息
-Kv name.rpm #检测软件包是否被篡改
-qp name.rpm –scripts #检测软件在安装或卸载过程中执行的动作

3.第三方软件仓库的搭建

1、把所有的rpm软件包放到一个目录中,这个目录中只能存在rpm文件
2、createrepo -v /rpm存放目录 #/rpm存放目录中是被扫描的软件信息数据,createrepo是生成软件包的数据库文件
3、vim /etc/yum.repos.d/xxx.repo
[software] #自定义软件仓库名称
name=software #自定义软件仓库描述
baseurl=file:///rpm存放目录 #仓库位置
gpgcheck=0 #gpgkey表示软件的出品logo
退出保存
4、yum clean all 后即可用yum 下载文件

[root@localhost ~]# createrepo -v /mnt/software  #生成软件包的数据库文件
 Spawning worker 0 with 4 pkgs 
 Worker 0: reading FluffyMcAwesome-A-6.4.0-11.r19335.x86_64.rpm 
 Worker 0: reading FluffyMcAwesome-B-6.4.0-11.r19335.x86_64.rpm 
 Worker 0: reading linuxqq-v1.0.2-beta1.i386.rpm 
 Worker 0: reading wps-office-10.1.0.5672-1.a21.x86_64.rpm 
 Workers Finished 
 Saving Primary metadata 
 Saving file lists metadata 
 Saving other metadata 
 Generating sqlite DBs Starting other db creation: Tue May 1 08:35:50 2018 
 Ending other db creation: Tue May 1 08:35:53 2018 Starting filelists db creation: Tue May 1 08:35:53 2018 
 Ending filelists db creation: Tue May 1 08:35:53 2018 
 Starting primary db creation: Tue May 1 08:35:53 2018 
 Ending primary db creation: Tue May 1 08:35:55 2018 
 Sqlite DBs complete 
 [root@localhost ~]# cd /etc/yum.repos.d 
 [root@localhost yum.repos.d]# ls yum.repo 
 [root@localhost yum.repos.d]# vim yum.repo   #编辑软件仓库文件,内容如下: 
 [software] name=software 
 baseurl=file:///mnt/software 
 gpgcheck=0 
 :wq #退出保存 
 [root@localhost yum.repos.d]# 
 yum clean all  #清理完就可以下载刚搭建的软件仓库里面的文件 Loaded plugins: langpacks 
 Cleaning repos: software source7.0 
 Cleaning up everything

共享搭建好软件仓库的网络源

1、yum install httpd #下载httpd
2、systemctl start httpd #打开httpd
3、systemctl enable httpd
4、systemctl stop firewalld #关闭防火墙以便共享
4、cp -r /mnt/software/ /var/www/html/ #将搭建好的软件仓库复制在目录/var/www/html/里,这步是创建网络源
5、在浏览器测试是否共享
http://ip/software

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值