Yum 软件包管理器 

Yum(全称为 Yellow dog Updater, Modified)是一个在FedoraRedHat以及SUSECentOS中的Shell前端软件包管理器。基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装

yum源分为三种 1.本地yum 2.网络yum 3.额外软件yum的安装

案例一、本地yum配置(以本地光盘为例)

1.创建 挂载点 /mnt/cdrom

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

[root@dg ~]# mount /dev/cdrom /mnt/cdrom    挂载/dev/cdrom

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

[root@dg ~]# mount

/dev/sda2 on / type ext3 (rw)

proc on /proc type proc (rw)

sysfs on /sys type sysfs (rw)

/dev/sda1 on /boot type ext3 (rw)

/dev/hdc on /mnt/cdrom type iso9660 (ro)

 

2.编辑配置文件

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

[rhel-debuginfo]

name=Red Hat Enterprise Linux $releasever - $basearch - Debug

baseurl=ftp://ftp.redhat.com/pub/redhat/linux/enterprise/$releasever/en/os/$basearch/Debuginfo/

enabled=0

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

修改变成如下↓↓↓

[rhel-server]

name=Red Hat Enterprise Linux server

baseurl=file:///mnt/cdrom/Server

enabled=1

gpgcheck=1

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

[rhel-cluster]  ß群集能用到 ,下面带下划线的可以不配置

name=Red Hat Enterprise Linux Cluser

baseurl=file:///mnt/cdrom/Cluster

enabled=1

gpgcheck=1

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

配置文件内容简介:

[ ]内的是仓库名

name仓库描述

baseurl YUM源地址,因为这里配置的是FTP,还可以是HTTP,FILE

enabled 是否启用这个仓库,1为起用,0为禁用

gpgcheck 是否检查GPG签名(用来验证要安装的包是不是REDHAT官方的)

GPGKEY 的存放地址需要用下面的命令到入这个签名。才能使用这项功能

3.使用本地源安装 http服务

[root@dg ~]# yum install http –y   默认安装依赖包

4.查看用yum安装的程序

[root@dg ~]# yum list installed

[root@dg ~]# yum list installed |grep httpd

Failed to set locale, defaulting to C

This system is not registered with RHN.

RHN support will be disabled.

httpd.i386                                  2.2.3-22.el5               installed

可以看到我们的http

案例二.  yum网络源的配制

本案例是以ftp服务器为例,也可以用其他服务器

拓扑图如下:

yum源的配制_redhat 

 

服务器配置如下:

1.创建挂载点并挂载

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

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

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

2.安装ftp服务器

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

3.启动ftp服务

[root@localhost ~]#service  vsftpd  restart

4./var/ftp/ 下建立dg目录 并且把相关文件复制到这个目录里

[root@dg dg]# cp -rf /mnt/cdrom/* ./  ß 需要时间要长一些,耐心等待

客户机配置如下:

 5.拷贝配置文件至dg1并配置

[root@dg~]#cp /etc/yum.repos.d/rhel-debuginfo.repo /etc/yum.repos.d/dg1.repo

 [root@dg ~]# vi /etc/yum.repos.d/dg1.repo

修改为如下:

[rhel-ftpa]

name=ftp

baseurl=ftp://192.168.1.25/dg/Server/    ß服务器的ip地址

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

验证如下:

[root@dg ~]# yum clean all

Loaded plugins: rhnplugin, security

Cleaning up Everything

 [root@dg ~]# yum update

Loaded plugins: rhnplugin, security

This system is not registered with RHN.

RHN support will be disabled.

rhel-ftpa                                               | 1.3 kB     00:00    

rhel-ftpa/primary                                       | 732 kB     00:00    

rhel-ftpa                                                            2292/2292

Skipping security plugin, no data

Setting up Update Process

注意:要把防火墙关掉,否则客户机可能访问不到。

本案例服务器是vmredhat虚拟机,可以修改网卡为桥接模式,同一局域网内即可验证。

案例三、yum源扩展(针对额外软件包)

本案例以安装linuxqq为例

1.     在这与前面的创建挂载是一样的

2.     将需要的文件拷贝到yum/root/dg仓库下,(目录是自定义)

[root@dg dg]# cp -rf /mnt/cdrom/* ./  ß需要时间要长一些

3. 切换至/root/dg/Server 目录下安装 createrepo工具

[root@dg Server]# ll createrepo*

-r--r--r-- 451 root root 60901 2008-04-21 createrepo-0.4.11-3.el5.noarch.rpm

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

warning: createrepo-0.4.11-3.el5.noarch.rpm: Header V3 DSA signature: NOKEY, key ID 37017186

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

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

4.使用createrepo命令来实现yum源下repodata的数据重新加载,从而使新文件

[root@dgServer]#createrepo -g /root/dg/Server/repodata/comps-rhel5-server-core.xml  /root/dg/Server

看一下安装成功了↓

2292/2292 - xorg-x11-drv-aiptek-1.0.1-2.i386.rpm

Saving Primary metadata

Saving file lists metadata

Saving other metadata

[root@dg Server]#createrepo -g /root/dg/VT/repodata/comps-rhel5-vt.xml  /root/dg/VT

看到下面的信息说明已经安装成功了

36/36 - Virtualization-ja-JP-5.2-11.noarch.rpm

Saving Primary metadata

Saving file lists metadata

Saving other metadata

5.看下yum的命令和进行测试.

本案例是将linuxqq拷贝到 /root/dg/Server

[root@dg Server]# ll linuxqq*

-rw-r--r-- 1 root root 5046743 09-20 19:23 linuxqq-v1.0.2-beta1.i386.rpm

执行yum localinstall 文件名(把文件名写全)--nogpgcheck可以实现

[root@dg Server]#yum localinstall linuxqq-v1.0.2-beta1.i386.rpm –nogpgcheck      ß不验证

6.查看是否安装上QQ

[root@dg Server]# yum list installed |grep linuxqq

This system is not registered with RHN.

RHN support will be disabled.

linuxqq.i386                               v1.0.2-beta1                installed

yum源的配制_redhat_02 

6.yum删除相关服务 比如linuxqq

yum  remove “linuxqq*”

小结:

1. yum install <package> 这里是安装下载的软件包

2.yum localinstall <package> 本地安装软件包,本服务器做YUM.

3yum 会把下载的软件包和header存储在cache中,而不会自动删除。 可以使用yum clea指令进行清除.

4.yum clean headers清除header

5.yum clean packages清除下载的rpm

6.yum clean all 清除headerrpm