一、部署YUM软件仓库

要成功使用YUM机制来更新系统和软件,需要有一个包含各种rpm安装包文件的软件仓库(Repository),提供软件仓库的服务器也称为“源”服务器,在客户机中只要正确指定软件仓库的地址等信息,就可以通过对应的“源”服务器来安装或更新软件了。

1、服务器端

 

YUM软件仓库通过借助于HTTP或者FTP协议来进行发布,这样 可以面向网络中所有客户机提供软件源服务。为了便于客户机查询软件包、获取依赖关系等信息,在软件仓库中需要提供仓库数据(Repodata),其中收集了目录下所有RPM包的头部信息。

①安装并启用vsftpd服务

 

[root@localhost ~]# rpm -ivh /media/Packages/vsftpd-2.2.2-6.el6_0.1.i686.rpm

[root@localhost ~]# chkconfig vsftpd on

[root@localhost ~]# service vsftpd start

 

②准备软件仓库目录

 

[root@localhost ~]# cp -rfp /media/cdrom/* /var/ftp/pub/

2、客户机端

 

在客户机上需要指定至少一个可用的软件仓库,然后才能使用yum工具来下载、安装软件包。yum工具使用的软件仓库信息存放在/etc/yum.repos.d/目录下扩展名为.repo的文件中。

[root@localhost ~]# vi /etc/yum.repos.d/rhel6.repo

[rhel-server] //仓库类别

name=Red Hat Enterprise Linux server//仓库名称

baseurl=ftp://192.168.1.180/pub/Server //URL访问路径

enabled=1 //启用此软件仓库

gpgcheck=0 //不验证软件包的签名     =1    //验证吧包的签名

gpgkey=ftp://192.168.1.180/pub//RPM-GPG-KEY-redhat-release

上述操作中,文件rhel6.repo需要手动创建,/etc/yum.repos.d/目录下若有其他末用的*.repo文件建议将其删除,配置"enabled=1"为默认项,可以省略;"gpgcheck"和"gpgkey"两行配置用来检查软件包是否为Red Hat发布,若无此要求则可以省略。

作为临时解决办法之一,实际上也可以使用本地文件夹作为软件仓库,例如,将RHEL6光盘挂在到/media目录以后,可以参考一下操作来进行配置。当然,这种方式仅限于在本机使用。

[root@localhost ~]# vi /etc/yum.repos.d/local.repo

[rhel-server]

name=Red Enterprise Linux server

baseurl=file:///mnt/Server

enabled=1

gpgcheck=0

gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-redhat-release

二、使用yum工具管理软件包

1、查询软件包

yum工具的常见查询操作包括获取软件包安装,查询软件包的描述信息,搜索指定的软件包,分别可结合子命令list、info、search来实现。

yum list ————查询软件包列表

直接执行“yum list”命令可以获得系统中的软件安装情况,也可以查询软件仓库中可用的软件包列表。其中子命令list表示列表查看。

[root@localhost ~]# yum list

若执行“yum list installed”则表示只列出系统中已安装的软件包,执行“yum list available” 则表示只列出软件仓库中可用(尚未安装)的软件包,执行“yum list updates”则表示只列出可以升级版本的软件包。

yum info ————查询软件包的描述信息

当前要查看某个软件包的描述信息时,可以执行“yum info软件包名”,其中子命令info表示获取信息。例如,以下操作可以查看软件包httpd的信息

[root@localhost /]# yum info httpd

Loaded plugins: product-id, refresh-packagekit, subscription-manager

Updating Red Hat repositories.

Installed Packages

Name : httpd

Arch : i686

Version : 2.2.15

Release : 9.el6

Size : 2.8 M

Repo : installed

From repo : local

Summary : Apache HTTP Server

URL : http://httpd.apache.org/

License : ASL 2.0

Description : The Apache HTTP Server is a powerful, efficient, and extensible

: web server.

yum search————查新指定的软件包

当需要根据某个关键词来查找相关的软件包时,可以执行“yum search关键词”,默认仅根据软件包名称和描述信息进行搜索;若执行“yum search all关键词”,可以扩大搜索范围。例如,以下操作将搜索软件仓库并列出与”httpd“相关的软件包。

[root@localhost /]# yum search all httpd

Loaded plugins: product-id, refresh-packagekit, subscription-manager

Updating Red Hat repositories.

============================================================================ Matched: httpd ============================================================================

httpd-devel.i686 : Development interfaces for the Apache HTTP server

httpd-manual.noarch : Documentation for the Apache HTTP server

httpd-tools.i686 : Tools for use with the Apache HTTP Server

httpd.i686 : Apache HTTP Server

mod_dav_svn.i686 : Apache httpd module for Subversion server

mod_dnssd.i686 : An Apache HTTPD module which adds Zeroconf support

mod_ssl.i686 : SSL/TLS module for the Apache HTTP Server

2、安装、升级、卸载软件包

使用yum工具安装、升级软件包、分别通过子命令install、update来完成、操作对象为指定的软件包名(可以有多个),执行操作时会自动检查并解决软件包之间的依赖关系,期间会提示用户按y键确认安装或升级操作,若希望自动确认为y,可以在yum命令后添加“-y”选项,例如,一下操作将从软件仓库下载并安装autofs软件包,并自动解决其依赖关系(安装必须的hesiod等软件包)。

[root@localhost ~]# yum -y install autofs

Loaded plugins: product-id, refresh-packagekit, subscription-manager

Updating Red Hat repositories.

Setting up Install Process

Resolving Dependencies

--> Running transaction check

---> Package autofs.i686 1:5.0.5-31.el6 will be installed

--> Finished Dependency Resolution

Dependencies Resolved

=================================================================================

Package Arch Version Repository Size

=================================================================================

Installing:

autofs i686 1:5.0.5-31.el6 Packages 464 k

Transaction Summary

=================================================================================

Install 1 Package(s)

Total download size: 464 k

Installed size: 2.9 M

Downloading Packages:

autofs-5.0.5-31.el6.i686.rpm | 464 kB 00:00

Running rpm_check_debug

Running Transaction Test

Transaction Test Succeeded

Running Transaction

Installing 1:autofs-5.0.5-31.el6.i686 1/1

duration: 246(ms)

Installed products updated.

Installed:

autofs.i686 1:5.0.5-31.el6

Complete!

使用yum工具卸载软件包时,通过子命令remove来完成,卸载操作通过软件仓库也可以完成。例如,以下操作将卸载libX11软件包,并自动解决其依赖关系(卸载依存的cairo、fprintd等软件包)。

[root@localhost ~]# yum -y remove libX11