Linux下RPM软件包管理

目录

  • 1、软件包管理介绍
    • 1.1、软件包分类
    • 1.2、源码包
    • 1.3、RPM包
  • 2、RPM包管理-包命名和依赖性
    • 2.1、RPM命名规则
    • 2.2、RPM包依赖性
  • 3、RPM包管理-安装升级和与卸载
    • 3.1、包全名与包名
    • 3.2、RPM安装
    • 3.3、RPM包升级
    • 3.4、卸载
  • 4、RPM包管理-查询
    • 4.1、查询是否安装
    • 4.2、查询软件包详细信息
    • 4.3、查询包中文件安装位置
    • 4.4、查询系统文件属于哪个rpm包
    • 4.5、查询软件包的依赖性
  • 5、RPM包管理-校验和文件提取
    • 5.1、RPM包校验
    • 5.2、RPM包中文件提取


1、软件包管理介绍

1.1、软件包分类

  1. 源码包(就是直接的代码)
    a. 脚本安装包(多了个安装界面,但是方便)
  2. 二进制包(就是源码经过编译后的文件)(别名RPM包或系统默认包)

1.2、源码包

优点
• 开源,可以直接修改源代码
• 自由选择所需功能
• 编译安装,更加稳定效率也搞
• 卸载方便(直接删除源码包安装目录)
缺点
• 安装过程步骤多,容易出现拼写错误
• 编译过长较长,安装比二进制安装时间长
• 因为是编译安装,安装过程中一旦出错新手很难解决

1.3、RPM包

二进制包优点
• 包管理系统简单,只通过几个命令就可以实现安装、升级、卸载等操作
• 安装速度比源码包快很多(和win时间差不多)
缺点
• 进过编译,看不到源代码
• 功能选择不如源代码灵活
• 依赖性(有一些软件需要别的软件支撑,导致必须只能安装支撑软件)

2、RPM包管理-包命名和依赖性

2.1、RPM命名规则

例如包全名:httpd-2.2.15-15.e16.centos.1.i686.rpm

名称说明
httpd软件包名
2.2.15软件版本
15软件发布次数
el6.centos这个版本适合在el6和centos俩个linux版本当中安装 不写适合的linux平台就代表都可以安装
i686适合我们的686微机平台(硬件平台) noarch-表示任何硬件平台都可以安装
rpmrpm包扩展名

2.2、RPM包依赖性

• 树形依赖:a->b->c
安装a需要b,安装b需要c,若依我们先安装c再安装b最后安装a。卸载先卸载a再卸载b最后卸载c
• 环形依赖:a->b->c->a
把软件把a、b、c用命令同时装
• 模块依赖:以.so.数字结尾的都是库依赖
模块依赖查询网站:www.rpmfind.net

3、RPM包管理-安装升级和与卸载

3.1、包全名与包名

包全名:操作的包是没有安装的软件包时,使用包全名。而且要注意路径
包名:操作已经安装的软件包时,使用包名。是搜索/var/lib/rpm中的数据库

3.2、RPM安装

语法rpm-ivh 包全名

参数说明
-i(install)安装
-v(verbose)显示详细信息
-h(hash)显示进度
–nodeps不检测依赖性

在这里插入图片描述

上图就是依赖下面俩个、就需要先安装下面的包

3.3、RPM包升级

语法:rpm -Uvh 包全名

参数说明
-U(upgrade)升级

3.4、卸载

语法:rpm -e 包名

参数说明
-e(erase)卸载
–nodeps不检查依赖性

4、RPM包管理-查询

4.1、查询是否安装

命令:rpm -q 包名

参数说明
-q查询(query)
-a所有(all)

命令:rpm -qa

参数说明
-a所有(all)

4.2、查询软件包详细信息

命令:rpm qi 包名

参数说明
-i查询软件信息(information)
-p查询未安装包信息(package) 查询未安装需要写包全名

4.3、查询包中文件安装位置

命令:rpm -ql 包名

参数说明
-l列表(list)
-p查询未安装包信息

例如:rpm -qlp zsh-4.3.11-4.el6.centos.2.x86_64.rpm 可以查询未安装软件想要的安装位置

4.4、查询系统文件属于哪个rpm包

命令:rpm -qf 系统文件名

参数说明
-f查询系统文件属于哪个软件包(file)

4.5、查询软件包的依赖性

命令:rpm -qR 包名

参数说明
-R查询软件包的依赖性(requires)
-p查询未安装包的信息(package)

5、RPM包管理-校验和文件提取

5.1、RPM包校验

