一、rpm查询
上回已经学习了RPM包的命名规则和依赖性,RPM包的安装与卸载,这次就来学习RPM包的查询方式。软件包的安装和卸载用yum,因为更为简单,自动解决依赖性。而查询RPM包的信息用RPM命令来查询,不管用那种方式安装都可以用RPM查。yum查询的信息非常少。所以不用yum查询。
1.查询是否安装
命令: rpm -q 包名 -q 查询(query)
功能: 查询包是否安装
命令: rpm -qa -a 所有(all)
功能 : 查询所有已经安装的RPM包
例:rpm -qa | grep httpd 查看httpd是否安装
2.查询软件包详细信息
命令: rpm -qi 包名
选项: -i 查询软件信息(information)
-p 查询未安装包信息(package)
备注: (1) 这个包信息就是组建这个包或写这个包的时候就已经写好了,保存在软件包当中。如果事-p的话,后面应该跟包全名。这些信息有时间,安装时间等。
(2) 安装和升级需要写包全名,其他的只加包名即可。就比如-p用的时候在查就行了。
3.查询包中文件安装位置
命令: rpm -ql 包名
选项: -l 列表(list)
-p 查询未安装包信息(package)
备注: (1) 包的安装位置,包中文件的安装位置是组建这个包的时候就决定的,-p这个选项也可以查,这个包虽然美妆,也能查询他打算装哪。未安装包必须加上包全名。
4.查询系统文件属于哪个RPM包
命令: rpm -qf 包名
选项: -f 查询系统文件属于哪个软件包(file)
备注: 1. 跟的系统文件名,不能是手工自己建立的,这个文件必须是通过这个包装出来的。if不是包装出来的,人为手工创建的,系统自动生成的临时文件,日志文件不是包装出来的,反向追查是找不到的。
2. /etc目录下保存的是系统当中的配置文件,这些配置文件大多数都是通过包装出来的。
5.查询软件包的依赖性
命令: rpm -qR 包名
选项: -R 查询软件包的依赖性(requires)
-p 查询未安装包信息(package)
备注: 1. 如果手工安装软件包,安装的时候报错,这时候会知道依赖性。
2. 如果已经安装过这个软件包的话,就没有必要在查询软件包的依赖性没有多大的意义。查询没有安装的软件包的依赖性,这个比较有意义。
3. 如果要查询未安装包,一定回到package这个目录中去。已经安装过的在哪个目录下都行。