一、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包软件管理的更多相关文章

  1. [20150522]RPM包的管理

    RPM包的管理 RPM包的分类 RPM包可分为源码包和二进制包两类.源码包的主要优点是开源,如果有足够的能力,可以修改源代码,源码包可以自由选择所需要安装的功能,软件是编译安装,所以更加适合自己的系统 ...

  2. RPM包及其管理 rpm命令

    一.什么是RPMRPM:RedHat Package Manager     //红帽包管理如果Linux发行版本是redhat .redflag .centos .fedora .suse等或者衍生 ...

  3. rpm包的管理

    RPM是RedHat Package Manager(RedHat软件包管理工具)的缩写,这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,现在包括OpenLinux.S.u ...

  4. fpm工具来制作rpm包软件

    第1章 rpm包的制作 1.1 fpm的概念介绍 FPM功能简单说就是将一种类型的包转换成另一种类型 1.1.1.支持的源类型 类型 说明 dir   将目录打包成所需要的类型,可以用于源码编译安装的 ...

  5. rpm软件包管理/yum软件管理

    绝大数开源软件都是公布源代码的,源代码一般被打包为tar.gz归档压缩文件,然后手工编译为二进制可执行文件 ./configure 检查编译环境/相关库文件/配置参数,生成makefile make ...

  6. 末学者笔记--rpm和yum软件管理(Linux)

    一.rpm简介 这是一个数据库管理工具,可以通过读取数据库,判断软件是否已经安装,如果已经安装可以读取出来所有文件的所在位置等,并可以实现删除这些文件. rpm:RPM is Redhat Packa ...

  7. rpm和yum软件管理

    rpm简介 数据库管理工具,通过读取数据库,判断软件是否安装,如已安装可读取出来所有文件的所在位置等,并可以实现删除这些文件. rpm:RPM is Redhat Package Manager(递归 ...

  8. rpm和yum软件管理(week2_day5)--技术流ken

    rpm简介 这是一个数据库管理工具,可以通过读取数据库,判断软件是否已经安装,如果已经安装可以读取出来所有文件的所在位置等,并可以实现删除这些文件. rpm:RPM is Redhat Package ...

  9. rpm 包管理器

    rpm 包管理器 二进制应用程序的组成部分: 二进制文件.库文件.配置文件.帮助文件 程序包管理器:不同厂商的程序,包管理器也不同. debian:deb文件, dpkg包管理器 redhat: rp ...

随机推荐

  1. Cyclic Components CodeForces - 977E(找简单环)

    题意: 就是找出所有环的个数, 但这个环中的每个点都必须只在一个环中 解析: 在找环的过程中 判断度数是否为2就行...emm... #include <bits/stdc++.h> us ...

  2. OI中的莫比乌斯反演

    OI中的莫比乌斯反演 莫比乌斯函数 想要学习莫比乌斯反演,首先要学习莫比乌斯函数. 定义 莫比乌斯函数用\(\mu(x)\)表示.如果\(x\)是\(k\)个不同质数的积,则\(\mu(x) = (- ...

  3. 【uoj3】 NOI2014—魔法森林

    http://uoj.ac/problem/3 (题目链接) 题意 给出一张带权图,每条边有两个权值A和B,一条路径的花费为路径中的最大的A和最大的B之和.求从1走到n的最小花费. Solution ...

  4. 【bzoj4730】 Alice和Bob又在玩游戏

    http://www.lydsy.com/JudgeOnline/problem.php?id=4730 (题目链接) 题意 给出一个森林,两个人轮流操作,每次把一个节点以及它的祖先全部抹去,无节点可 ...

  5. Atcoder Grand 006 C-Rabbit Exercise

    题意: 数轴上有n只兔子,第i只兔子的坐标为xi. 有一组操作,这组操作的第i个操作是要让第ai只兔子等概率的跳到自己关于第ai+1或第ai-1只兔子的对称点. 进行K组操作,求每只兔子最后坐标的期望 ...

  6. 【洛谷P1122】最大子树和

    题目大意:给定一棵 N 个节点的无根树,点有点权,点权有正有负,求这棵树的联通块的最大权值之和是多少. 题解:设 \(dp[i]\) 表示以 i 为根节点的最大子树和,那么只要子树的 dp 值大于0, ...

  7. Advanced RESTClient插件安装 google浏览器

    在csdn下载插件,并解压. 然后在设置里找到扩展程序,打开并开启开发者模式,加载你刚刚解压的插件就可以. 我是用了蓝灯打开google的,成功后这样的

  8. 金融量化分析【day110】:Pandas-DataFrame读取与写入

    一.DataFrame DataFrame是一个表格型的数据结构,含有一组有序的列 DataFrame可以被看作是有Series组成的字典并且工用一个索引 1.创建方式 pd.DataFrame({' ...

  9. Git与GitHub学习笔记(二)提交的一些笔记

    1.合并分支的使用一定要切换到master分支上去合并:git merge company2.切换分支的时候一定要提交干净本地分支的代码,才可以切换分支,否则提示错误信息: 3.这时候我们做的就是提交 ...

  10. 《Linux命令行与shell脚本编程大全》第十一章 构建基本脚本

    11.1使用多个命令 $date;who   //  命令列表,加入分号就可以,这样会依次执行.参见5.2.1节 注意区分$(date;who),这个是进程列表,会生成一个子shell来执行 Shel ...