把包装完之后先把特征记录下来,然后需要的时候把现在的文件和原先的文件做个比较,比较有什么变化,看是不是我做的,判断文件是否被人修改过了
命令:rpm -V 已安装的包名称

参数说明
-V :校验指定RPM包中的文件(verify)

在这里插入图片描述
如上图就是修改过的
S 5 T
验证内容中的8个信息的具体内容如下:

参数说明
S文件大小是否发生改变
M文件的类型或文件的权限(rwx)是否被修改
5文件MD5校验和是否改变(可以看做文件内容是否被修改)
D设备的中,从代码是否改变
L文件路径是否发生改变
U文件的属主(所有者)是否改变
G文件的属组是否改变
T文件的修改时间是否发生改变

上图 的c是文件类型

参数文件类型
c配置文件(config file)
d普通文档(documentation)
g‘鬼’文件(ghost)很少见,就是该文件不应该被这个RPM包所包含
l授权文件(license file)
r描述文件(read me)

5.2、RPM包中文件提取

提取一个包中指定文件
用于一个文件丢失或者损坏直接在下载这个包内的一个文件就好了
例如:rpm2cpio 包全名 | cpio -idv.表示文件绝对路径

命令:cpio 选项 < [文件|设备]

参数说明
-icopy-in模式,还原
-d还原时自动新建目录
-v显示还原过程

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Java集合相关问题

java集合框架体系 数据结构 算法复杂度分析 时间复杂度分析&#xff1a;对代码运行时间所消耗时间多少进行分析空间复杂度分析&#xff1a;对代码运行所占用的内存的大小进行分析 时间复杂度 时间复杂度分析&#xff1a;来评估代码的执行耗时 假如执行每行代码的执行耗时一…

阿里云服务器ping不通如何解决?

阿里云服务器ping不通&#xff1f;什么原因&#xff1f;在安全组中允许【全部 ICMP(IPv4)】&#xff0c;当然阿里云服务器禁ping也是通过配置安全组的ICMP规则来实现的&#xff0c;阿里云服务器网来详细说下安全组开通ping功能教程&#xff1a; 目录 阿里云服务器ping不通的解…

微服务: sleuth和zipkin的用处与zipkin安装使用(下)

目录 0. 上篇传送门: 1. 前言简介 mq安装传送门: 微服务: 01-rabbitmq的应用场景及安装(docker) 1.1 Sleuth是一款分布式跟踪解决方案。 1.2 Zipkin是一个开源的分布式跟踪系统。 2. zipkin安装方式 2.1 windows下安装zipkin: 2.1.0 下载jar包位置 2.1.1 下载后,找…

华为防火墙之NAT技术

1.源NAT 源NAT技术对IP报文的源地址进行转换&#xff0c;将私网IP地址转换成公网IP地址&#xff0c;使大量私网用户可以利用少量公网IP地址访问Internet&#xff0c;大大减少了对公网IP地址的消耗。 源NAT转换的过程如下图所示&#xff0c;当私网用户访问Internet的报文到达防…

银河麒麟系统安装mysql数据库[mysql-5.7.28-linux-glibc2.12-x86_64]

银河麒麟系统安装mysql数据库 1.1 准备材料 mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz MySQL5.7下载地址 https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz 1.1 安装前准备工作 1、检查是否已经安装MySQL [rootlocalhost ~]# rpm …

redismariadb + keepalived 高可用

目录 机器准备 安装后服务 redis 安装redis mariadb 安装mariadb 启动和配置 互为主从同步配置 keepalived keepalived安装 修改主从 keepalived的配置 主从配置-mariadb监控 主从配置-redis监控 查看和使用 Keepalived Mariadb redis 机器准备 两台机器&…

transformer零基础学习

声明&#xff1a;以下文章链接仅用于个人学习与备忘。 基础知识 1&#xff1a;零基础解析教程 [推荐] https://zhuanlan.zhihu.com/p/609271490 2&#xff1a;Transformer 详解 [推荐] https://wmathor.com/index.php/archives/1438/ 3&#xff1a;如何从浅入深理解transfor…

行为型模式--状态模式

目录 举例 状态模式 定义 结构 代码实现 优缺点 优点&#xff1a; 缺点&#xff1a; 使用场景 举例 【例】通过按钮来控制一个电梯的状态&#xff0c;一个电梯有开门状态&#xff0c;关门状态&#xff0c;停止状态&#xff0c;运行状态。每一 种状态改变&#xff0c;都…

STM32外设系列—BH1750

