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
- [base]
-
- name=base
-
- baseurl=file:///mnt/cdrom/
-
- enabled=1
-
- gpgcheck=1
-
- 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 不同
- 把光盤塞進去
- mkdir /media/CentOS
- mount /dev/cdrom /media/CentOS
-
- yum --disablerepo=\* --enablerepo=c5-media update
- 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 服務器
- YUM Client:要有如下軟件包:
-
- yum-3.2.19-18.el5.centos
- yum-metadata-parser-1.1.2-2.el5
-
- YUM Server:要有如下軟件包:
-
- yum-3.2.19-18.el5.centos
- yum-metadata-parser-1.1.2-2.el5
- yum-fastestmirror-1.1.16-13.el5.centos
- yum-updatesd-0.9-2.el5
- createrepo-0.4.11-3.el5
- yum-arch-2.2.2-2.el5.kb.noarch.rpm (此包需要去網站下載例如http://rpm.pbone.net/)
- httpd-2.2.3-22.el5.centos
-
- mkdir /mnt/rhel6-x86_64
- mount -o loop /root/rhel6-x86_64.iso /mnt/rhel6-x86_64
- mkdir /var/www/yum
- ln -s /mnt/rhel6-x86_64/* /var/www/yum/
- createrepo -g /mnt/rhel6-x86_64/Server/repodata/1a7fc54d30d0d44222742c63069ab0126afef9f160931cc15e564dbe6414f268-comps-rhel6-Server.xml /data/htdocs/8080/rhel6-x86_64/
- ....
- 20586/20586 - HighAvailability/Packages/zsh-4.3.10-4.1.el6.x86_64.rpm #2萬個包,大概 15分鐘
-
- yum repo文件
- 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
- createrepo -g /mnt/rhel5.4-x86_64/Server/repodata/comps-rhel5-server-core.xml /data/htdocs/8080/rhel5.4-x86_64/
- createrepo -g /mnt/rhel6-x86_64/Server/repodata/1a7fc54d30d0d44222742c63069ab0126afef9f160931cc15e564dbe6414f268-comps-rhel6-Server.xml /data/htdocs/8080/rhel6-x86_64/
centos
- createrepo -g /mnt/centos5.5-x86_64/repodata/comps.xml /data/htdocs/8080/centos5.5-x86_64/
yum 客戶端
如果你的 linux 是64位 系統,那麼你可能需要只安裝64 bit rpm 包,設置如下:
- vim /etc/yum.conf #添加如下即可
-
- exclude=*.i386 *.i586 *.i686
結束