Linux中软件包管理-rpm

标签: linux

Linux中软件包管理-rpm

一、RPM包命名规则

	httpd-2.2.15-15.e16.centos.1.i686.rpm

  httpd  软件包名

  2.2.15 软件版本

  15     软件发布次数

  e16.centos 适合的Linux平台

  i686 适合的硬件平台

  rpm  rpm包扩展名

二、RPM包依赖性

  • 树形依赖:a >>> b >>> c

  • 环形依赖:a >>> b >>> c >>> a

  • 模块依赖:查询网站:www.rpmfind.net

rpm -ivh pkg.i386.rpm --test
-i: install		//安装
-v: verbose  	//安装详细信息
-h: hash		//进度条

三、安装命令

	rpm  -ivh  包全名

  -i (install)  	安装

  -v (verbose) 	显示详细信息

  -h (hash) 		显示进度

  --nodeps 		不检测依赖性(绝不允许使用)

四、升级与卸载

1、升级
rpm  -Uvh  包全名

  -U  (upgrade) 升级

2、卸载
rpm  -e  包名

  -e  (erase)卸载

  --nodeps 不检测依赖性(实际工作中也不允许使用)

五、RPM包查询

1、查询是否安装
rpm  -q  包名

# 查询包是否安装

  -q  查询(query)
rpm  -qa 

# 查询所有已经安装的RPM包

  -a  所有(all)
2、查询软件包详细信息
rpm  -qi  包名

  -i  查询软件信息(information)

  -p   查询未安装包信息(package)
3、查询包中文件安装位置
rpm  -ql  包名

  -l  列表(list)

  -p   查询未安装包信息(package)

常规安装位置
在这里插入图片描述

4、查询系统文件属于哪个RPM包
rpm  -qf  系统文件名

  -f   查询系统文件属于哪个软件包(file)
5、查询软件包的依赖性
rpm  -qR  包名

  -R  查询软件包的依赖性(requires)

  -p  查询未安装包信息(package) 

六、RPM包校验

1、RPM包校验
rpm  -V  已安装包的包名

  -V   校验指定rpm包中的文件(verify)

验证内容中的8个信息的具体内容如下:

  s   文件大小是否改变

  M    文件的类型或文件的权限(rwx)是否被改变

  5  文件MD5校验和是否改变(可以看成文件内容是否改变)

  D  设备的主从代码是否改变

  L  文件路径是否改变

  U  文件属性(所有者)是否改变

  G  文件属组是否改变

  T  文件的修改时间是否改变
文件类型:

  c  配置文件(config file)

  d  普通文档(documentation)

  g  “鬼” 文件(ghost file),很少见,就是该文件不应该被这个RPM包包含

  L  授权文件(license file)

  r  描述文件(read me)
2、RPM包中文件提取
rpm2cpio  包全名  |  cpio  -idv  .文件绝对路径

  -rpm2cpio

  # 将rpm包转换为cpio格式的命令

  -cpio

  # 是一个标准工具,它用于创建软件档案文件和从档案文件中提取文件

[[email protected] ~]# cpio  选项  <  [文件|设备]

选项:

  -i :copy-in 模式,还原

  -d:还原时自动新建目录

  -v:显示还原过程

原文链接:https://www.cnblogs.com/chuijingjing/p/9951267.html

版权声明:本文为qq_36917605原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_36917605/article/details/104087088

智能推荐

取消Android Studio本地项目关联SVN

作者:谭东 SVN现在大部分快要被Git替代了,所以也应该有很多人想把SVN的项目更改提交到Git上面。那么这就涉及到把原项目取消SVN关联。 现在给大家讲解Android Studio取消关联的方法。 1、项目找到.idea下的vsc.xml,把里面的vcs="svn"里的svn去掉,变为vcs=""即可。 2、删除对应项目文件夹里的各层的.svn文件夹及...

【Network Security!】信息的扫描与嗅探

