RHEL6 yum的配置
2012-01-13 14:03

RHEL6相比以前的版本来说,yum仓库的配置要简单的多。其主要是写/etc/yum.repos.d/*.repo文件。
当然,文件的名字是随便起的,这个无关紧要,但是后边必须是.repo格式的。比如你的图形管理软件的工具Add/Remove Software,这个工具就是到/etc/yum.repos.d/目录下扫描所有*.repo格式的文件,然后根据文件中的内容查找可用的软件包。

下来我来介绍一下*.repo文件的内容及配置方法:
1 【NAME】 这个NAME并不重要,自己随便写,但方括号一定要有哦。
2 name=RHEL6.0 =右边的内容也是自定义的,就是一个名字而已。不过一般写明自己是哪个系统。
3 baseurl= 这是整个配置文件中最重要的一句,这句指明了包所存放的位置,他有三种不同的写法:
1 baseurl=file://ADDRESS 本地源
2 baseurl=ftp://ADDRESS 源在ftp服务器上
3 baseurl=http://ADDRESS 源在http服务器上
这主要是看你的源(也就是rpm包以及分析包的文件所在的位置)在什么地方了。
例如我的源在光盘上,我挂载光盘。
mount /dev/cdrom /mnt
这样我就将光盘挂在了/mnt目录下,baseurl就这样写
baseurl=file:///mnt
这样就可以了。记住,后面的地址写道源的主目录下就可以了,yum会自动找到repodata目录,并到其中读取有关的rpm包信息(如依赖关系,包含文件,校验码信息)。自动到Packages目录下找rpm包。
4 gpgcheck=0 等于0意思是不使用GPG检查软件包签名,等于1则是使用。这个主要是安全检查。
对于一个简单的*.repo文件,有上边这些内容就已经足够了。完全可以实现yum的使用了。
5 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release 这段告诉yum命令 用来检查软件包gpg算法密钥 上面 gpgcheck关闭时无效!当然,关闭了检查还要钥匙什么用呢。
6 enable=1 意思是开启本段存储库,等于0则为禁用,yum就不会根据本段baseurl后面的地址来寻找软件包了。如果不写该句,默认是开启的。

在这里我还想说一下我遇到过的两个问题:
1 当你从网络上down下资源后,安装时总是报错导致安装不上,错误提示信息中会提到GPG。这时就有可能是因为你的gpgcheck设置为1。检查不过关。你可以进入配置文件将gpgcheck修改为0,也可以在安装命令后加上
--nogpgcheck
eg:yum install NAME --nogpgcheck
2 你在配置文件中写了一个新的存储库或者是写了新的repo文件。这时直接使用是不生效的,你应该执行createrepo命令来生成repodata文件。
eg:createrepo ADDRESS (ADDRESS为你放rpm包的路径)

=======================================================================================================

本地源

rhel

vim /etc/yum.repos.d/rhel6.repo

 

  1. [base]
  2.  
  3. name=base
  4.  
  5. baseurl=file:///mnt/cdrom/
  6.  
  7. enabled=1
  8.  
  9. gpgcheck=1
  10.  
  11. gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

#rhel6.repo 是我新建的文件,/mnt/cdrom/ 为光盘(iso镜象)挂载目录!

 

#接下来就可以安装了,比如gcc !

yum install gcc

 

#其它配置

[base]
name=rhel6-x86_64
baseurl=http://192.168.6.51:8080/pub2/RHEL6/
failovermethod=priority
enabled=1
keepcache=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

 

centos 与 rhel 不同

  1. 把光盘塞进去
  2. mkdir /media/CentOS
  3. mount /dev/cdrom /media/CentOS
  4.  
  5. yum --disablerepo=\* --enablerepo=c5-media update
  6. yum --disablerepo=\* --enablerepo=c5-media install httpd php php-mysql mysql mysql-server mysql-devel openssl-devel dovecot perl-DBD-MySQL tcl tcl-devel libart_lgpl libart_lgpl-devel libtool-ltdl libtool-ltdl-devel expect


 

yum 服务器

  1. YUM Client:要有如下软件包:
  2.  
  3. yum-3.2.19-18.el5.centos
  4. yum-metadata-parser-1.1.2-2.el5
  5.  
  6. YUM Server:要有如下软件包:
  7.  
  8. yum-3.2.19-18.el5.centos
  9. yum-metadata-parser-1.1.2-2.el5
  10. yum-fastestmirror-1.1.16-13.el5.centos
  11. yum-updatesd-0.9-2.el5
  12. createrepo-0.4.11-3.el5
  13. yum-arch-2.2.2-2.el5.kb.noarch.rpm (此包需要去网站下载例如http://rpm.pbone.net/)
  14. httpd-2.2.3-22.el5.centos
  15.  
  16. mkdir /mnt/rhel6-x86_64
  17. mount -o loop /root/rhel6-x86_64.iso /mnt/rhel6-x86_64
  18. mkdir /var/www/yum
  19. ln -s /mnt/rhel6-x86_64/* /var/www/yum/
  20. createrepo -g /mnt/rhel6-x86_64/Server/repodata/1a7fc54d30d0d44222742c63069ab0126afef9f160931cc15e564dbe6414f268-comps-rhel6-Server.xml /data/htdocs/8080/rhel6-x86_64/
  21. ....
  22. 20586/20586 - HighAvailability/Packages/zsh-4.3.10-4.1.el6.x86_64.rpm #2万个包,大概 15分钟
  23.  
  24. yum repo文件
  25. cat /etc/yum.repos.d/CentOS.repo
    [base]
    name=rhel6-x86_64
    baseurl=http://192.168.6.51:8080/pub2/RHEL6/
    failovermethod=priority
    enabled=1
    keepcache=1
    gpgcheck=0
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

 

注意

不同版本对应不同的 comps.xml文件,如下

rhel

  1. createrepo -g /mnt/rhel5.4-x86_64/Server/repodata/comps-rhel5-server-core.xml /data/htdocs/8080/rhel5.4-x86_64/
  2. createrepo -g /mnt/rhel6-x86_64/Server/repodata/1a7fc54d30d0d44222742c63069ab0126afef9f160931cc15e564dbe6414f268-comps-rhel6-Server.xml /data/htdocs/8080/rhel6-x86_64/

 

centos

  1. createrepo -g /mnt/centos5.5-x86_64/repodata/comps.xml /data/htdocs/8080/centos5.5-x86_64/

 

yum 客户端

如果你的 linux 是64位 系统,那么你可能需要只安装64 bit rpm 包,设置如下:

  1. vim /etc/yum.conf #添加如下即可
  2.  
  3. exclude=*.i386 *.i586 *.i686

 

 

结束