Linux 笔记分享十三:RPM 命令管理

一、RPM 包命令规则#

1、关于光盘中 rpm 包的位置#

Linux 安装光盘基本以 rpm 包进行系统安装

  • 位置
/mnt/cdrom/Packages

2、命令规则#

httpd-2.2.15-15.el6.centos.i686.rpm

httpd: 软件包名

2.2.15: 软件版本

15: 软件发布次数

el6.centos: 适合的 Linux 平台

i686: 适合的硬件平台

rpm: rpm 扩展名

3、RPM 包的依赖性#

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

安装顺序,c->b->a

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

安装方法,把 a、b、c 全部放到一个 shell 命令中安装

  • 模块依赖

就是一个 rpm 包依赖另一个 rpm 包里面的某个文件

不知道另一个 rpm 包叫什么哦

想知道另一个 rpm 包叫什么,查下面的网站

www.rpmfind.net

二、RPM 安装命令#

1、包全名和包名#

  • 包全名

操作的包是没有安装的软件包时,使用包全名。而且要注意路径

  • 包名

操作已经安装的软件包时,使用包名,是搜索 /var/lib/rpm/ 中的数据库

2、安装#

rpm -ivh 包全名
  • 选项

-i: 安装

-v: 显示详细信息

-h: 显示进度

  • 操蛋

rpm 安装真尼玛扯,打死也不用

虽然用 yum 代替 rpm 安装挺好,但是没有查询和校验命令,所以 rpm 还是有存在理由的

yum 是 rpm 的在线安装,解决了依赖问题

三、升级与卸载#

1、升级#

rpm -Uvh 包全名
  • 选项

-U: 升级

其实和安装没什么区别

2、卸载#

rpm -e 包名
  • 选项

-e: 卸载

  • 注意

这时候打包名,就不需要路径了

卸载也需要依赖性

四、RPM 包查询#

1、查询包是否安装#

rpm -q 包名

2、查询所有已经安装的 rpm 包#

rpm -qa

例如:

rpm -qa | grep httpd

3、查询安装包的详细信息#

rpm -qi 包名

4、查询未安装包的详细信息#

rpm -qip 包全名

5、查询包中文件的位置#

rpm -ql 包名

6、RPM 包默认安装位置#

路径 文件类型
/etc/ 配置文件安装目录
/usr/bin/ 可执行的命令安装目录
/usr/lib/ 程序所用的函数库保存位置
/usr/share/doc 基本的软件使用手册保存位置
/usr/share/man 帮助文件保存位置

7、查询未安装包将要安装的位置#

rpm -qlp 包全名

8、查询系统某个文件属于哪个 rpm 包#

rpm -qf 系统文件名

9、查询安装包的依赖#

rpm -qR 包名

10、查询未安装包的依赖#

rpm -qRp 包全名

五、RPM 包校验#

1、校验#

rpm -V 包名

例如:

rpm -V httpd
  • 关于返回格式

httpd 的配置文件被修改时的返回格式

S.5....T.  c  /etc/httpd/conf/httpd.conf
  • S.5....T. 的含义

S: 文件大小是否被改变

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

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

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

L: 文件路径是否改变

U: 文件的属主(所有者)是否改变

G: 文件的属组是否被改变

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

  • c 的含义

c: 配置文件

d: 普通文件

g: 鬼文件,很少见,就是该文件不应该被包含在 rpm 包中

L: 授权文件

r: 描述文件

2、RPM 包中文件提取#

rpm2cpio 包全名 | cpio -idv .文件绝对路径
  • 解释

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

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

3、cpio#

cpio 选项 < [文件|设备]
  • 选项

-i: copy-in 模式,还原

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

-v: 显示还原过程

4、一个场景,假设 ls 命令不小心删掉了#

  • 第一、在其它系统中,查 ls 属于哪个包
rpm -qf /bin/ls
  • 第二、提取文件(在家目录中提取)
rpm2cpio /mnt/cdrom/Packages/coreutils-8.4-19.el6.i686.rpm | cpio -idv ./bin/ls
  • 第三步、在家目录下把文件放入原位置
cp /root/bin/ls /bin/
本作品采用《CC 协议》,转载必须注明作者和本文链接
时空扭曲,到底长啥样.