一、什么是rmp包:
RPM 是 Red Hat Package Manager 的缩写,本意是Red Hat 软件包管理,是Red Hat发行版本所使用的一个软件管理工具,类似与windows的添加和删除程序。
windows中的安装包格式有.exe,.msi等等,而在linux中的安装包格式主要有2中:二进制包和源代码包。二进制包是可以直接进行安装的包,后缀名为.rpm,源代码包是需要进行编译,然后才能安装,后缀名为src.rpm。
二、rpm包管理的使用
rpm包管理主要的功能有:安装、升级、卸载、查询和校验、数据库维护,接下来将对这些功能进行一一的解析,
rpm命令的格式为:rpm [OPTIONS] [PACKAGE_FILE]
1、安装:-i
rpm {-i|--install} [install-options] PACKAGE_FILE
[install-options] :
-v:verbose,显示安装过程
-h:hash marks输出进度条;每个#表示2%的进度
--test:测试安装,检查并报告依赖关系及冲突消息等;
--nodeps:忽略依赖关系;不建议
--replacepkgs:重新安装
--nosignature:不检查包签名信息,不检查来源合法性;
--nodigest:不检查包完整性信息;
常用命令:rpm -ivh PACKAGE_FILE
2、升级:-U,-F
rpm {-U|--upgrade} [install-options] PACKAGE_FILE ...
rpm {-F|--freshen} [install-options] PACKAGE_FILE ...
-U:升级或安装;
-F:升级
[install-options]:
--oldpackage:降级
--force:强制升级;
常用命令:rpm -Uvh PACKAGE_FILE ...
rpm -Fvh PACKAGE_FILE ...
3、卸载:-e
rpm {-e|--erase} [erase-options] PACKAGE_FILE ...
[erase-options]:
--allmatches:卸载所有匹配指定名称的程序包的各版本;
--nodeps:忽略依赖关系
--test:测试卸载,dry run模式
4查询:-q
rpm {-q|--query} [select-options] [query-options]
[select-options]
PACKAGE_NAME:查询指定的程序包是否已经安装,及其版本;
-a, --all:查询所有已经安装过的包;
-f FILE:查询指定的文件由哪个程序包安装生成
-p, --package PACKAGE_FILE:用于实现对未安装的程序包执行查询操作;
--whatprovides CAPABILITY:查询指定的CAPABILITY由哪个程序包提供;
--whatrequires CAPABILITY:查询指定的CAPABILITY被哪个包所依赖;
[query-options]
--changelog:查询rpm包的changlog;
-l, --list:程序安装生成的所有文件列表;
-i, --info:程序包相关的信息,版本号、大小、所属的包组,等;
-c, --configfiles:查询指定的程序包提供的配置文件;
-d, --docfiles:查询指定的程序包提供的文档;
--provides:列出指定的程序包提供的所有的CAPABILITY;
-R, --requires:查询指定的程序包的依赖关系;
--scripts:查看程序包自带的脚本片断;
常用方法:
-qi PACKAGE:程序包相关的信息
-qf FILE:查询指定的文件由哪个程序包安装生成
-qc PACKAGE:查询指定的程序包提供的配置文件
-ql PACKAGE:程序安装生成的所有文件列表
-qd PACKAGE:查询指定的程序包提供的文档
-qpi PACKAGE_FILE:查询没有安装的程序包的详细信息
-qpl PACKAGE_FILE:查询没有安装的程序包将要生成的文件列表
-qpc PACKAGE_FILE:查询没有安装的程序包将要生成的配置文件
5、校验:-V
rpm {-V|--verify} [select-options] [verify-options]
功能主要验证程序包的合法性和完整性。
6、数据库维护
rpm {--initdb|--rebuilddb} [--dbpath DIRECTORY] [--root DIRECTORY]
--initdb:初始化数据库,当前无任何数据库可实始化创建一个新的;当前有时不执行任何操作;
--rebuilddb:重新构建,通过读取当前系统上所有已经安装过的程序包进行重新创建;
总结:rpm包管理程序有一个小的弊端就是:它不能够完美的解决程序包安装时的依赖关系,所以在rpm的基础上产生了一个新的前端管理工具yum,我将在下一章讲解yum的使用方法。