RedHat 6下配置本地及網路yum倉庫

luashin發表於2016-03-30

   在Linux系統中如果安裝rpm軟體包,有時候總是需要解決相應的依賴關係,而使用YUM倉庫就可以輕鬆完成安裝、解除安裝、自動升級rpm軟體包等任務,主要可以自動查詢並解決rpm包之前的依賴關係。
YUM倉庫有三種部署方式:FTP、HTTP和本地方式

一、本地yum源

1、掛載光碟機並進行開機自動連線
[root@localhost ~]# echo "/dev/sr0 /mnt iso9660 defaults 0 0" >> /etc/fstab
[root@localhost ~]# mount -a
[root@localhost ~]# mout | grep "/dev/sr0"

2、配製本地yum倉庫:

[root@localhost ~]# cd /etc/yum.repos.d/                             //yum源配置檔案放置目錄

[root@localhost yum.repos.d]# rm -rf *                               //刪除系統預設yum配製檔案

[root@localhost yum.repos.d]# vim CentOS-Media.repo                  //編輯本地yum原始檔

[CentOS 6-media]

name=CentOS-$releasever - Media                                      //本地yum源名稱(可隨意修改)

baseurl=file:///mnt                                                  //本地yum源地址

gpgcheck=1                             

enabled=1                                                            //使用此yum源(等於0為不啟用)

gpgkey=file:///mnt/sr0/RPM-GPG-KEY-CentOS-6                          //本地yum源金鑰

3、清空並重建快取

# yum clean metadata                                                 //清除以前的快取

# yum makecache                                                      //重新建立快取

# yum update


二、FTP方式yum源
1.首先掛載系統光碟,在YUM倉庫伺服器上安裝ftp服務並啟動
[root@localhost ~]# rpm -ivh /media/Packages/vsftpd-2.2.2-11.el6_4.1.x86_64.rpm
[root@localhost ~]# service vsftpd start && chkconfig vsftpd on
新增兩條防火牆規則
[root@localhost ~]# iptables -I INPUT -p tcp --dport 21 -j ACCEPT 
[root@localhost ~]# modprobe ip_contrack_ftp

2.配置YUM倉庫伺服器(這裡的IP地址:192.168.1.63)
首先在ftp目錄下建立一個YUM倉庫目錄,並將需要做成YUM倉庫的rpm軟體包複製到該目錄下
[root@localhost ~]# mkdir -p /var/ftp/CentOS
[root@localhost ~]# cp -rf /mnt/* /var/ftp/Centos/

然後在該目錄下手動建立repodata資料檔案,在建立repodata資料檔案之前,需要先將建立repodata資料檔案的工具安裝上。使用的工具是createrepo,注意這個包有依賴關係
[root@localhost ~]# rpm -ivh /media/Packages/createrepo-0.9.9-18.el6.noarch.rpm 

安裝好createrepo工具後,就可以在YUM倉庫目錄中建立repodata資料檔案了
[root@localhost ~]# createropo --database /var/ftp/CentOS

3.配置YUM倉庫客戶端
第一次配置需要將/etc/yum.repos.d/目錄下內容刪除,並新建一個以“.repo”結尾的檔案,檔案內容如下:
[root@localhost ~]# rm -rf /etc/yum.repos.d/*
[root@localhost ~]# vim /etc/yum.repos.d/Centos.repo
[base]                                      //倉庫名稱
name=CentOS - Base                          //倉庫描述資訊
baseurl=ftp://192.168.1.63/Centos           //指定yum倉庫訪問路徑
enabled=1                                   //是否開啟此倉庫
gpgcheck=0                                  //是否檢查軟體包的簽名,0為不檢查

4.安裝rpm軟體包測試
[root@localhost ~]# yum -y install httpd
這樣以FTP方式訪問的YUM倉庫就建立好了
[root@localhost ~]# yum repolist          //查詢當前可用的yum源,也就是YUM倉庫

三、國內網路yum源網路yum源(前提是必須能連上網際網路)
1、163的yum源

1)、將/etc/yum.repos.d/下的所有內容清空
# rm -rf /etc/yum.repos.d/* 

# cd /etc/yum.repos.d/

# wget

2)、把CentOS-Base-163.repo中$releasever改為6.7
按ctl+G在vim末行模式執行
:%s/$releasever/6.7/g 

:wq                      //儲存退出
注意需要把CentOS-Base-163.repo中的$releasever改為6.7,如果不改重建快取會出現以下錯誤:[Errno 14] PYCURL ERROR 22 "The requested URL returned error: 404" 
3)、清空並重建快取

