一、 yum原理:

1)yum简介:

Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE、CentOS中的shell前端软件包管理器。

2)yum的作用:

yum的宗旨是自动化地升级,安装/移除rpm包,收集rpm包的相关信息,检查依赖性并自动提示用户解决。

3)yum的特点:

1、yum能够从指定的服务器上自动下载rpm包,并进行安装;

2、yum能够自动的处理软件包之间的依赖性关系;

3、yum能够一次性安装所有被依赖的软件包,无需繁琐的一次次下载、安装;

4、配置简单(/etc/yum.conf、/etc/yum.repo.d/youname.repo)

5、使用方便

4)yum配置的相关信息:

yum的一切配置信息都储存在/etc/yum.conf的配置文件中,此文件是整个yum系统的重中之重,所以有必要详细介绍。

yum在企业网上的应用_yum命令

5)yum仓库:

yum默认仓库放在/etc/yum/repos.d目录下;

凡是放在/etc/yum/repos.d目录下的,以.repo为后缀的文件系统都会识别为yum的仓库文件;

yum仓库是yum的关键之处,yum需要有可靠的repository;

仓库可以是http或ftp站点, 也可以是本地仓库,但必须包含rpm的header,header包括了rpm包的各种信息,包括描述,功能,提供的文件,依赖性等;

正是收集了这些 header并加以分析,才能自动化地完成余下的任务。

6)Yum相关配置命令:

(1)、rpm包的更新

   * 检查可更新的rpm包 
   #yum check-update

   * 更新所有的rpm包 
   #yum update

   * 更新指定的rpm包,如更新kernel和kernel source 
   #yum update kernel kernel-source

   * 大规模的版本升级,与yum update不同的是,连旧的淘汰的包也升级 
   #yum upgrade

(2)、rpm包的安装和删除 
   * 安装rpm包,如xmms-mp3 
   #yum install xmms-mp3 
   * 删除rpm包,包括与该包有倚赖性的包 
   #yum remove licq 
   * 注:同时会提示删除licq-gnome,licq-qt,licq-text

(3)、yum暂存(/var/cache/yum/)的相关参数

   * 清除暂存中rpm包文件 
   #yum clean packages

   * 清除暂存中rpm头文件 
   #yum clearn headers

   * 清除暂存中旧的rpm头文件 
   #yum clean oldheaders

   * 清除暂存中旧的rpm头文件和包文件 
   #yum clearn 或#yum clearn all 
   * 注:相当于yum clean packages + yum clean oldheaders

(4)、包列表

   * 列出资源库中所有可以安装或更新的rpm包 
   #yum list

   * 列出资源库中特定的可以安装或更新以及已经安装的rpm包 
   #yum list mozilla
   #yum list mozilla* 
   * 注:可以在rpm包名中使用匹配符,如列出所有以mozilla开头的rpm包 
   * 列出资源库中所有可以更新的rpm包 
   #yum list updates

   * 列出已经安装的所有的rpm包 
   #yum list installed

   * 列出已经安装的但是不包含在资源库中的rpm包 
   #yum list extras 
   * 注:通过其它网站下载安装的rpm包 
(5)、rpm包信息显示(info参数同list) 
   * 列出资源库中所有可以安装或更新的rpm包的信息 
   #yum info

   * 列出资源库中特定的可以安装或更新以及已经安装的rpm包的信息 
   #yum info mozilla
   #yum info mozilla* 
   * 注:可以在rpm包名中使用匹配符,如列出所有以mozilla开头的rpm包的信息

   * 列出资源库中所有可以更新的rpm包的信息 
   #yum info updates  
   * 列出已经安装的所有的rpm包的信息 
   #yum info installed

   * 列出已经安装的但是不包含在资源库中的rpm包的信息 
   #yum info extras 
   * 注:通过其它网站下载安装的rpm包的信息 
(6)、搜索rpm包

   * 搜索匹配特定字符的rpm包 
   #yum search mozilla 
   * 注:在rpm包名,包描述等中搜索

   * 搜索有包含特定文件名的rpm包 
   #yum provides realplay

二、案例 - 1:

案例说明:

公司内有一个局域网,主机使用linux操作系统,希望通过一台yum服务器实现各种软件包的安装。

拓扑图:

yum在企业网上的应用_yum原理_02

实验要求:

在局域网内架设一台ftp服务器,在其中放置各种软件包,只需在客户机上配置相应的yum仓库,使得客户机实现网路yum安装;

