天天看点

Linux软件包的管理--YUM

    在上一篇博客《Linux软件包的管理--RPM包管理器》中详细讲述了RPM,但是存在一个问题?就是RPM不能自动解决软件包之间的依赖性。所以就出现了增强版的RPM管理器-YUM。

    以下讲解以CentOS6系列为例。

一、YUM介绍

    YUM(Yellowdog Updater Modified)是一种C/S架构,它为什么就能自动解决依赖性关系呢?这取决于 YUM 服务端的RPM仓库,在这个仓库里放着我们经常用到的rpm格式的软件包。

1、yum仓库的组成

组成

内容

数据

存放各个rpm包

元数据

包名、版本信息、依赖关系、包分组信息、依赖关系列表。

在centos6中遵循sqlite格式,生成的元数据目录是repodata。

2、yum客户端如何访问服务端

    以升级为例:

Linux软件包的管理--YUM

3、如何配置yum的服务端和客户端

1)在服务器端

    首先:在服务器端要确保有可用的yum仓库。yum仓库其实就是文件服务器。repodata目录所在的父目录就是一个yum仓库。

    其次:服务器端必须通过某种手段将yum仓库共享出去,可以让客户端使用,常见的共享方式有:ftp,http,nfs。如果是本地使用(客户端和服务端是同一台机器),也可以使用file方式。

2)yum客户端

    提供repo配置文件,指明仓库访问路径及各种属性。主配置文件(中心配置文件):/etc/yum.conf。 

    一个后几个相关的仓库的配置保存成一个文件,文件名都以.repo结尾,保存在/etc/yum.repo.d目录中。

    下面介绍一下文件格式(以163镜像为例):

    配置好这些准备工作,就可以使用yum工具了。

三、yum工具的使用

    这里以互联网163镜像为例演示。

1、列出所有可用repo

    yum repolist {enabled|disabled|all}

2、列出rpm包

    yum list {all|installed|available}

3、包的描述信息

    yum info package_name

4、列出所有的包组信息

    yum grouplist

5、显示包组的信息:例如组中包含的程序包列表

    yum groupinfo "GROUP NAME"

6、清理缓存

    yum clean {all|packages|metadata|expire-cache|rpmdb|plugins}

7、安装程序包

    yum install package_name

Linux软件包的管理--YUM

  重新安装:

    yum reinstall package_name

8、升级

    yum check-update: 检查可用的升级包

Linux软件包的管理--YUM

    yum update package_name 升级软件

Linux软件包的管理--YUM

    yum downgrade package_name 降级使用的,退回原来的版本

9、卸载

    yum remove|erase package_name

10、查询某文件是由哪个包安装生成的

    yum whatprovides|provides /path/to/somefile

11、安装包组

    yum groupinstall "GROUP NAME"

12、卸载包组

    yum groupremove "GROUP NAME"

四、自制yum仓库

1、如果作为个人使用的话,最简单的办法是,挂载光盘镜像使用。

    以VMware虚拟机为例:

    先关联光盘镜像,挂载光盘镜像就可以使用。

    其中:.repo中的baseurl使用file就可。例如:baseurl=file:///media/centos

2、自建yum仓库服务器

    以ftp为例,步骤:

(1) 安装ftp程序,并启动服务

    # rpm -ivh vsftp-版本号

    或者

    # yum install vsftpd -y

    启动服务

    # service vsftpd start

    # chkconfig vsftpd on

(2) ftp的共享目录为/var/ftp/pub

    创建子目录,存放某相关的所有rpm包(建议)

(3) 为仓库生成元数据文件,以使能够作为仓库使用

    # rpm -ivh createrepo-版本号

    # yum install createrepo -y

    # createrepo /path/to/rpm_repo/  生成repo的元数据目录 例如:createrepo /var/ftp/pub/Packages   

(4) 配置yum客户端使用此仓库即可

    总结:本文主要介绍yum工具的使用,简单介绍了自制yum服务端的步骤。

继续阅读