1.RPM包命令原则
所有的rpm包都在光盘中
例:httpd-2.2.15-15.e16.centos.1.i686.rpm
httpd 软件包名
2.2.15 软件版本
15 软件发布的次数
e16.centos 适合的Linux平台
i686 适合的硬件平台
rpm rpm包扩展名
2.RPM包依赖性
树形依赖:a -> b -> c
安装先装c再装b最后装a;卸载先卸载a再卸载b最后卸载c
环形依赖:a ->b -> c -> a
模块依赖:模块依赖查询网站:www.rpmfind.net
2.rpm命令管理-安装升级与卸载
2.1包全名与包名
包全名:操作的包是没有安装的软件包时,使用包全名。而且要注意路径。一般是安装和升级时使用
包名:操作已经安装的软件包时,使用包名。时搜索/var/lib/rpm/中的数据库。一般是查询卸载使用
2.2RPM安装
rpm -ivh 包全名
选项:
-i(install) 安装
-v(verbose) 显示详细信息
-h(hash) 显示进度
--nodeps 不检测依赖性
例:安装httpd
2.3RPM包升级
rpm -Uvh 包全名
选项:
-U(upgrade) 升级
与安装类似
2.4卸载
rpm -e 包名
选项:
-e(erase) 卸载
--nodeps 不检查依赖性
3.rpm命令管理-查询
3.1查询是否安装
rpm -q 包名
查询包是否安装
-q 查询(query)
rpm -qa
查询所有已经安装的RPM包
-a 所有(all)
利用管道符,查找到已经安装的所有httpd的安装包
3.2查询软件包的详细信息
rpm -qi 包名
-i 查询软件信息(information)
-p 查询未安装包信息(package)
查询未安装包的信息:必须使用包全名
3.3查询包中文件安装位置
rpm -ql 包全名
-l 列表(list)
-p 查询未安装包的信息(package)
全部以绝对路径列出
3.4查询系统文件属于哪个RPM包
rpm -qf 系统文件名
-f 查询系统文件属于哪个软件包(file)
该系统文件必须是安装包装出来的,不能是系统自动生成的。
3.5查询软件包的依赖性
rpm -qR 包名
-R 查询软件包的依赖性
-p 查询未安装包的信息
4.rpm命令管理-校验和文件提取
4.1RPM包校验
用来判断我们的系统文件是否被别人进行了修改
rpm -V 已安装的包名
-V 校验指定RPM包中的文件(verify)
没有出现任何信息表示未被修改。
验证内容中的8个信息内容:
S 文件大小是否被改变
M 文件的类型或文件的权限是否被改变
5 文件MD5校验和是否被改变(可以看成文件内容是否改变)
D 设备的中,从代码是否改变
L 文件路径是否改变
U 文件的属主(所有者)是否改变
G 文件的属组是否改变
T 文件的修改时间是否改变
注:MD5,加密方式,进行文件的完整形象验证
文件类型:
c 配置文件(config file)
d 普通文件(documentation)
g “鬼”文件(ghost file),很少见,就是该文件不应该被这个RPM包包含
I 授权文件(license file)
r 描述文件(read me)
注:当鬼文件出现时,证明这个RPM包存在问题。
4.2RPM包中文件提取
rpm2cpio 包全名 | \
\ 代表命令太长,换行,没有特殊的意义
cpio -idv . 文件绝对路径
. 代表把指定的文件提取到当前目录下
rpm2cpio
将rpm包转换为cpio格式的命令
cpio
标准工具,用于创建软件档案文件和从档案文件中提取文件
cpio 选项 < [文件|设备]
-i copy-in模式,还原
-d 还原时自动新建目录
-v 显示还原过程