热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

linux之rpm安装

linux之rpm安装rpm的基本概念rpm定义RPM包的来源1.镜像文件原理2.软件的官方网站3.第三方网站4.自制rpm包rpm安装原理rpm功能查询1.查询已安装的软件2.查

linux之rpm安装

  • rpm的基本概念
    • rpm定义
    • RPM包的来源
      • 1.镜像文件
        • 原理
      • 2.软件的官方网站
      • 3.第三方网站
      • 4.自制rpm包
    • rpm安装原理
  • rpm功能
    • 查询
      • 1.查询已安装的软件
      • 2.查询安装软件的路径
      • 查询软件的预安装路径(针对未安装的软件)
      • 查询软件对应的软件包
      • 查询某个软件的配置文件
        • 未安装的软件
        • 安装的软件
      • 查询程序是哪个软件包安装提供的
    • 安装
    • 重新安装某个软件
    • 卸载
    • 升级
  • 其他选项


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如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 本文介绍了PhysioNet网站提供的生理信号处理工具箱WFDB Toolbox for Matlab的安装和使用方法。通过下载并添加到Matlab路径中或直接在Matlab中输入相关内容,即可完成安装。该工具箱提供了一系列函数,可以方便地处理生理信号数据。详细的安装和使用方法可以参考本文内容。 ... [详细]
  • 在CentOS/RHEL 7/6,Fedora 27/26/25上安装JAVA 9的步骤和方法
    本文介绍了在CentOS/RHEL 7/6,Fedora 27/26/25上安装JAVA 9的详细步骤和方法。首先需要下载最新的Java SE Development Kit 9发行版,然后按照给出的Shell命令行方式进行安装。详细的步骤和方法请参考正文内容。 ... [详细]
  • Java在运行已编译完成的类时,是通过java虚拟机来装载和执行的,java虚拟机通过操作系统命令JAVA_HOMEbinjava–option来启 ... [详细]
  • phpcomposer 那个中文镜像是不是凉了 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • mac php错误日志配置方法及错误级别修改
    本文介绍了在mac环境下配置php错误日志的方法,包括修改php.ini文件和httpd.conf文件的操作步骤。同时还介绍了如何修改错误级别,以及相应的错误级别参考链接。 ... [详细]
  • 本文介绍了使用SSH免密登录的步骤,包括生成公私钥、传递公钥给被登录机、修改文件权限的操作。同时提醒用户注意私钥的传递方式,建议使用U盘等离线方式传递。 ... [详细]
  • 本文介绍了在CentOS 6.4系统中更新源地址的方法,包括备份现有源文件、下载163源、修改文件名、更新列表和系统,并提供了相应的命令。 ... [详细]
  • GPT-3发布,动动手指就能自动生成代码的神器来了!
    近日,OpenAI发布了最新的NLP模型GPT-3,该模型在GitHub趋势榜上名列前茅。GPT-3使用的数据集容量达到45TB,参数个数高达1750亿,训练好的模型需要700G的硬盘空间来存储。一位开发者根据GPT-3模型上线了一个名为debuid的网站,用户只需用英语描述需求,前端代码就能自动生成。这个神奇的功能让许多程序员感到惊讶。去年,OpenAI在与世界冠军OG战队的表演赛中展示了他们的强化学习模型,在限定条件下以2:0完胜人类冠军。 ... [详细]
  • Centos7搭建ELK(Elasticsearch、Logstash、Kibana)教程及注意事项
    本文介绍了在Centos7上搭建ELK(Elasticsearch、Logstash、Kibana)的详细步骤,包括下载安装包、安装Elasticsearch、创建用户、修改配置文件等。同时提供了使用华为镜像站下载安装包的方法,并强调了保证版本一致的重要性。 ... [详细]
  • OpenCV4.5.0+contrib编译流程及解决错误方法
    本文介绍了OpenCV4.5.0+contrib的编译流程,并提供了解决常见错误的方法,包括下载失败和路径修改等。同时提供了相关参考链接。 ... [详细]
  • 本文讨论了在使用PHP cURL发送POST请求时,请求体在node.js中没有定义的问题。作者尝试了多种解决方案,但仍然无法解决该问题。同时提供了当前PHP代码示例。 ... [详细]
author-avatar
木木的亦尘_283
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有