# yum clean metadata     //清除以前的快取

# yum makecache          //重新建立快取

# yum update   

2、
中國科大yum源:
# wget 
# mv CentOS-Base.repo CentOS-Base-ustc.repo 
# cat 
CentOS-Base-ustc.repo 

[base]

name=CentOS-$releasever - Base

#mirrorlist=

baseurl=

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

 

#released updates 

[updates]

name=CentOS-$releasever - Updates

#mirrorlist=

baseurl=

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

 

#additional packages that may be useful

[extras]

name=CentOS-$releasever - Extras

#mirrorlist=

baseurl=

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

 

#additional packages that extend functionality of existing packages

[centosplus]

name=CentOS-$releasever - Plus

#mirrorlist=

baseurl=

gpgcheck=1

enabled=0

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

 

#contrib - packages by Centos Users

[contrib]

name=CentOS-$releasever - Contrib

#mirrorlist=

baseurl=

gpgcheck=1

enabled=0

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

3、Sohu的yum源:
wget 
[base]
name=Red Hat Enterprise Linux $releasever -Base
baseurl=$releasever/os/$basearch/
gpgcheck=1

[update]
name=Red Hat Enterprise Linux $releasever -Updates
baseurl=$releasever/updates/$basearch/
gpgcheck=1

[extras]
name=Red Hat Enterprise Linux $releasever -Extras
baseurl=$releasever/extras/$basearch/
gpgcheck=1

[addons]
name=Red Hat Enterprise Linux $releasever -Addons
baseurl=$releasever/addons/$basearch/
gpgcheck=1


4、阿里雲yum源:
阿里雲是最近新出的一個映象源。得益與阿里雲的高速發展,這麼大的需求,肯定會推出自己的映象源。
阿里雲Linux安裝映象源地址:
CentOS 5
wget -O /etc/yum.repos.d/CentOS-Base-aliyun.repo /repo/Centos-5.repo
CentOS 6
wget -O /etc/yum.repos.d/CentOS-Base-aliyun.repo /repo/Centos-6.repo

5、epel源
1)、安裝yum優先順序外掛
# yum install yum-priorities
2)、epel簡介:
# rpm -Uvh
# rpm -Uvh 

# rpm -Uvh
以上URL按實際情況修改
3)、檢視是否安裝成功
# rpm -q epel-release
4)、匯入key:
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
5)、修改/etc/yum.repos.d/epel.repo檔案
在[epel]最後新增一條屬性 priority=11
# vim /etc/yum.repos.d/epel.repo
意思是yum先去官方源,官方沒有再去epel的源找
6)、重建快取
# yum makecache
理論上講,以上這些yum源redhat系統以及fedora也是可以用的,但是沒有經過測試,需要自己測試一下。

四、yum管理及引數
包安裝與刪除
yum install package_name       #安裝yum源中的包
yum remove package_name        #解除安裝包
yum groupinstall group1        #安裝程式組group1
yum groupremove group1         #解除安裝程式組group1
yum localinstall *.rpm         #安裝本地的rpm包

包搜尋
yum search package_name        #搜尋特定包
yum provides name              #搜尋包含特定檔名的包

包列表
yum list                       #列出所有安裝或更新的包
yum list name                  #列出指定包
yum list updates               #列出可更新包
yum list installed             #列出已安裝包
yum list extras                #列出已安裝但不包含在資源庫中的包
yum info package_name          #顯示安裝包資訊

包的更新
yum check-update               #檢查可更新包:
yum update                     #更新所有包
yum update package_name        #更新指定包
yum upgrade                    #版本升級

清除快取
yum clean packages             #清除快取目錄下的軟體包
yum clean headers              #清除快取目錄下的 headers
yum clean oldheaders           #清除快取目錄下舊的 headers
yum clean, yum clean all (等於yum clean packages; yum clean oldheaders) #清除快取目錄下的軟體包及舊的headers

yum特殊引數
--installroot=root             #指定安裝軟體時的根目錄
--enablerepo=repoidglob        #暫時啟用某個下載源
--disablerepo=repoidglob       #暫時停用某個下載源
--exclude=package              #排除某個軟體包
--noplugins                    #暫時停用所有外掛
--disableplugin=plugin         #暫時停用指定的外掛

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9034054/viewspace-2072149/,如需轉載,請註明出處,否則將追究法律責任。

相關文章