RPM是RedHat Package Manager(RedHat软件包管理工具)
rpm 执行安装包二进制包(Binary)以及源代码包(Source)两种。二进制包可以直接安装在计算机中,而源代码包将会由RPM自动编译、安装。源代码包经常以src.rpm作为后缀名。
RPM源代码包装安装
.src.rpm结尾的文件,这些文件是由软件的源代码包装而成的,用户要安装这类RPM软件包,必须使用命令:
rpm –recompile vim-4.6-4.src.rpm #这个命令会把源代码解包并编译、安装它,如果用户使用命令:
rpm –rebuild vim-4.6-4.src.rpm #在安装完成后,还会把编译生成的可执行文件重新包装成i386.rpm的RPM软件包。
常用参数
-i, --install install package(s)
-v, --verbose provide more detailed output
-h, --hash print hash marks as package installs (good with -v)
-e, --erase erase (uninstall) package
-U, --upgrade=<packagefile>+ upgrade package(s)
--replacepkge 无论软件包是否已被安装,都强行安装软件包
--test 安装测试,并不实际安装
--nodeps 忽略软件包的依赖关系强行安装
--force 忽略软件包及文件的冲突
Query options (with -q or --query):
-a, --all query/verify all packages
-p, --package query/verify a package file
-l, --list list files in package
-d, --docfiles list all documentation files
-f, --file query/verify package(s) owning file
常用命令组合:
-ivh:安装显示安装进度--install--verbose--hash
-Uvh:升级软件包--Update;
-qpl:列出RPM软件包内的文件信息[Query Package list];
-qpi:列出RPM软件包的描述信息[Query Package install package(s)];
-qf:查找指定文件属于哪个RPM软件包[Query File];
-Va:校验所有的RPM软件包,查找丢失的文件[View Lost];
-e:删除包
-ivh xxx.rpm --nodeps --force:强制安装
-Uvh xxx.rpm --nodeps --force
-e xxx --nodeps:忽略依赖删除
rpm重建数据库:
数据库位置:/var/lib/rpm
rpm --rebuilddb:重建数据库,一定会重新建立。
rpm --initdb:初始化数据库,没有才建立,有就不用建立。
RPM软件包管理的查询功能:
命令格式
rpm {-q|–query} [select-options] [query-options]
查询系统已安装的软件;query all
语法:rpm -qa 软件名
rpm -qa what
查询一个已经安装的文件属于哪个软件包;
语法 rpm -qf 文件名
注:文件名所在的绝对路径要指出
查询已安装软件包都安装到何处;
语法:rpm -ql 软件名 或 rpm rpmquery -ql 软件名
查询一个已安装软件包的信息
语法格式: rpm -qi 软件名
查看一下已安装软件的配置文件;
语法格式:rpm -qc 软件名
查看一个已经安装软件的文档安装位置
语法格式: rpm -qd 软件名
查看一下已安装软件所依赖的软件包及文件;
语法格式: rpm -qR 软件名
对于未安装的软件包的查看
查看一个软件包的用途、版本等信息
语法: rpm -qpi xxx.rpm
查看一件软件包所包含的文件
语法: rpm -qpl xxx.rpm
查看软件包的文档所在的位置
语法: rpm -qpd xxx.rpm
查看一个软件包的配置文件
语法: rpm -qpc xxx.rpm
查看一个软件包的依赖关系
语法: rpm -qpR xxx.rpm