Linux软件管理RPM

news2024/11/16 20:41:32

目录

前言

RPM软件管理程序:rpm

RPM默认安装的路径

PRM讲解前准备工作

RPM安装(install)

RPM查询(query)

RPM卸载(erase)

RPM升级与更新(upgrade/freshen)

RPM重建数据库(rebuilddb)

软件的属性依赖问题


前言

RPM全名是 RedHat Package Manager。顾名思义,这个软件管理的机制是由Red Hat公司发展出来的

RPM是以一种数据库记录的方式来将你所需要的软件安装到你的Linux系统的一套软件管理机制,它将你要安装的软件先编译过,并且打包成为RPM机制的文件,通过打包好的软件里面默认的数据库,记录这个软件安装时候必须具备的依赖属性软件

当在你的Linux主机安装时,RPM会先依照软件里面的数据查询Linux主机的依赖属性软件是否满足,若满足则予以安装,若不满足则不予以安装,这个就是RPM类型的文件最为人所诟病的软件的属性依赖问题

安装的时候会将该软件的信息整个写入RPM的数据库中,以便未来的查询、验证与反安装

RPM机制的优点

  1. RPM内包含已经编译过的程序和配置文件等数据,用户不需要重新编译
  2. RPM在被安装前,会先检查系统的硬盘容量、操作系统版本等,可避免文件被错误安装
  3. RPM文件本身提供软件版本信息、依赖属性检查、软件用途说明、软件所含文件等信息,便于了解文件
  4. RPM管理的方式使用数据库记录RPM文件的相关参数,便于升级、删除、查询和验证

RPM机制的问题

  1. 软件安装的环境必须与打包时的环境需求一致或相当
  2. 需要满足软件的依赖属性需求
  3. 反安装时需要特别小心,最底层的软件不可先删除,否则可能造成整个系统的问题

SRPM的作用就是为了解决我们无法安装环境需求不同的RPM软件包

SRPM的全名为Source RPM,也就是这个RPM文件里面含有源代码,并且仍然含有该软件所需要的依赖性软件说明以及所有RPM文件所提供的数据,不同的是它也提供了参数配置文件(configure与makefile),因此我们在安装该软件时需要先将该软件以RPM管理的方式编译(此时SPRM会被编译成为RPM文件),然后将编译完成的RPM文件安装到Linux系统当中

我们可以通过修改SRPM内的参数配置文件,然后重新编译产生能适合我们Linux环境的RPM文件

文件格式文件名格式直接安装与否内含程序类型可否修改参数并编译
RPMxxx.rpm已编译不可
SRPMxxx.src.rpm不可未编译的源代码

RPM软件管理程序:rpm

RPM默认安装的路径

若环境检查无误,等安装完毕后,该软件相关信息就会被写入/var/lib/rpm/目录下的数据库文件中,未来我们有任何软件升级的需求,版本之间的比较就是来自于这个数据库,而如果你想要查询系统已经安装的软件,也是从这里查询的。同时,目前的RPM也提供数字签名信息,这些数字签名也是在这个目录内记录的

/etc一些配置文件放置的目录,例如/etc/crontab
/usr/bin一些可执行文件
/usr/lib一些程序使用的动态函数库
/usr/share/doc一些基本的软件使用手册与说明文件
/usr/share/man一些 man page 文件

PRM讲解前准备工作

安装软件是root的工作,所以我们需要root身份才能够使用rpm命令

/dev/sr0代表光驱设备(也就是RHEL9的安装光盘),此目录下的文件没有办法直接使用,必须先挂载

/mnt/BaseOS  业务软件或第三方软件

/mnt/AppStream   操作系统相关的,比较基础的软件

进入BaseOS中

进入Packages中

我们可以在这个目录中发现许多RMP的数据包

我们拿其中的一个文件名来讲解 zsh-5.8-9.el9.x86_64.rpm

zsh  -5.8- 9.el9.x86_64 .rpm
软件名称软件的版本信息发布的次数适合的硬件平台

扩展名

RPM安装(install)

rpm -ivh package

选项与参数:

-i:install安装的意思

-v:查看更详细的安装信息

-h:显示安装进度

安装zsh-5.8-9.el9.x86_64.rpm

当我们安装当中发现问题,或已经知道会发生的问题,而还是执意要安装软件时,可以使用以下参数强制安装上去

 

 尽量不要使用暴力安装法,就是--force去强制安装,因为可能会发生很多不可预期的问题

