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 包叫什么,查下面的网站
二、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 协议》,转载必须注明作者和本文链接
推荐文章: