什么是YUM
Yum(全称为Yellow dog Updater, Modified)是一个在Fedora中的Shell前端
软件包管理器。基于RPM包管理,能够从指定的
服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。
YUM服务涉及到客户端与服务端,其中:
1 YUM Client:要保证安装有如下
软件包:
yum-3.0.1-5.el5
yum-metadata-parser-1.0-8.fc6
2 YUM Server:要保证安装有如下
软件包:
yum-3.0.1-5.el5
yum-metadata-parser-1.0-8.fc6
yum-rhn-plugin-0.4.3-1.el5
yum-updatesd-3.0.1-5.el5
createrepo-0.4.4-2.fc6.noarch.rpm
yum-arch-2.2.2-2.fc7.noarch.rpm
yum
服务器的安装
1 存放YUM
服务器上的
软件包
放入redhatES5系统盘,将其挂载到/mnt
再生成/rhel5目录用于存放
软件包:
[root@ns100 vmware]# mkdir /rhel5
将光盘上Server目录(该目录主要存放一些服务端
软件包)下的所有
软件包拷入/rhel5,因为Server目录中
软件包较多,rhel5可能放不下,此时可以格式化一块5G的分区,挂载于/rhel5目录下。
[root@ns100 vmware]# cp -R /mnt/Server /rhel5
将key文件(用于客户端与服务端的认证)拷入指定目录
[root@ns100 vmware]# cp /mnt/RPM-GPG-KEY-redhat-release /rhel5/Server
备注:如果有系统光盘的iso文件(光盘镜像文件),可以利用此文件来做虚拟光驱,再将此虚拟光驱挂载到/mnt,方法如下:
mount -o loop redhat.iso /mnt
进入/mnt即可使用了;
2 服务端设置
软件仓库及报告文件
首先,生成YUM的
软件仓库:
[root@ns100 vmware]# yum-arch /rhel5/Server 注:即可有出错也可不管
再设置给客户端获取的报告文件:
[root@ns100 vmware]# createrepo /rhel5/Server
3 配置www服务,用于发布这些
软件包
在/etc/httpd/conf/httpd.conf中进行如下配置(注:如果httpd起不来,此时用setenforce 0将SELinux关闭即可)
DocumentRoot "/var/www/html" 改为DocumentRoot "/rhel5"
<Directory "/var/www/html"> 改为<Directory "/rhel5">
接着重启http服务:
[root@localhost ~]# service httpd restart
Stopping httpd: [ OK ]
Starting httpd: [ OK ]
4客户端配置:
方法1
在/etc/yum.repos.d/下生成Server.repo文件 注:如果/etc/yum.conf有设置的话优先从yum.conf中查找;
Client:
最好把原来的.repo文件备份一下:
[root@network yum.repos.d]# mkdir -p /etc/yum.repos.d/backup
[root@network yum.repos.d]# mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup
[root@network yum.repos.d]# touch /etc/yum.repos.d/Server.repo
[root@network yum.repos.d]# cat /etc/yum.repos.d/Server.repo (注:如果配置yum.conf的话,其尾部也加入如下内容,其余不变;)
[Server]
name=Red Hat
baseurl=http://10.0.0.1/Server/
gpgcheck=1
gpgkey=http://10.0.0.1/Server/RPM-GPG-KEY-redhat-release
方法2
修改默认的/etc/rhel-debuginfo.repo 改两处地方
baseurl=http://10.0.0.1/Server/
enabled=1
5测试
在客户端执行如下命令:
yum install dasher
yum -y install firefox 安装自动应答为yes
yum remove httpd 删除
软件包
yum clean all 清空下载的
软件包的缓存
yum list 列出所有的
软件包(包括已安装和在YUM
服务器上存在的)
yum upgrade或yum update 升级
软件包
yum list installed 列出所有已经安装的
软件包
yum list available 列出所有可用的
软件包
yum list updates 列出所有可升级的
软件包
附:基于FTP的YUM
服务器搭建
1 放入redhatES5系统盘,将其挂载到/mnt
[root@ns100 vmware]# cp -R /mnt/Server /var/ftp/Server
[root@ns100 vmware]# cp /mnt/RPM-GPG-KEY-redhat-release /var/ftp/Server
2
[root@ns100 vmware]# yum-arch /var/ftp/Server 注:即可有出错也可不管
[root@ns100 vmware]# createrepo /var/ftp/Server
3配置yum.conf
[root@ns100 vmware]# cat /etc/yum.conf
[main]
cachedir=/var/cache/yum
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
pkgpolicy=newest
distroverpkg=redhat-release
tolerant=1
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
metadata_expire=1800
4 运行vsftp服务
service vsftpd restart
5客户端配置:
方法1
在/etc/yum.repos.d/下生成Server.repo文件 注:如果/etc/yum.conf有设置的话优先从yum.conf中查找;
Client:
[root@network yum.repos.d]# mkdir -p /etc/yum.repos.d/backup
[root@network yum.repos.d]# mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup
[root@network yum.repos.d]# touch /etc/yum.repos.d/Server.repo
[root@network yum.repos.d]# cat /etc/yum.repos.d/Server.repo 注:yum.conf尾部也加入如下内容,其余不变;
[Server]
name=Red Hat
baseurl=ftp://10.0.0.1/Server/
gpgcheck=1
gpgkey=ftp://10.0.0.1/Server/RPM-GPG-KEY-redhat-release
方法2
修改默认的/etc/rhel-debuginfo.repo 改两处地方
baseurl=ftp://10.0.0.1/Server/
enabled=1