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 协议》,转载必须注明作者和本文链接
推荐文章: