RPM是RedHat Package Manager(RedHat软件包管理工具)的缩写,这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,现在包括OpenLinux、S.u.S.E.以及Turbo Linux等Linux的分发版本都有采用,可以算是公认的行业标准了。
rpm命令:
包:组成部分
主包:
bind-version
bind-9.7.1-1.e15.i586.rpm
子包:
bind-libs-9.7.1-1.e15.i586.rpm
bind-utils-9.7.1-1.e15.i586.rpm
包名格式
主版本号
次版本号
发行号:
bind-9.7.1.tar.gz
bind-9.7.1-1.i686.rpm(32位)
rpm包:(二进制格式)
rpm包作者下载源程序,编译配置完成后,制作成rpm包
bind-9.7.1-1.noarch.rpm
bind-9.7.1-1.ppc.rpm
rpm命令:
安装格式
rpm {-q|--query} [select-options] [query-options]
rpm:
强大的数据库 : /var/lib/rpm
rpmbulid:创建软件包
1.安装
rpm -i|--install
rpm -i /PATH/TO/PACKAGE_FILE
-h:以#号显示进度,每个#表示2%;
-v:显示详细信息
-vv:显示更详细的信息
rpm -ivh /PATH/TO/PACKAGE_FILE
--nodeps:忽略依赖关系
--replacepkgs:重新安装,替换原有安装
--force:强行安装,可以实现重装和降级
--test:测试
2.查询
rpm -q 软件包名字:查询指定包是否已安装
例: rpm -q zsh-4.2.6-6.el5.i386.rpm
rpm -qa:查询已经安装所有包
例:rpm -qa |grep "^z"
rpm -qi PACKAGE_NAME:查询指定软件包的指定信息
例:rpm -qi zsh-4.2.6-6.el5.i386.rpm
rpm -ql PACKAGE_NAME:查询指定包安装后生成的文件列表
例:rpm -ql zsh-4.2.6-6.el5.i386.rpm
rpm -qc PACKAGE_NAME:查询指定安装的配置文件
例:rpm -qc zsh-4.2.6-6.el5.i386.rpm
rpm -qd PACKSGE_NAME:查询指定包安装的帮助文件
例:rpm -qd zsh-4.2.6-6.el5.i386.rpm
rpm -q --scripts PACKAGE_NAME: 查询指定包中包含的脚本
例:rpm -ql --scripts zsh-4.2.6-6.el5.i386.rpm
rpm -qf /path/to/somefile:查询指定的文件是由哪个rpm包安装生成的
*注: 如果某rpm包尚未安装,我们需查询其说明信息、安装以后会生成的文件;
rpm -qpi /PATH/TO/PACKAGE_FILE 未安装是查看说明信息
i:软件包的信息
rpm -qpl /PATH/TO/PACKAGE_FILE 安装以后会生成的文件
3.升级
rpm -Uvh /PATH/TO/NEW_PACKAGE_FILE:如果装有老版本的,则升级;否则,则安装;
rpm -Fvh /PATH/TO/NEW_PACKAGE_FILE:如果装有老版本的,则升级;否则,退出;
4.降级
rpm -ivh --oldpackage:降级
例:rpm -ivh --oldpackage zsh-4.2.6-6.el5.i386.rpm
5.卸载
rpm -e PACKAGE_NAME
--nodeps:强行卸载
例:rpm -e zsh-4.2.6-6.el5.i386.rpm
6.校验
rpm -V PACKAGE_NAME :检查文件是否被非法更改
例:rpm -V zsh-4.2.6-6.el5.i386.rpm
7.重建数据库
ls /var/lib/rpm/:查看
--rebuliddb:重建数据库。一定会重新建立