Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE、CentOS中的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服务器为例,也可以用其他服务器
拓扑图如下:
服务器配置如下:
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
注意:要把防火墙关掉,否则客户机可能访问不到。
本案例服务器是vm下redhat虚拟机,可以修改网卡为桥接模式,同一局域网内即可验证。
案例三、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
6.用yum删除相关服务 比如linuxqq
yum remove “linuxqq*”
小结:
1. yum install <package> 这里是安装下载的软件包
2.yum localinstall <package> 本地安装软件包,本服务器做YUM源.
3.yum 会把下载的软件包和header存储在cache中,而不会自动删除。 可以使用yum clea指令进行清除.
4.yum clean headers清除header
5.yum clean packages清除下载的rpm包
6.yum clean all 清除header与rpm包