(一)RPM 包管理

一、RPM 软件包管理器

  RPM是RedHat Package Manager(RedHat软件包管理工具),一种用于互联网下载包的打包及安装工具它包含在某些Linux分发版中。它生成具有.RPM扩展名的文件。与类似。

  RPM文件在Linux系统中的安装最为简便。以著名的XV为例,其RPM包'xv-3.10a-13.i386.rpm'可以在该程序的主页中下载取得。

二、RPM 的优点

   1,RPM内含已编译过的二进制程序与配置文件等数据,使用户不用再用源代码编译;

   2,RPM在安装前,能先检测操作系统的版本和rpm包的来源合法性、完整性,避免错误安装;使用命令 rpm -k 来检测,实现验证机制。

# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release# rpm -K package_name

   3,RPM包本身提供了软件版本信息、依赖属性软件名称、软件用途说明、软件所含信息等,方便理解软件;

   4,RPM管理的方式使用数据库记录了RPM包的相关参数,便于验证,查询,升级和删除。

三、RPM 的主要功能

 1,安装、卸载、升级和管理软件

 2,rpm包的查询功能

 3,验证功能:软件包GPG和MD5签名的导入、验证和发布

 4, 校检功能

 4,软件包依赖处理:选择安装

 5,网络远程安装功能

四、RPM 的安装于卸载

 1,rpm包的安装

 命令格式 rpm -i /path/to/RPM_FILE

# rpm -i /path/to/RPM_FILE

 安装的命令选项

 -i | --install :安装

 -v :查看更详细的安装信息

 -h : 以#显示安装进度,一个#表示2%的进度

 -ivh :组合使用

 --nodeps :忽略依赖关系的安装

 --test :测试安装

 --replacepkgs :重新安装

 2,rpm包的卸载

  命令格式:rpm -e  FILENAME

  卸载的命令选项

 -e :卸载rpm

 -- nodeps :忽略依赖关系的卸载

五、RPM 的查询

 命令格式 rpm -q | --query FILENAME

# rpm -q | --query FILENAME

 查询的命令选项

  -qa : 查询所有已经安装的包

  -qi : 查询包的摘要信息

  -ql : 查询包安装生成的文件清单

  -qc :查询包安装生成的配置文件

  -qd :查询包安装生成的帮助文档

  -q --scripts :查询包相关的脚本

preinstall: 安装前脚本  ;postinstall: 安装后脚本;

preuninstall: 卸载前脚本 ;postuninstall: 卸载后脚本

  查询尚未安装的包的相关信息

  命令格式 rpm -qp FILENAME

相关的命令选项

  -qpi ,-qpl,-qpc,-qpd,-qp --scripts

六、RPM 的升级与校检

 1,rpm的升级

 命令格式 rpm -U | -F RPM_FILE

 相关的命令选项

 -U :升级并安装

 -F :升级 只升级完成更新,需要老版本

 -Uvh | -Fvh :升级过程显示详细信息,并显示升级进度

 --force :强行升级忽略依赖关系

 --nodeps:忽略依赖关系

2,rpm的校检

 命令格式

  rpm - V

(二)YUM 包管理

一、YUM 软件包管理器

 Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE、CentOS中的前端软件包管理器。基于包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

二、YUM 的配置文件

   YUM的一切配置信息都存储在/etc/yum.conf的配置文件中,这是整个yum系统的重中之重,可以用来定义一个yum仓库。

section:

[main]

[repository_ID]

name= 描述信息

baseurl= 基本链接路径

enabled={1|0} 是否启动 ,1为启动、0为禁用

gpgcheck={1|0} 检测rpm签名 ,1为检测、0为不检测

gpgkey=  

三、YUM 的主要功能

1,安装包:
yum install package_name

  2,删除包:yum remove package_name或者yum erase package_name

  3,升级包:yum upgrade foo或者yum update foo

  4,查询信息:yum info foo

  5,搜索包(以包含foo字段为例):yum search foo

6,显示软件包依赖关系:yum deplist foo

四、YUM 的主要命令

1, 命令格式

  yum SUBCOMMAND package_name

2,yum 的相关命令

# yum subcommand

list {all|installed|available}:列出{所有|已安装|可安装}的包

repolist [all|enabled|disabled]:查看当前{所有|启用|禁用}的包

info package_name:查询包的详细信息

clean [ packages | metadata | expire-cache | rpmdb | plugins | all ]:

清空{包|元数据|过期的缓存|rpm包日志|插件程序|所有}

makecache:手动建立缓存

3,yum 包组的相关命令

groupinfo "group_name" :包组的详细信息

groupinstall : 包组的安装

开发组:

RHEL6,CentOS6: "Development tools"、"Server Platform Development" "Desktop Platform Development"

RHEL5, CentOS5: "Development tools"、"Development Libraries"

groupupdate :包组的更新

groupremove :包组的移除

五、YUM 包的安装、升级、卸载

1,yum 的安装

  命令格式

yum install  package_name 安装包

   yum -y 自动回答为yes

  yum reinstall  package_name  重新安装包

2,check-update :检查可升级的包

  update package_name : 升级包

  update-to :指定包所升级的版本

  remove package_name : 卸载包

  provides | whatprovides:查询文件由哪些包生成

六、YUM仓库的创建

1、在yum仓库的文件(/etc/yum.repos.d/)中建立一个以.repo结尾的文件;

2、[  ]里面是写仓库的ID,名称可以随便取,但必须唯一;

3、name是yum的名称也可以随便取,也必须唯一;

4、baseurl指定可以通过本机、http或者ftp访问到的rpm包的所在路径,该路径下必须有一个repodata的文件;

5、enabled默认为11表示启用此仓库,0表示不启;

6、gpgcheck默认也是为11表示检查公钥,当检查公钥时要指定gpgkey的地址,0表示不检查,不检查公钥就不用指gpgkey的地址,如果是本地光盘搭建yum仓库,则可以设置gpgcheck=0;

7、当gpgcheck=1时,gpgkey指向包含RPM-GPG-KEY-CentOS-6这个文件的路径;

8、cost是表示花费代价,cost默认是2000,越小越先访问。