RPM包校验和提取
一、RPM包校验
[root@localhost Packages]# rpm -V 已安装的包名
#选项:
# -V 校验指定RPM包中的文件(verify)
[root@localhost Packages]# vim /etc/httpd/conf/httpd.conf ---> 对包的配置文件进行修改
[root@localhost Packages]#
rpm -V httpd ---> 对修改后的包再次进行校验(无变化,无提示)
S.5....T. c /etc/httpd/conf/httpd.conf
验证内容中的8个信息的具体内容如下:
S 文件大小是否改变
M 文件的类型或文件的权限(rwx)是否变改变
5 文件MD5校验和是否改变(可以看作文件内容是否改变)
D 装置的主/次代码已经改变
L Link路径已被改变
U 文件的所属人已被改变
G 文件的所属群组已被改变
T 文件的创建时间忆被改变
文件类型:
c 配置文件(config file)
d 普通文件(documentation)
g "鬼"文件(ghost file),很少发生,通常是指该文件不被软件包所包含
l 授权文件(license file)
r 描述文件(read me)
二、RPM包中文件提取
[root@localhost testuser]# rpm -qf /usr/bin/ls ---> 查询文件所属的包
coreutils-8.22-11.el7.x86_64
[root@localhost testuser]# rpm2cpio /mnt/cdrom/Packages/coreutils-8.22-11.el7.x86_64.rpm | cpio -t | grep /usr/bin/ls
# ---> 查询文件的相对路径
./usr/bin/ls
28552 blocks
[root@localhost testuser]# pwd ---> 查看当前位置
/home/testuser
[root@localhost testuser]# ll ---> 查看当前目录下的文件
total 0
[root@localhost testuser]# rpm2cpio /mnt/cdrom/Packages/coreutils-8.22-11.el7.x86_64.rpm | cpio -idv ./usr/bin/ls
# ---> 将所需要的文件从文件所属的包中提取到当前目录下
./usr/bin/ls
28552 blocks
[root@localhost testuser]# ll ---> 查看当前目录,文件是否提取成功
total 0
drwxr-xr-x. 3 root root 16 Mar 2 09:19 usr ---> 此目录出现,说明文件提取成功
[root@localhost testuser]# cd usr/bin/ ---> 进入目录
[root@localhost bin]# ll ---> 查看目录下是否有指定提取的文件
total 116
-rwxr-xr-x. 1 root root 117616 Mar 2 09:19 ls ---> 指定文件提取成功
#将需要恢复的文件提取成功之后,将文件复制到对应的目录下即可。
【注意】cpio参数后的文件路径"./usr/bin/ls"必须与前面查询出来的相对路径"./usr/bin/ls"一样,否则提取不成功
cpio参数说明:
-t 列出的意思,和"--list"等同,此时列出的是"相对路径"
-I 抽取的意思,和"--extract"等同
-d 建立目录的意思,和"--make-directories"等同
-v 冗余信息输出,和"--verbose"等同
RPM包校验和提取的更多相关文章
- 『学了就忘』Linux软件包管理 — 44、在RPM包中提取文件
目录 1.RPM包中文件的提取 2.在RPM包中提取文件的操作 (1)cpio命令介绍 (2)提取RPM包中文件 1.RPM包中文件的提取 为什么要做这个事呢? 在操作Linux系统的时候误删除一个文 ...
- Linux系列(33)- rpm命令管理之RPM包校验提取(5)
校验 格式 rpm -V 已安装的包名 选项: - -V:校验指定RPM包中的文件(verify) 例子 rpm -V httpd 后, 无任何提示, 代表该文件没有被做任何修改 # 判断本地的apa ...
- 从.src.rpm包中提取出完整的源码的方法
1 什么是完整的源码 就是说,最初始的源码加上打了所有的patch后的源码,即最新的源码. 2 过程 2.1 从.src.rpm中提取完整的rpm工程文件 2.1.1 rpm to cpio rpm2 ...
- linux rpm之已安装包校验、rpm包中文件提取
已安装包校验 rpm -V 已安装的包名-V 校验指定rpm包中的文件 rpm -V pth没有任何提示,说明自安装后没有做过任何修改 rpm包中文件提取 比如对一个系统配置文件误操作,可以根据这个文 ...
- 15. Linux提取RPM包文件(cpio命令)详解
在讲解如何从 RPM 包中提取文件之前,先来系统学习一下 cpio 命令.cpio 命令用于从归档包中存入和读取文件,换句话说,cpio 命令可以从归档包中提取文件(或目录),也可以将文件(或目录)复 ...
- 3-5 RPM包校验
1.RPM包校验 <1>rpm -V 已安装的包名 <2>选项: -V 校验制定RPM包中的文件(verify) <3>说明: <1>若没有显示任何内容 ...
- [Linux] 023 RPM 包校验与文件提取
1. RPM 包校验 $ rpm -V 已安装的包名 选项 释义 -V (verify) 校验指定 RPM 包中的文件 (1) 验证内容中的 8 个信息的具体内容如下 信息名称 释义 S 文件大小是否 ...
- 『学了就忘』Linux软件包管理 — 43、RPM包的校验和证书
目录 1.RPM包的校验 (1)RPM包校验基本命令 (2)校验某个系统文件是否被修改举例 (3)验证内容中8个信息的具体内容 (4)文件类型有哪些 2.RPM包的证书 (1)数字证书 (2)数字证书 ...
- 从rpm包提取rpm spec 的几种方法
包含了源码包 先安装,然后在rpmbuild 目录直接可以查看文件 不用安装 ,使用rpm2cpio rpm2cpio myrpm.src.rpm | cpio -civ '*.spec' 没有源码 ...
随机推荐
- KNN(k-nearest-neighbor)算法
一.算法概述 该方法的思路是:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别.KNN算法中, 所选择的邻居都是已经正确分类的对象(训练 ...
- C++对象数组操作误区
由于语义上的需要导致语法的上缺陷,所以导致对象数组在C++中存在陷阱. C++语境:一个基类指针或引用是可以指向派生类对象的,以此可来表现C++对运行时多态的需求: 创建一个对象数组将返回首元素的首地 ...
- Tomcat部署多个项目及相关配置
1.配置多个项目 在tomcat的conf目录下,找到server.xml,在其中添加<Host>节点即可进行多个项目的部署 <Host name="localhost&q ...
- yii2源码学习笔记(二)
yii\base\Object代码详解 <?php /** * @link http://www.yiiframework.com/ * @copyright Copyright (c) 200 ...
- phalcon安装和输出 hello word
1:下载和安装Wampserver2.4-x86.exe 服务器: 2:到phalcon官方网站下载对应的dll文件 phalcon_x86_VC9_php5.4.0_1.2.5 我下的是这个版本 所 ...
- php防止SQL注入详解及防范
SQL 注入是PHP应用中最常见的漏洞之一.事实上令人惊奇的是,开发者要同时犯两个错误才会引发一个SQL注入漏洞一个是没有对输入的数据进行过滤(过滤输入),还有一个是没有对发送到数据库的数据进行转义( ...
- storm接入metaq时类不兼容错误 无法初始化MonitorLog
在实际的项目中,需要storm从metaq中读取数据,一开始就有日志问题,查到是storm/lib中的log4j-over-slf4j和slf4j-api.jar包的不兼容导致的,这些日志包使用时必须 ...
- django HttpRequest
request.path 除域名以外的请求路径,以正斜杠开头 "/hello/" request.get_host() 主机名(比如,通常所说的域名) "127.0.0. ...
- TFS使用小技巧
前述: TFS是微软自家的项目管理软件 link:TFS2012团队管理基本配置及基础使用方法 碰到的问题: 一.[高级—>获取特定版本] 今天做的一个项目,自己引用程序集出错,一直没找到解决方 ...
- Dapper inner join
Dapper中的一些复杂操作和inner join应该注意的坑 上一篇博文中我们快速的介绍了dapper的一些基本CURD操作,也是我们manipulate db不可或缺的最小单元,这一篇我们介绍下相 ...