RPM查询(query)

rmp -选项

选项与参数:

-q:仅查询,后面接的软件名是否有安装

-qa:列出已经安装在本机上的所有软件名称

-qi:列出该软件的详细信息(information)

-ql:列出该软件所有的文件与目录所在完整文件名(list)

-qc:列出该软件的所有配置文件(找出在/etc/下面的文件名而已)

-qd:列出该软件的所有说明文件(找出与man有关的文件而已)

-qf:由后面接的文件名,找出该文件属于哪一个已安装的软件

-qR:列出该软件有关的依赖软件所含的文件(Required的意思)

查询安装前后,zsh开头的软件是否被安装了

RPM卸载(erase)

删除的选项很简单,通过-e即可删除

要注意的是,卸载过程一定要由最上层往下解除

RPM升级与更新(upgrade/freshen)

用RPM来升级非常简单,使用-Uvh或-Fvh即可

  • -Uvh:后面接的软件即使没有安装过,则系统将予以安装;若后面接的软件有安装过旧版,则系统自动更新至新版
  • -Fvh:如果后面接的软件并未安装到你的Linux系统上,则该软件不会被安装;亦即只有已安装至你Linux系统内的软件才会被升级

RPM重建数据库(rebuilddb)

由于RPM文件常常会安装、删除、更新等,某些操作会导致RPM数据库/var/lib/rpm/内的文件损坏,如果如此的话,我们可以使用--rebuilddb选项来重建一下数据库

软件的属性依赖问题

 

我们可以发现,我们在安装此软件包时,会发生错误 即此软件包需基于其他软件包

解决方案:YUM机制

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/350390.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

高压放大器在介电泳效应的细胞分选研究中的应用

实验名称:高压放大器在介电泳效应的细胞分选研究中的应用研究方向:生物医学测试目的:细胞分选在分析化学和生物医药领域有着非常重要的应用。在众多的分选方法中,微流控分选方法以其响应速度快、样品需求少等优点成为研究热门。微…

订单超时处理方案介绍

在电商场景下,一个订单流程中有许多环节要用到超时处理,包括但不限于: 买家超时未付款:比如超过15分钟没有支付,订单自动取消。 商家超时未发货:比如商家超过1个月没发货,订单自动取消。 买家…

【数据结构与算法】数组2:双指针法 二分法(螺旋矩阵)

文章目录今日任务1.Leetcode977:有序数列的平方(1)题目(2)思路(3)暴力排序(4)双指针法2.Leetcode209:长度最小的子数组(1)题目&#x…

数据库版本管理工具Flyway应用研究

目录1 为什么使用数据库版本控制2 数据库版本管理工具选型:Flyway、Liquibase、Bytebase、阿里 DMSFlywayLiquibaseBytebase阿里 DMS3 Flyway数据库版本管理研究3.1 参考资料3.2 Flyway概述3.3 Flyway原理3.4 Flyway版本和功能3.5 Flyway概念3.5.1 版本迁移&#xf…

聚观早报|马斯克有意出价45亿英镑收购曼联;威马员工将停薪留职

今日要闻:马斯克有意出价45亿英镑收购曼联;小米汽车接近获得新能源汽车生产资质;威马员工将停薪留职?;集度融合文心一言ChatGPT上车;三星 Galaxy S23 系列国行版发布马斯克有意出价45亿英镑收购曼联 据外媒…

帝国cms综合标签和数据库说明

帝国cms灵动标签e:loop的使用方法总结,是青青模板网整理的这些年使用帝国cms中经常使用的调用方法。帝国cms灵动标签顾名思义,灵活好用,通过简单的标签调用,就可以调用文字样式、图片样式,甚至是复杂的方案。下面是青青…

深入浅出带你学习WebSphere中间件漏洞

前言 上一篇文章给大家介绍了中间件glassfish的一些常见漏洞以及利用方法,今天我给大家带来的是WebSphere中间件的常见漏洞以及这些漏洞的利用方法,下面我们首先介绍一下WebSphere中间件是什么,然后展开来讲关于该中间件的漏洞。 WebSphere…

二面阿里巴巴成功上岸,准备了小半年,要个30k应该也算不上很高吧~

