我们知道CentOS,本质上是RedHat的社区版,其无论是功能还是软件配置上都与RedHat保持一致,因此CentOs系列的软件包管理主要的也是rpm和yum工具。
  RPM包管理
  rpm包管理工具可以说是历史悠久、名声斐然了。rpm起初是RedHat公司研发的软件包管理工具,即RedHat Package Managemer。但由于其性能突出,在开源界得到了各大Linux发行厂商的认同,被推崇为公认的行业标准,因此rpm也改为递归称呼RPM Package Manager。
  虽然现在的标准CentOS系统都有yum可以使用,rpm工具似乎已经无用武之地,但作为yum利器的基础软件,在某些情况下还是很需要掌握的。尤其是当我们安装一个单独的外来rpm软件包的时候,直接使用rpm进行安装明显要好很多。
  安装
  rpm {-i|–install} [install-options] PACKAGE_FILE…
  #尤其需要注意的是这里使用的是rpm包文件的全名
  -v:  显示安装过程信息
  -h:  以# 显示程序包管理执行进度
  –test:  测试安装,但不真正执行安装;dry run 模式
  –nodeps :忽略依赖关系
  –replacepkgs | replacefiles :替换原来的安装包或文件
  –nosignature:  不检查来源合法性
  –nodigest :不检查包完整性
  –noscripts :不执行程序包脚本
  升级/更新
  rpm {-U|–upgrade} [install-options]  PACKAGE_FILE …
  rpm {-F|–freshen} [install-options]   PACKAGE_FILE …
  upgrade :安装有旧版程序包,则“升级”;如果不存在旧版程序包,则“安装”
  freshen :安装有旧版程序包,则“升级”;如果不存在旧版程序包,则不执行升级操作
  –oldpackage :降级
  –force : 强制安装
  注意:在Linux下同一软件的不同版本可以共存,这在某些情况下是非常方便的,尤其是当需要在某个软件的两个版本之间进行频繁切换的时候。另外!!!生产环境中,针对系统内核一定要谨慎升级,可以重新安装,让两个版本的内核并存,避免新内核不稳定造成严重影响。
  查询
  rpm {-q|–query} [select-options] [query-options] [select-options]
  -a:  所有已经安装的软件包
  -f:  查看系统上指定的文件由哪个程序包安装生成
  -p:对尚未安装的程序包文件进行查询,需要加上-p选项
  –whatprovides CAPABILITY :查询指定的CAPABILITY由哪个包所提供
  –whatrequires CAPABILITY :查询指定的 CAPABILITY 被哪个包所依赖
  –changelog :查询rpm 包的changelog
  -c:  查询程序的配置文件
  -d:  查询程序的文档
  -i: information
  -l:  查看指定的程序包安装后生成的 所有文件
  –scripts :程序包自带 的脚本
  -R|–requires:  查询指定的程序包所依赖的 CAPABILITY
  –provides:  列出指定程序包所提供的 CAPABILITY
  卸载
  rpm {-e|–erase}[–allmatches][–nodeps][–noscripts][–notriggers][–test] PACKAGE_NAME…
  校验
  rpm {-V|–verify} [select-options] [verify-options]  对安装后的软件进行校验
  校验结果各字符的含义:
  S  文件大小发生改变
  M  Mode 改变(包括权限和文件类型)
  5  MD5校验发生改变
  D  设备号不匹配
  L  readLink(2) 路径不匹配
  U  User 信息发生改变
  G  Group 信息发生改变
  T  mTime 改变
  P  capabilities 发生改变
  rpm -K|checksig rpmfile 软件包文件的校验,需要提前导入密钥文件
  rpm –import / etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
  YUM管理工具
  使用过yum的人,信息都不想再继续用rpm来进行软件的安装,主要的原因是yum很好的解决了软件安装过程中的包依赖关系,让软件的安装不再那么“痛苦”,尤其是当我们在安装过程中被各种依赖搞得焦头烂额却仍然无法搞定的时候,一条yum命令却可以轻松解决。这么神奇的工具是如何实现的呢?
  YUM: Yellowdog Update Modifier,是Yellowdog公司开发出来的rpm前端程序,能够很好的解决软件包安装过程中的相互依赖关系。Yum是构建在rpm基础之上的,所以没有rpm,yum也是无法使用的。要想更好的使用yum,需要进行提前配置的(系统默认已经进行配置,我们也可以根据自己需要进行修改),yum的配置主要分为客户端和服务端(在后面部分会讲解相关配置)。
  安装程序包:
  yum install package1 [package2] […]  注意:这里用的是软件包名,不是软件包的文件名
  yum reinstall package1 [package2] […]  重新安装
  –nogpgcheck :禁止进行gpg check
  -y:  自动回答为“yes”
  -q :静默模式
  –noplugins :禁用所有插件
  升级程序包:
  yum update [package1] [package2] […]
  yum downgrade package1 [package2] […]   降级
  检查可用升级:
  yum check-update
  卸载程序包:
  yum remove | erase package1 [package2] […]
  安装及升级本地程序包:
  yum localinstall rpmfile1 [rpmfile2] […]   ( 用install 替代)
  yum localupdate rpmfile1 [rpmfile2] […]  ( 用update 替代)
  包组管理的相关命令:
  yum groupinstall group1 [group2] […]
  yum groupupdate group1 [group2] […]
  yum grouplist [hidden] [groupwildcard] […]
  yum groupremove group1 [group2] […]
  yum groupinfo group1 […]