linux之rpm安装

linux之rpm安装linux之rpm安装rpm的基本概念rpm定义RPM包的来源1.镜像文件2.软件的官方网站3.第三方网站4.自制rpm包rpm安装原理rpm命令选项rpm功能查询已安装的软件查询安装软件的路径查询软件的预安装路径(针对未安装的软件)查询某个文件夹是那个软件的配置文件查询某个软件的配置文件重新安装某个软件卸载某个软件rpm的基本概念rpm安装需要依赖RPM软件包进行安装。RPM可以理解成windows系统中的安装包rpm定义rpm:是redhatpackagemanager的缩写,是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:忽略依赖关系,不检查依赖关系

今天的文章linux之rpm安装分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:http://bianchenghao.cn/28840.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注