Linux 之 rpm 与 yum 包管理

(一)RPM 包管理
前端

1、RPM 软件包管理器
node

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

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

2、RPM 的优势
服务器

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

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

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


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

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

3、RPM 的主要功能测试

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

 2,rpm包的查询功能

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

 4, 校检功能

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

 5,网络远程安装功能

4、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 :忽略依赖关系的卸载

5、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

6、RPM 的升级与校检

 1,rpm的升级

 命令格式 rpm -U | -F RPM_FILE

 相关的命令选项

 -U :升级并安装

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

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

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

 --nodeps:忽略依赖关系

2,rpm的校检

 命令格式

  rpm - V

(二)YUM 包管理

1、YUM 软件包管理器

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

2、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=  

3、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

4、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 :包组的移除

5、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:查询文件由哪些包生成

6、YUM仓库的建立

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

二、[  ]里面是写仓库的ID,名称能够随便取,但必须惟一;

三、name是yum的名称也能够随便取,也必须惟一;

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

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

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

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

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

相关文章
相关标签/搜索