一、yum简介
yum(全称为 yellow dog updater,modified)是一个在fedora和redhat以及suse、centos中的shell前端软件包管理器。基於rpm包管理,能够从指定的服务器自动下载rpm包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。 系统一般默认安装了yum,若无可到rpm中找到yum.3.2*****.rpm进行安装。
yum的全局配置文件:#vi /etc/yum.conf
[main]
cachedir=/var/cache/yum // yum缓存的目录,yum在此存储下载的rpm包和数据库
keepcache=0
debuglevel=2 //除错级别,0-10,默认是2
logfile=/var/log/yum.log //yum的日志文件
distroverpkg=redhat-release //指定一个软件包,yum会根据这个包判断你的发行版本,默认是redhat-release,也可以是安装的任何针对自己发行版的rpm包
tolerant=1 //也有1和0两个选项,表示yum是否容忍命令行发生与软件包有关的错误,比如你要安装1,2,3三个包,而其中3此前已经安装了,如果你设为1,则yum不会出现错误信息。
exactarch=1 //有两个选项1和0,代表是否只升级和你安装软件包cpu体系一致的包,如果设为1,则如你安装了一个i386的rpm,则yum不会用1686的包来升级
obsoletes=1
gpgcheck=1 //有1和0两个选择,分别代表是否是否进行gpg校验,如果没有这一项,默认也是检查的
plugins=1
# note: yum-rhn-plugin doesn't honor this.
metadata_expire=1h
# default.
# installonly_limit = 3
# put your repos here or in separate files named file.repo
# in /etc/yum.repos.d
二、搭建本地yum源
(1)准备本地yum源
可直接将光盘里的rpm包文件直接挂载到系统一个指定目录(在虚拟机中使用iso镜像也是一个道理)
#mkdir –p /home/yum //新建一目录用来放yum源文件包 (源库)
#mount -t iso9660 /dev/cdrom /home/yum //将光盘里的文件挂载到/home/yum/目录下
或 #cp –rf /media/rhel.i386.dvd/* /home/yum/ //直接将光盘里的文件复制保存在系统目录
源库可存放在磁盘任意位置,根据磁盘空间使用情况而定,可用df命令查看磁盘使用情况。
# rm -rf /home/yum/*.html 删除无用的html文件。
(2)修改相关配置文件 /etc/yum.repos.d/rhel-debuginfo.repo
#cd /etc/yum.repos.d/ //配置文件的目录
#cp rhel-debuginfo.repo rhel-local.repo //复制文件并命名为rhel-local.repo
#vi local.repo //修改配置文件
下面是初始的配置文件内容:
[rhel-debuginfo]
name=red hat enterprise linux $releasever - $basearch - debug
baseurl=ftp://ftp.redhat.com/pub/redhat/linux/enterprise/$releasever/en/os/debuginfo/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/rpm-gpg-key-redhat-release
配置文件讲解:
[rhel-debuginfo]:rhel-debuginfo是用于区别各个不同的repository,必须独一无二
name= 名字,是对repository的描述,支持像$releasever $basearch这样的变量
baseurl= baseurl是服务器设置中最重要的部分,只有设置正确,才能从上面获取软件。它的格式是:
baseurl=url://server1/path/to/repository/
url://server2/path/to/repository/
url://server3/path/to/repository/
其中url支持的协议有 http:// ftp:// file://三种。baseurl后可以跟多个url,你可以自己改为
速度比较快的镜像站,但baseurl只能有一个。也就是说不能像如下格式:
baseurl=url://server1/path/to/repository/
baseurl=url://server2/path/to/repository/
baseurl=url://server3/path/to/repository/
其中url指向的目录必须是这个repository header目录的上一级,它也支持$releasever $basearch这样的变量。url之后可以加上多个选项,如gpgcheck、exclude、failovermethod等,比如:
1. [updates-released]
2. name=fedora core $releasever - $basearch - released updates
3. baseurl=
4.
5.
6. gpgcheck=1
7. exclude=gaim
8. failovermethod=priority
其中gpgcheck,exclude的含义和[main]部分相同,但只对此服务器起作用,failovermethode 有两个选项roundrobin和priority,意思分别是有多个url可供选择时,yum选择的次序,roundrobin是随机选择,如果连接失 败则使用下一个,依次循环,priority则根据url的次序从第一个开始。如果不指明,默认是roundrobin。
几个变量
$releasever,发行版的版本,从[main]部分的distroverpkg获取,如果没有,则根据redhat-release包进行判断。
$arch,cpu体系,如i686,athlon等
$basearch,cpu的基本体系组,如i686和athlon同属i386,alpha和alphaev6同属alpha。
enabled=0 :是否开启,1是开启。0是关闭
gpgcheck=:是否进行gpg校验。不校验选0
gpgkey=:这个是gpg校验的地址。
改好后的是:
[rhel-local]
name=server
baseurl=file:///home/yum/server/
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/rpm-gpg-key-redhat-release //此行可以不要
(3)生成依赖关系
如果开始光盘是挂载的,在server目录里有个repodata文件夹,这是自带的依赖文件。如果我们是自建的源库或是在以前源库中新添加了rpm包,此时我们就得重新生成依赖文件。
# rpm -ivh createrepo-0.4.11-3.el5.noarch.rpm //安装creatrepo包
#createrepo --update /home/yum/
或 #createrepo -v /home/yum/ //生成软件仓库
# createrepo -g /home/yum/repodata/ /home/yum/ 生成repodata数据
(4)清除yum缓存
#yum claean all
#yum list
这样就搭建好自己的本地yum源了.
阅读(1701) | 评论(0) | 转发(0) |