linux之rpm安装

rpm的基本概念

rpm安装需要依赖RPM软件包进行安装。RPM可以理解成windows系统中的安装包

rpm定义

rpm:是redhat package manager的缩写,是RPM软件包的管理工具,可用来对软件的安装、卸载、更新等操作

rpm包的命名格式:
以zziplib-utils-0.13.68-8.el8.x86_64.rpm这个软件包为例:
可将rpm包划分为6个字段。
其中:

第一个字段是zziplib-utils,表示软件的名称
第二个字段是0.13.68,表示版本号
第三个字段是8,表示发布次数
第四个字段是el8,表示开发该软件的是企业版的linux,采用centos8的系统
第五个字段是x86_64,表示该软件采用的架构是x86,64位的系统。该字段也可能是noarch,表示不区分架构
第六个字段是rpm,是rpm包的后缀名

RPM包的来源

1.镜像文件

原理

镜像文件的目录是/dev/cdrom,cdrom是一个光驱文件,是sr0文件的链接文件
在这里插入图片描述

[root@localhost ~]# mount /dev/cdrom /mnt/

mount: /mnt: WARNING: device write-protected, mounted read-only.

镜像文件属于硬件,硬件是不允许直接访问的,只能通过kernel去访问,因此需要将硬件挂载到系统的某个文件夹下,通过linux内核对该挂载的文件夹进行操作,从而读取镜像文件的内容,挂载的文件夹(也可以称之为挂载点)相当于windows中的C盘,D盘。可以将挂载的过程理解成把一个u盘插入到电脑上的过程,我们不通过电脑是获取不了u盘中的内容的,镜像文件也是一样,必须要进行一个挂载(我个人理解的是一个渠道),才能进行读取

注意:镜像文件的挂载点是只读的文件夹,不能对其进行修改。

读取镜像文件的步骤:
1.将镜像文件加入光驱
2.将镜像文件挂载到指定文件夹下面,从而可以对镜像文件进行读取
在这里插入图片描述
在这里插入图片描述
读取镜像文件中的rpm软件包
在这里插入图片描述
镜像文件中的rpm包位置:

centos7的系统中的rpm安装包在/mnt/packets下。
centos8的系统中的rpm安装包在/mnt/AppStream/Packages下。

#umount -v test1:取消镜像文件的挂载
注意:
不能在光碟的挂载文件去操作,因为是只读文件,不能进行操作,光碟就是镜像文件,且从图中可以看出镜像文件的内存已满
在这里插入图片描述

2.软件的官方网站

3.第三方网站

第三方网站有一定风险,不推荐使用
第三方网站:http://rpmfind.net/

4.自制rpm包

优点:安装部署的时候更加方便
通过源码包制作的
RPM包制作过程
RPM制作使用命令

构建RPM包是有命令rpm-build在SPEC文件的指导下完成。spec文件是整个RPM包建立过程的中心,它的作用就如同编译程序时的Makefile文件。spec文件包含建立一个RPM包必需的信息,包括哪些文件是包的一部分以及它们安装在哪个目录下

##查看spec文档的内容
[root@localhost Packages]# rpm -qi openssh-server

在这里插入图片描述

rpm安装原理

在这里插入图片描述

rpm功能

查询

rpm命令安装软件包,在/var/lib/rpm文件下,是rpm的一个数据库,会存放已安装的所有软件,因此,查询时会去在该目录下寻找
相当于windows里面的注册表,里面记录了已安装的软件

1.查询已安装的软件

[root@localhost log]# rpm -qa

2.查询安装软件的路径

linux中安装软件时会把软件中的内容按功能存放在不同的文件夹,不像windows系统,windows系统是全部放在一个文件夹下

这里以tree命令为例

[root@localhost log]# rpm -ql tree

在这里插入图片描述

查询软件的预安装路径(针对未安装的软件)

[root@localhost log]# rpm -qlp  kacst-art-fonts-2.0-19.el8.noarch.rpm 

在这里插入图片描述

查询软件对应的软件包

-q选项,当软件存在时会返回软件的安装包,软件不存在时会说未安装该软件
在这里插入图片描述

查询某个软件的配置文件

未安装的软件
[root@localhost Packages]# rpm -qip kacst-art-fonts-2.0-19.el8.noarch.rpm 

在这里插入图片描述

安装的软件
[root@localhost Packages]# rpm -qi tree

在这里插入图片描述

查询程序是哪个软件包安装提供的

-qf必须接绝对路径

[root@localhost Packages]# rpm -qf /usr/sbin/tracepath

在这里插入图片描述
还可用yum去查询
在这里插入图片描述

安装

rpm安装的自主性很差,rpm安装软件需要自己去解决依赖关系,很麻烦
但是安装速度快

以zsh软件为例

[root@localhost Packages]# rpm -vih zsh-html-5.5.1-6.el8_1.2.noarch.rpm 

在这里插入图片描述
-v:可以看到一些详细信息,如准备中、正在升级等字样
-i:install,进行安装的选项
-h:有###的效果,即可以看到进度条
如果想安装多个用空格间隔然后接上要安装的rpm包即可

重新安装某个软件

[root@localhost Packages]# rpm --reinstall -vh zsh-html-5.5.1-6.el8_1.2.noarch.rpm 

在这里插入图片描述

卸载

[root@localhost ~]# rpm -e proftpd-1.2.8-1

升级

[root@localhost ~]# rpm -U proftpd-1.2.8-1

其他选项

–force:强制安装
–nodeps:忽略依赖关系,不检查依赖关系

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值