文章目录 一、BH1750简介二、BH1750原理图三、BH1750数据手册3.1 指令集3.2 IIC通信读/写 四、BH1750程序设计4.1 IIC程序4.2 BH1750初始化程序4.3 读取BH1750测量结果4.4 获取光照强度4.5 相关宏定义 五、应用实例六、拓展应用6.1 实时调节LED亮度6.2 实时调整颜色阈值 一、BH…

C++【位图/布隆过滤器—海量数据处理】

文章目录 一、位图&#xff08;1&#xff09;位图概念介绍&#xff08;2&#xff09;简单模拟实现&#xff08;3&#xff09;位图应用 二、布隆过滤器&#xff08;1&#xff09;关于布隆过滤器概念及介绍&#xff08;2&#xff09;布隆过滤器的使用场景&#xff08;3&#xff0…

【前端布局篇】浮动、定位、弹性布局,固比固、双飞翼、圣杯布局

一、布局方式介绍 布局模型是基于盒模型基础上进行的拓展&#xff0c;关于布局有流式布局&#xff08;标准的布局&#xff09;&#xff0c;浮动布局、定位布局、flex布局等。 1.1 标准流&#xff08;流动模型&#xff09; 描述&#xff1a;元素按照自己默认的元素类型在页面…

Unity3D 连接MySQL数据库

1、MySQL下载安装运行 详见&#xff1a;MySQL下载安装运行 2、使用mysql-connector-net &#xff08;1&#xff09;官方下载地址&#xff1a;https://downloads.mysql.com/archives/c-net/&#xff0c;下载后直接双击安装即可。 提示&#xff1a;不要使用版本过高的connect…

Jmeter(三) - 从入门到精通 - 测试计划(Test Plan)的元件(详解教程)

1.简介 上一篇中我已经教你如何通过JMeter来创建一个测试计划&#xff08;Test Plan&#xff09;&#xff0c;那么这一篇我们就将JMeter启动起来&#xff0c;创建一个测试计划&#xff08;Test plan&#xff09;&#xff0c;然后现在给大家介绍一下测试计划&#xff08;Test P…

C# wpf 附加属性实现任意控件拖动调整大小

摘自这里 https://blog.csdn.net/u013113678/article/details/121719278 调试效果如下 using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using Syst…

【信号】信号处理与进程通信:快速上手

目录 0. 信号概述 1. 产生信号的方式&#xff1a; 1.1 当用户按某些终端键时&#xff0c;将产生信号。 1.2 硬件异常将产生信号。 1.3 软件异常将产生信号。 1.4 调用kill函数将发送信号。 1.5 运行kill命令将发送信号。 2. 信号的默认&#xff08;缺省&#xff09;处理…

Visual C++类的继承及类中成员的访问特性——搞懂public、protected、private

我是荔园微风&#xff0c;作为一名在IT界整整25年的老兵&#xff0c;今天来说说Visual C中类的继承及类中成员的访问特性&#xff0c;也就是来搞懂public、protected、private这三个东西。 很多人搞不清楚这三个东西&#xff0c;并且很容易弄错&#xff0c;其实不是学习的人的…

ModaHub魔搭社区:向量数据库MIlvus服务端配置(三)

目录 gpu 区域 logs 区域 metric_config 区域 gpu 区域 在该区域选择是否在 Milvus 里启用 GPU 用于搜索和索引创建。同时使用 CPU 和 GPU 可以达到资源的最优利用&#xff0c;在特别大的数据集里做搜索时性能更佳。 若要切换到 CPU-only 模式&#xff0c;只要将 enable 设…

【VMD-LSTM】变分模态分解-长短时记忆神经网络研究(Python代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

数据库大题

(计算题&#xff0c;20分) 设有两个关系R和S,求① R ∪ S R \cup S R∪S;② R − S R - S R−S;③ R S R \times S RS;④ ∏ C , A ( R ) \prod_{C,A}(R) ∏C,A​(R);⑤ σ B > ′ 4 ′ ( R ) \sigma_{B>4}(R) σB>′4′​(R) 关系R关系S (简答题&#xff0c;10…

基于深度学习FasterRCNN模型Restnet50 的生活垃圾智能分类(准确率达84%)-含python工程全源码

目录 前言总体设计系统整体结构图系统流程图 运行环境1. 硬件环境2. Python 环境 模块实现1. 数据预处理2. 数据加载3. 模型构建4. 模型训练及保存5. 模型加载与调用 系统测试1. 模型准确率2. 分类别准确率 工程源代码下载其它资料下载 前言 本项目基于Faster R-CNN模型&#…