一:

1、Yum 全称为 Yellow dog Updater, Modified。是常用的shell前端软件包管理器,基于rpm包管理,常常使用yum从指定服务器上下载rpm包安装,可以自动地安装依赖包

2、yum的产生

在RedHatEnterpriseLinux(RHEL从5.O版开始采用yum)、CentOS和Fedora等发行版中,采用了一种叫做yum的软件包管理工具。yum(Yellow dog Updater Modified)用python语言写成。yum的宗旨是收集rpm软件包的相关信息,检查依赖关系,自动地升级、 安装、删除rpm软件包。

yum的关键之处是要有可靠的repository(仓库),repository管理一部分甚至一个Linux发行版的应用程序的依赖关系,根据计算出来的依赖关系进行相关软件包的升级、安装、删除等操作,解决了Linux用户一直头痛的依赖关系问题。 repository可以是http或ftp站点,也可以是本地软件池,但必须包含rpm的header。header包括了rpm包的各种信息,包括描述、功能、提供的文件、依赖性等。正是收集了这些header并加以分析,才能自动地完成升级、安装软件包等任务。

二. yum特点

*可以同时配置多个资源库(Repository)

*简洁的配置文件(/etc/yum.conf)

*自动解决增加或删除rpm包时遇到的倚赖性问题

*使用方便

*保持与RPM数据库的一致性

三:主要功能

它更方便的添加/删除/更新RPM包.

它能自动解决包的倚赖性问题.

它能便于管理大量系统的更新问题

四、命令详解

1 安装
yum install 全部安装
yum install package1 安装指定的安装包package1
yum groupinsall group1 安装程序组group1

2 更新和升级
yum update 全部更新
yum update package1 更新指定程序包package1
yum check-update 检查可更新的程序
yum upgrade package1 升级指定程序包package1
yum groupupdate group1 升级程序组group1

3 查找和显示
yum info package1 显示安装包信息package1
yum list 显示所有已经安装和可以安装的程序包
yum list package1 显示指定程序包安装情况package1
yum groupinfo group1 显示程序组group1信息yum search string 根据关键字string查找安装包

4 删除程序
yum remove | erase package1 删除程序包package1
yum groupremove group1 删除程序组group1
yum deplist package1 查看程序package1依赖情况

5 清除缓存
yum clean packages 清除缓存目录下的软件包
yum clean headers 清除缓存目录下的 headers
yum clean oldheaders 清除缓存目录下旧的 headers
yum clean, yum clean all (= yum clean packages; yum clean oldheaders) 清除缓存目录下的软件包及旧的headers

案例:

本地yum的配置

当网络中linux主机较少时,只需配置本地yum即可使用yum仓库安装软件包

[root@localhost ~]# rpm -qa yum |grep yum
yum-3.2.22-20.el5 //查询yum是否安装

如果没有安装需要自己手动安装

[root@localhost ~]# mkdir /mnt/cdrom
[root@localhost ~]# mount /dev/cdrom /mnt/cdrom //挂载光盘
mount: block device /dev/cdrom is write-protected, mounting read-only

[root@localhost ~]# vim /etc/yum.repos.d/rhel-debuginfo.repo

1 [rhel-server] //光盘server 目录
2 name=Red Hat Enterprise Linux server //说明是server 目录
3 baseurl=file:///mnt/cdrom/Server //本地yum 源
4 enabled=1 //是否启用yum 仓库
5 gpgcheck=1 //是否做签名检测
6 gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-redhat-release //检测时候钥匙文件存放目录
7

[root@localhost ~]# yum install httpd
Loaded plugins: rhnplugin, security
This system is not registered with RHN.
RHN support will be disabled.
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package httpd.i386 0:2.2.3-31.el5 set to be updated
rhel-server/filelists | 2.3 MB 00:00
--> Finished Dependency Resolution

Dependencies Resolved

==================================================================================================
Package Arch Version Repository Size
==================================================================================================
Installing:
httpd i386 2.2.3-31.el5 rhel-server 1.2 M

Transaction Summary
==================================================================================================
Install 1 Package(s)
Update 0 Package(s)
Remove 0 Package(s)

Total download size: 1.2 M
Is this ok [y/N]: y
Downloading Packages:
warning: rpmts_HdrFromFdno: Header V3 DSA signature: NOKEY, key ID 37017186
rhel-server/gpgkey | 1.1 kB 00:00
Importing GPG key 0x37017186 "Red Hat, Inc. (release key) <security@redhat.com>" from /mnt/cdrom/RPM-GPG-KEY-redhat-release
Is this ok [y/N]: y
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : httpd 1/1

Installed:
httpd.i386 0:2.2.3-31.el5

Complete!
[root@localhost ~]#

网络yum的安装:

示意图:

linux中yum服务器的搭建_管理工具

配置:

yum服务器配置:

//挂载光盘

[root@localhost ~]# mkdir /mnt/cdrom

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

安装ftp服务器:

linux中yum服务器的搭建_Yellow_02

拷贝光盘文件到ftp公共目录下:

linux中yum服务器的搭建_包_03

客户机配置yum:

进入配置文件:

linux中yum服务器的搭建_管理工具_04

编辑配置文件:

[rhel-server]

name=Red Hat Enterprise Linux server

baseurl=ftp://192.168.100.1/pub/Server //配置server仓库
enabled=1

gpgcheck=1

gpgkey=ftp://192.168.100.1/pub/RPM-GPG-KEY-redhat-release //校验

[rhel-vt]

name=Red Hat Enterprise Linux vt

baseurl=ftp://192.168.100.1/pub/VT //配置虚拟仓库

enabled=1

gpgcheck=1

gpgkey=ftp://192.168.100.1/pub/RPM-GPG-KEY-redhat-release //校验

[rhel-cluster]

name=Red Hat Enterprise Linux cluster

baseurl=ftp://192.168.100.1/pub/Cluster //配置群集仓库

enabled=1

gpgcheck=1

gpgkey=ftp://192.168.100.1/pub/RPM-GPG-KEY-redhat-release //校验

[rhel-clusterstorage]

name=Red Hat Enterprise Linux clusterstorage

baseurl=ftp://192.168.100.1/pub/ClusterStorage //配置存储仓库

enabled=1

gpgcheck=1

gpgkey=ftp://192.168.100.1/pub/RPM-GPG-KEY-redhat-release //校验

保存退出(:wq)