RPM(RedHat PackageManager,红帽子软件包管理器)用于软件包的安装、查询、升级、校验、卸载,以及生成.rpm格式的软件包。RPM使用数据库的方式来记录已经安装的软件包信息,数据库存储在目录/var/lib/rpm中。node
格式: rpm 选项[软件名|软件包名] 参数: -q #软件名 查看指定的软件是否安装 -qa #查看系统内容已经安装了那些rpm包 -ql #软件名 查看软件包里文件都安装的了系统的什么目录下 -qc #软件名 查看软件包里的配置文件都安装到的什么目录下 -qf #文件名 查看文件由那个软件包安装 -i #在系统中安装软件 -U #在系统中升级软件 -e #在系统中卸载软件 -h #用 #(hash) 符显示 rpm 安装过程 -v #详述安装过程 -a #查询全部已安装的软件包 -f #查询 文件所属软件包 -l #显示软件包中的文件列表 -d #显示被标注为文档的文件列表 -c #显示被标注为配置文件的文件列表 -p #代表对 RPM 包进行查询,一般和其它参数同时使用,如: -qlp #查询某个 RPM 包中的全部文件列表 -qip #查询某个 RPM 包的内容信息 --excludedocs #不安装软件包的文档文件 --prefix PATH #将软件包安装到指定目录 --test #只对安装进行测试,并不实际安装(一般用来看下须要的依赖项) --replace[pkgs|files] #当出现冲突时或想强制覆盖时可使用 --nodeps #不考虑依赖关系,强制安装 --force #强制安装软件包
RHEL5中安装光盘中的包路径说明:linux
Server 提供服务的软件包数据库
VT 提供虚拟化技术的软件安全
Cluster 提供集群功能的软件包bash
ClusterStorage 提供集群和存储功能的软件包ide
p_w_picpaths 提供镜像文件和引导文件测试
isolinux 提供镜像文件和引导文件ui
安装软件
spa
rpm -ivh package.rpm
强制安装(忽略依赖)server
RPM 中的默认安装规则是不容许同一个包屡次安装的,也不容许降级安装。使用 --force 辅助参数将不考虑以上因素,强制安装 RPM 包。可是,--force 没法强制安装一个不知足系统依赖性关系的包 ( 此时须要用到 --nodeps 参数 ) 。
rpm -ivh --nodeps package.rpm rpm -ivh --force package.rpm
远程安装RPM
rpm -Uvh ftp://user:pass@ftpserver/package.rpm
从新安装
当要安装的软件包的某些文件已经在安装其余软件包时安装过了时,能够经过 --replacefiles参数来替换属于其余软件包的文件,若是安装RPM软件包发生冲突时,能够经过 --replacepkgs参数强制从新安装
rpm -ivh --replacepkgs package.rpm
升级软件包
rpm -Uvh package.rpm #如此版本的软件包没安装 直接安装当前版本的软件包 rpm -Fvh package.rpm #如此版本的软件没安装 当前版本的软件包装不上
卸载软件包
-e #卸载rpm 包 --nodeps #忽略包依赖关系卸载 --force #强制卸载软件包 rpm -ev package rpm -e package rpm -e --nodeps package rpm -e --force package
查询RPM包中包含的文件列表
rpm -qlp package
查询RPM包中包含的内容信息
rpm -qip package
查询系统中全部已安装RPM包
rpm -qa
查询是否安装软件包
rpm -q package
查看软件包文件安装在系统的目录
rpm -ql package
查看软件包配置文件安装在系统的目录
rpm -qc package
查看文件是由那个RPM包安装
rpm -qf package
系统内全部被改动过文件
rpm -Va
查看指定的文件是否被改动过
rpm -Vf filename
查看指定软件提供的文件那些被改过
rpm -V package
验证软件包
rpm -Vp package
S ---文件大小不一样 M ---文件权限和文件类型不一样 5 ---MD5检验码不一样 D ---设备的标识号不一样 L ---文件的连接路径不一样 U ---文件的全部者不一样 G ---文件的所属组不一样 T ---文件的修改时间不一样
手动更新rpm包的数据库文件
rpm --initdb
查询RPM包的依赖关系
rpm -qRp package_a.rpm
验证RPM签名
可使用 --import 导入与软件同时发布的 GPG KEY, 接着使用 -K 命令来验证包的安全性,如:
rpm --import pub_ibm_lotus_notes.gpg rpm -K ibm_lotus_notes-8.5.i586.rpm 返回信息 : ibm_lotus_notes-8.5.i586.rpm: (sha1) dsa sha1 md5 gpg OK
重构RPM数据库
若是底层数据库损坏,RPM 将没法正常使用。此时最经常使用的解决方法是重构数据库:
rm -f /var/lib/rpm/__* ; rpm -vv --rebuilddb
查询RPM包的安装时间
rpm -qa --last
软件包文件提取
#解压指定文件到当前目录 rpm2cpio /../...rpm |cpio –idv ./../..
查询软件包帮助文档
rpm -qc package