linux(十六)RPM-红帽系软件管理工具

RPM

RPM(RedHat Package Manager)是红帽系的软件管理程序,用来解决软件之间的相互依赖问题,使用RPM安装的程序一般被防止在以下目录

目录 说明
/usr/bin 可执行文件
/usr/lib 程序使用的动态函数库
/usr/share/doc 软件使用手册和帮助
/usr/share/man man page 文件

安装软件

rpm -ivh xxx.rpm

-i :安装(install)
-v:显示更详细的安装信息
-h:以安装信息栏显示安装进度

升级和更新

除了基础的更新和升级,还有如下功能

rpm -Uvh xxx.rpm
后面接的软件即使没有安装过,系统也直接安装。
rpm -Fvh xxx.rpm
后面接的软件如果没有安装过,就忽略,不安装。

查询(常用)

  • rpm -qa 《==已安装软件
  • rpm -q[licdR] 已安装的软件名称 《==已安装软件
  • rpm -qf 存在于系统上面的某个文件名 《==已安装软件
  • rpm -qp[licdR] 未安装的某个文件名称
-q: 仅查询,后面接的软件名称是否安装
-qa: 列出所有已经安装在本Linux主机上面所有软件名称
-qi: 列出该软件的详细信息
-ql: 列出该软件所有的文件与目录
-qc: 列出该软件所有的配置文件(/etc下)
-qd: 列出该软件所有的帮助文件
-qR: 列出与该软件相关的依赖软件所含的文件
-qf: 由后面接的文件名称找出该文件属于哪一个已安装的软件
-qd[icdlR]: 找出后接rpm文件的详细信息

验证

  • rpm -Va
  • rpm -V 已安装的软件名称
  • rpm -Vp 某个RPM文件的文件名
  • rpm -Vf 在系统上的某个文件
-V: 后加软件名称,若被改动过才会列出来
-Va: 列出系统上所有可能被改动过的软件
-Vp: 后面加文件名称,列出该软件内可能被改动过的文件
-Vf: 列出某个文件是否被改动过

删除和重建数据库

rpm -e 软件名 《==删除软件
rpm --rebuilddb 《==重建RPM数据库,rpm出现问题可以使用


使用示例

列出所有已安装软件
➜  wang rpm -qa
net-tools-2.0-0.17.20131004git.el7.x86_64
plymouth-plugin-two-step-0.8.9-0.26.20140113.el7.centos.x86_64
man-pages-3.53-5.el7.noarch
centos-logos-70.0.6-3.el7.centos.noarch
vino-3.14.2-1.el7.x86_64
icedtea-web-1.6.2-4.el7.x86_64
device-mapper-multipath-0.4.9-99.el7.x86_64
autocorr-en-5.0.6.2-3.el7.noarch
libpwquality-1.2.3-4.el7.x86_64

查询是否已安装php
➜  wang rpm -q php     
php-5.4.16-42.el7.x86_64

查询/bin/sh所属软件
➜  wang rpm -qf /bin/sh
bash-4.2.46-21.el7_3.x86_64

验证yum是否被改变过,没有提示说明没有被改变,是安全的。
➜  wang rpm -V yum
➜  wang 

/etc/crontab是否被该改变过,同上 
➜  wang rpm -Vf /etc/crontab
➜  wang 


你可能感兴趣的:(linux(十六)RPM-红帽系软件管理工具)