文章目录 确定扫描目标 确定目标主机IP地址 网站架构探测 确定扫描目标 确定目标主机IP地址 1.获取本机IP地址 2.获取网站地址信息 3.获取指定网站的IP地址 4.确定可能开放的端口和服务 Zenmap是一款非常流行的端口扫描软件(nmap的GUI界面化)。它是用Python语言编写而成的开源的图形界面,能够运行在不同操作系统平台上(Windows/Linux/Unix/Mac OS)) ...

太赞了!Linux 架构师总结的学习笔记,提供下载

  本文字数:1247,阅读时长大约:1分钟 导读:你想学习 Linux 吗? 最近很多小伙伴找我要一些 Linux 基础资料,于是我翻箱倒柜,把这份技术大牛总结的 Linux 归纳笔记找出来,免费共享给大家! 据说有小伙伴靠这份笔记顺利进入 BAT 哦,所以一定要好好学习这份资料! 资料介绍 这份资料非常全面且详细,从 Linux 常用命令到 Linux 常用操作,再到shell编程、...

【底层原理】高级开发必须懂的"字节对齐"

认识字节对齐之前,假定int(4Byte),char(1Byte),short(2Byte) 认识字节对齐 先看段代码:   sizeof(Data1)和sizeof(Data2)分别表示Data1和Data2内存占用字节数,输出结果不一样是因为编译时对Data1和Data2做了不同的字节对齐。Data1的对齐为4Byte,Data2的对齐是2Byte。   假定存储起始地址为...

爬lol全英雄皮肤

初学爬虫简单的爬取一下lol全英雄皮肤,自己写的,和网上CV的好不一样,觉得文章说得过去的记得留下足迹。 一 分析页面 1.英雄列表 首先在英雄页面找到hero_list.js;至于为什么是这个文件,看图: 观察该文件响应头,获取访问的url,打开新的窗口,访问该链接,能获取对应数据。(这边显示在一行很男查看,推荐一款好用的chrome插件JSONView,可以帮帮我们格式化json数据,可以在g...

猜你喜欢

解决VUE项目重复点击菜单报错:Avoided redundant navigation to current location: “/xxxxx“. 问题

描述: 报错见下图: 解决方法: 在router文件夹下添加下面一段代码...

Nginx 入门指南(十)

负载均衡模块 负载均衡模块用于从upstream指令定义的后端主机列表中选取一台主机。Nginx 先使用负载均衡模块找到一台主机,再使用 upstream 模块实现与这台主机的交互。为了方便介绍负载均衡模块,做到言之有物,以下选取 Nginx 内置的 ip hash 模块作为实际例子进行分析。 配置 要了解负载均衡模块的开发方法,首先需要了解负载均衡模块的使用方法。因为负载均衡模块与之前书中提到的...

文本和输入:复制和粘贴

Android提供了一个功能强大的基于剪贴板的复制和粘贴框架。 它支持简单和复杂的数据类型,包括文本字符串,复杂数据结构,文本和二进制流数据,甚至应用程序资产。 简单的文本数据直接存储在剪贴板中,而复杂数据则作为粘贴应用程序与内容提供者解析的参考进行存储。 复制和粘贴在应用程序中以及在实现框架的应用程序之间工作。 由于框架的一部分使用内容提供者,因此本主题假定您熟悉Android内容提供程序API...

[unity]代码批量修改图片、文本文件的AssetBundle的Name

  当项目工程内有大量文件,需要打包成AssetBundle的时候,一个一个打包是一件非常麻烦的事情。 批量修改AssetBundle的Name并对AssetBundle包 进行批量 打包。   批量修改项目工程文件的图片、文本文件的AssetBundle   1.批量建立AssetBundle 1.1修改文件的.meta文件的文本内容 来自参考资料1   ...

[Python] 用K-means算法进行客户分群

目录 一、背景 1.项目描述 2.数据描述 二、相关模块 三、数据可视化 1.数据读取 2.数据可视化 2.1 平行坐标图 2.2 年龄/年收入/消费分数的分布 2.3 年龄/年收入/消费分数的柱状图 2.4 不同性别用户占比 2.5 两两特征之间的关系 2.6 两两特征之间的分布 四、K-means聚类分析 0.手肘法简介 1.基于年龄和消费分数的聚类 2.基于年收入和消费分数的聚类 3.基于年...