先说下我基本情况,本科不是计算机专业,现在是学通信,然后做图像处理,可能面试官看我不是科班出身没有问太多计算机相关的问题,因为第一次找工作,阿里的游戏专场又是最早开始的,就投递了&#xf…

【虚拟仿真】Unity3D打包WEBGL实现全屏切换

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享简书地址我的个人博客 大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦。 一、前言 今天实现Unity3D打包WEBGL后实现按钮点击全屏和退出 全屏的实现…

Xepor:一款针对逆向工程和安全分析的Web路由框架

关于Xepor Xepor是一款专为逆向分析工程师和安全研究专家设计的Web路由框架,该工具可以为研究人员提供类似Flask API的功能,支持以人类友好的方式拦截和修改HTTP请求或HTTP响应信息。 该项目需要与mitmproxy一起结合使用,用户可以使用Xepor…

MySQL高级(一)

MySQL-day01 1 MySQL简介 1.1 MySQL简介 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB(创始人Michael Widenius)公司开发,2008被Sun收购(10亿美金),2009年Sun被Oracle收购。MariaDBMaria…

硬件学习 软件Cadence day03 焊盘制作

1.文章内容: 1. 贴片式电容 的焊盘制作, (型号 c0603 ) 2. 贴片式电阻 的焊盘制作, (型号 r0603 ) 3. 安规式电容 的焊盘之所, (这个就是 有一个电容&…

ClickHouse列存储(十一)—— ClickHouse

文章目录一、重点内容:1.数据库基本概念2.列式存储3.clickHouse存储设计4.clickHouse典型应用场景二、准备工作:1、了解数据库基本概念2、了解列式存储相关概念3、了解ClickHouse存储设计4、了解 ClickHouse典型应用场景三、详细知识点介绍:1…

转换矩阵、平移矩阵、旋转矩阵关系以及python实现旋转矩阵、四元数、欧拉角之间转换

文章目录1. 转换矩阵、平移矩阵、旋转矩阵之间的关系2. 缩放变换、平移变换和旋转变换2. python实现旋转矩阵、四元数、欧拉角互相转化由于在平时总是或多或少的遇到平移旋转的问题,每次都是现查资料,然后查了忘,忘了继续查,这次弄…

浅析高频电路设计中铜箔对于电气性能的影响

引言 随着未来可使用频率的升高,对于高频PCB设计的理念也在发生改变,例如高频PCB越来越多的由单、双面板向多层板结构转移,复杂的金属化过孔结构(任意层间互联)正在取代简单的金属化过孔或者非金属化过孔结构。 本文…

蓝桥杯刷题——基础篇(二)

这部分题目,主要面向有志参加ACM与蓝桥杯竞赛的同学而准备的,蓝桥杯与ACM考察内容甚至评测标准基本都一样,因此本训练计划提供完整的刷题顺序,循序渐进,提高代码量,巩固基础。因竞赛支持C语言、C、Java甚至…

快速实现Modbus TCP转BACnet IP协议的方案

一、需求背景 BACnet是用于智能楼宇自控系统的主流通信协议,可用在暖通空调系统(HVAC,包括暖气、通风、空气调节),也可以用在照明控制、门禁系统、火警侦测系统及其相关的设备。楼宇中的受控设备都通过BACnet协议连接到…

使用 GeForce Experience 更新 NVIDIA GPU 显卡驱动

使用 GeForce Experience 更新 NVIDIA GPU 显卡驱动1. NVIDIA GeForce Experience 2. 驱动程序 -> 检查更新文件 3. 下载 如果有可用的新版驱动的话,点击后方的 [下载] 按钮即可。 4. 安装 [快速安装] 按照默认设置安装驱动,[自定义安装] 可以自行…

C语言实例|在控制台打印余弦曲线

需求 在控制台打印余弦曲线。 余弦曲线又叫余弦波(cosinwave),是一种来自数学三角函数中的余弦比例的曲线。也是模拟信号的代表,与代表数字信号的方波相对。 标准的纯余弦函数公式为: 实例代码 /*** author: 冲哥 …

炔活化的生物素化试剂773888-45-2,Alkyne-Biotin,炔基生物素

【产品描述】炔活化的生物素化试剂,可通过铜催化的点击反应与叠氮化物反应,产生稳定的三唑键,生物素炔烃在结构上与生物素炔烃相同。用于通过点击化学制备各种生物素化共轭物的生物素炔烃。Alkyne activated biotinylation reagents can prod…