直入正题:
[root@localhost ~]# which iostat
/usr/bin/iostat
[root@localhost ~]# rpm -qf /usr/bin/iostat
sysstat-9.0.4-22.el6.x86_64
[root@localhost ~]#
步骤就是:
- 使用which查看该命令的目录
- 使用rpm -qf查看该目录属于哪个RPM软件包
但是rpm命令是不能直接查到源代码包安装的命令的。
rpm命令
用途:
- 查询RPM软件、包文件的相关信息
- 安装、升级、卸载RPM软件包
- 维护RPM数据库信息
命令使用格式:
已经安装的软件:rpm -q [ 子选项 ] [ 软件名 ]
未安装的RPM软件包:rpm -qp [ 子选项 ] RPM包文件
常用选项举例:
1、对于已经安装的软件:
- -qa:查看系统中已安装的所有RPM软件包列表
- -qi: 查看所有指定软件的详细信息
- -ql:查询指定软件包所安装的目录、文件列表
- -qc:仅显示指定软件包安装的配置文件
- -qd:仅显示指定软件包安装的文档文件
2、对于未安装的RPM软件包
- -qpi:通过.rpm包文件查看该软件的详细信息
- -qpi:通过.rpm包文件查看该软件的详细信息
- -qpl:查看.rpm安装包内所包含的目录、文件列表
- -qpc:查看.rpm安装包内包含的配置文件列表
- -qpd:查看.rpm安装包内包含的文档文件列表
安装或升级RPM软件:
格式:rpm [选项] RPM包文件
用法:不同选项适用于不同情况
- -i:安装一个新的rpm软件包
- -U:升级某个rpm软件,若原本未装,则进行安装
- -F:更新某个rpm软件,若原本未装,则放弃安装(推荐)
卸载指定的RPM软件
格式:rpm -e 软件名
辅助选项:
-
–force:强制安装所指定的rpm软件包
-
–nodeps:安装、升级或卸载软件时,忽略依赖关系
-
-h:以“#”号显示安装的进度
-
-v:显示安装过程中的详细信息
-
不推荐使用依赖关系最好一次安装上不然强制安装了,也不能使用软件。
在使用rpm命令进行安装软件的时候,可能会出现一个告警: warning: /mnt/Packages/tree-1.5.3-3.el6.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY 产生这个告警的原因是: rpm文件开头有签名信息,签名信息是由谁发布的就有谁的签名信息。 校验签名就可以确定是否是这个签名的人发布的软件,如何校验? 使用公私钥。每个用户都有自己的公钥和私钥,可以理解为密码,公钥和私钥必须匹配才能解密。
那么如何进行RPM软件包的校验呢?
[root@centos6 ~]# ls /mnt 这里举的例子就是将光盘挂载到/mnt目录上,间接的访问光盘中的文件
CentOS_BuildTag images repodata RPM-GPG-KEY-CentOS-Testing-6
EFI isolinux RPM-GPG-KEY-CentOS-6 TRANS.TBL
EULA Packages RPM-GPG-KEY-CentOS-Debug-6
GPL RELEASE-NOTES-en-US.html RPM-GPG-KEY-CentOS-Security-6
[root@centos6 ~]# rpm --import /mnt/RPM-GPG-KEY-CentOS-6 导入公钥
[root@centos6 ~]# rpm -e /mnt/Packages/tree-1.5.3-3.el6.x86_64.rpm 尝试卸载tree文件,注意安装的时候-i选项后面是文件名,卸载的时候-e选项后面跟软件名
error: package /mnt/Packages/tree-1.5.3-3.el6.x86_64.rpm is not installed
[root@centos6 ~]# rpm -q bash 查看软件名
'bash-4.1.2-40.el6.x86_64
[root@centos6 ~]# rpm -e tree 卸载tree
[root@centos6 ~]# rpm -q tree 查询tree
package tree is not installed 没有查找到那么就是卸载成功
[root@centos6 ~]# rpm -i /mnt/Packages/tree-1.5.3-3.el6.x86_64.rpm 再次重新安装tree软件包,发现已经没有之前的告警了。
rpm安装RPM包实际操作过程中容易遇到的最大的问题就是:RPM的依赖关系
依赖关系的解决办法:
- 配置YUM源
- 点击查看YUM源的配置方法
- 使用rpm安装依赖的软件,只需要注意一点:被依赖的软件包需要先安装
例如:
这里vim-enhanced依赖于vim-common,所有在安装的时候,我们要先安装vim-common,在安装vim-enhanced,而在卸载的时候,与之相反,我们先卸载vim-enhanced,再卸载vim-common软件。