码迷,mamicode.com
首页 > 其他好文 > 详细

rpm包软件管理

时间:2018-01-09 16:41:50      阅读:117      评论:0      收藏:0      [点我收藏+]

标签:生成   命名   安装   软件包   模块   验证   源码   rpm   client   

一、rpm介绍

            linux服务器中所有的软件包安装方式有两种,一种是源码安装、另一种是二进制包安装(rpm)源码包安装的好处是适合不同的发行版本的linux,缺点是在编译过程中花费的时间很长,二进制包安装的特点是安装速度快,但缺点是32位的服务器不能安装64位服务器的安装包等。

二、rpm包包命名及依赖

1、命名规则

openssh-clients-6.6.1p1-.el7.x86_64.rpm

openssh-clients       包名

6.6.1p1                      版本号

31                              发行次数 

el7                             适合的linux平台

x86_64                      适合的硬件平台

rpm                           rpm包扩展名       

如下图所示几乎都遵循了这个命名规则

技术分享图片

 

2、rpm包依赖

树形依赖:a-b-c      安装时先安装c-b-a  卸载时先卸载a-b-c

环形依赖:a-b-c-a

模块依赖: 模块依赖查询网址http://rpmfind.net

技术分享图片

技术分享图片

 三   rpm包命令

查询rpm包

rpm   -q  httpd   

技术分享图片

rpm   -qa   查询所有安装的rpm包 (-q 是查询   -a是查询所有)

技术分享图片

查询包信息

rpm  -qi   httpd

技术分享图片

查询rpm包的安装位置

rpm   -ql   httpd

技术分享图片

查询系统文件属于哪个rpm包(注意文件名必须是通过rpm包生成的,自己新建的无效)

rpm  -qf   文件名

技术分享图片

查询rpm包所有的依赖关系

rpm  -qR   httpd

技术分享图片

查询没有安装的rpm包的依赖关系

rpm  -qRp   包全名

四、rpm包校验

该功能可以查询rpm包是否被别人进行过修改,如果查询没有任何信息输出证明是是官方最原始的安装信息

rpm  -V  包名

rpm  -V  httpd

 rpm包的验证内容中的信息内容如下:

S   文件大小是否改变

M  文件的类型或权限是否改变

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

D  设备中的代码是否改变

L   文件路径是否改变

U  文件属主是否改变

G  文件属组是否改变

T  文件的修改时间是否改变

文件类型

c   配置文件

d  普通文件

g  鬼文件(该文件不应该在rpm包中出现)

l   授权文件

r  描述文件

五、rpm包中文件提取

该功能是在文件误删除或误修改后,不需要对软件重新安装只需要从rpm包中重新提取覆盖即可

例如我把/bin/ls 下的文件删除了,导致我们的ls不可用这种情况我们不需重新安装只需要知道ls是属于哪个rpm包并还原即可

演示如下:

1、先找到ls 是属于哪个rpm包

rpm   -qf  /bin/ls

2、/bin/ls的文件移动到/tmp   (模拟ls文件被删除或损坏)

mv  /bin/ls  /tmp/

3、提取

rpm2cpio    /mnt/coreutils-8.4-46.el6.i686  | cpip  -idv   ./bin/ls

4、把ls命令复制到/bin目录下修复损坏的文件

cp   /root/bin/ls   /bin/

 

rpm包软件管理

标签:生成   命名   安装   软件包   模块   验证   源码   rpm   client   

原文地址:https://www.cnblogs.com/heruiguo/p/8250726.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!