解决在安装外来rpm包时,所产生的软件包依赖关系;

配置步骤:

1)服务器端配置:

1、FTP服务器的架设:

挂载光盘:

[root@localhost ~]# mount /dev/cdrom /mnt/cdrom

mount: block device /dev/cdrom is write-protected, mounting read-only

安装vsfpt服务:

[root@localhost ~]# cd /mnt/cdrom/Server/

[root@localhost Server]# rpm -ivh vsftpd-2.0.5-16.el5.i386.rpm

warning: vsftpd-2.0.5-16.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186

Preparing...                ########################################### [100%]

   1:vsftpd                 ########################################### [100%]

[root@localhost Server]#

启动vsftpd服务:

[root@localhost Server]# service vsftpd start

Starting vsftpd for vsftpd:                                [  OK  ]

[root@localhost Server]#

2、将rpm包导入FTP服务器中;

将光盘镜像中的所有软件包拷贝到ftp服务器中;

[root@localhost ~]# cp -r /mnt/cdrom/. /var/ftp/pub/

You have mail in /var/spool/mail/root

[root@localhost ~]#

3、查看文件的完整性;

查看各个软件包仓库的yum的校验文件是否缺失:

Server目录的完整性:

yum在企业网上的应用_yum原理_03

VT目录的完整性:

yum在企业网上的应用_yum特点_04

Cluster目录的完整性:

yum在企业网上的应用_yum特点_05

ClusterStorage目录的完整性:

yum在企业网上的应用_yum_06

2)客户端配置:

1、进入yum仓库目录文件:

[root@localhost ~]# cd /etc/yum.repos.d/

[root@localhost yum.repos.d]# ll

total 12

-rw-r--r-- 1 root root 254 Aug  4  2009 rhel-debuginfo.repo

[root@localhost yum.repos.d]# 
2、创建一个yum仓库:【toftp.repo】

[root@localhost yum.repos.d]# cp rhel-debuginfo.repo toftp.repo

[root@localhost yum.repos.d]# ll

total 16

-rw-r--r-- 1 root root 254 Aug  4  2009 rhel-debuginfo.repo

-rw-r--r-- 1 root root 254 Aug 13 13:11 toftp.repo

[root@localhost yum.repos.d]#

3、编辑toftp.repo仓库:

[root@localhost yum.repos.d]#

[root@localhost yum.repos.d]# vim toftp.repo

[root@localhost yum.repos.d]#

yum在企业网上的应用_yum配置_07

4、列出仓库,验证yum仓库是否可用:

yum在企业网上的应用_yum_08

第一次使用yum时,yum会自动下载所有所需的headers放置于/var/cache/yum目录下,来作为yum暂存。

验证测试:

验证安装dovecot服务:

yum在企业网上的应用_yum配置_09

yum在企业网上的应用_yum配置_10

yum在企业网上的应用_yum配置_11

案例扩展:

如何解决在安装外来rpm包时,所产生的软件包依赖关系?

使用httpd-2.2.3-31.el5.i386.rpm测试;

yum在企业网上的应用_yum特点_12

方法一:将外来软件包添加到yum仓库中; 步骤:

1、安装createrepo软件包:

[root@localhost ~]# cd /mnt/cdrom/Server

[root@localhost Server]# rpm -ivh createrepo-0.4.11-3.el5.noarch.rpm

Preparing...                ########################################### [100%]

   1:createrepo             ########################################### [100%]

[root@localhost Server]#

yum在企业网上的应用_yum命令_13

2、将外来的rpm包导入到/var/ftp/pub/Server目录下:

yum在企业网上的应用_yum特点_14

3、将所有软件包的信息重新写入仓库组文件中,生成全新的仓库的组文件:

yum在企业网上的应用_yum特点_15

yum在企业网上的应用_yum配置_16

4、清除原有的yum缓存:

yum在企业网上的应用_yum_17

5、重新列出所有软件包,更新yum缓存:

yum在企业网上的应用_yum原理_18

方法二:使用yum的本地安装,并且不进行公钥校验;

yum在企业网上的应用_yum配置_19
yum在企业网上的应用_yum特点_20yum在企业网上的应用_yum命令_21

案例小结:

使用yum本地安装时,不能进行证书检测,使得不能够确认软件包的安全性;

 

 

案例 - 2:待定,敬请期待!!