Linux下配置yum源為阿里雲或網易的詳解


一、yum源概述
  yum需要一個yum庫,也就是yum源。默認情況下,CentOS就有一個yum源。在/etc/yum.repos.d/目錄下有一些默認的配置文件(可以將這些文件移到/opt下,或者直接在yum.repos.d/下重命名)。首先要找一個yum庫(源),然后確保本地有一個客戶端(yum這個命令就是客戶端),由yum程序去連接服務器。連接的方式是由配置文件決定的。通過編輯/etc/yum.repos.d/CentOS-Base.repo文件,可以修改設置。
打開CentOS-Base.repo文件,可以看到url路徑是CentOS的官網自身的yum源,
http://mirrorlist.centos.org/?release=releasever&arch=basearch&repo=os。可以將這個mirrorlist注釋掉,然后將baseurl設置成國內的阿里雲源
http://mirrors.aliyun.com/repo/Centos-6.repo或者http://mirrors.aliyun.com/repo/Centos-7.repo
也可以在用於大量的rpm包的前提下設置成自己的本地文件系統(掛載目錄),需要移除CentOS-Base.repo文件,並編輯CentOS-Media.repo文件。http://mirrors.aliyun.com/repo/Centos-6.repo或者Centos-7.repo

name=Description              //一個描述,隨意。
baseurl=                     //設置資源庫的地址,可以寫阿里雲也可以是自己的yum
    ftp://
    http://
    file:///
enabled={1|0}                  //enabled=1開啟本地更新模式
gpgcheck={1|0}                //gpgcheck=1表示檢查;可以不檢查gpgcheck=0
gpgkey=                       // 檢查的key;如果上面不檢查這一行可以不寫。  

二、YUM源配置方法  

2.1、配置方法一(阿里雲yum源)

1)安裝wget
[root@localhost ~]# yum install -y wget
2) 備份/etc/yum.repos.d/CentOS-Base.repo文件
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# mv CentOS-Base.repo CentOS-Base.repo.back20190401
3) 下載阿里雲的Centos-6.repo文件
[root@localhost yum.repos.d]# wget -O CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
[root@localhost yum.repos.d]# wget -O CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
4) 重新加載yum
[root@localhost yum.repos.d]# yum clean all
Loaded plugins: fastestmirror, refresh-packagekit, security
Cleaning repos: base extras updates
Cleaning up Everything
Cleaning up list of fastest mirrors
[root@localhost yum.repos.d]# yum makecache
Loaded plugins: fastestmirror, refresh-packagekit, security
Determining fastest mirrors
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
。。。。。。

2.2、yum源配置方法二(本地掛載目錄)  

1) 下載iso文件
    從CentOS的官網下載CentOS的完整版iso文件,並上傳到Linux文件系統中,例如/opt/tools/。

2) 創建掛載目錄
    為iso文件的掛載創建目錄。
[root@localhost ~]# mkdir /mnt/vcdrom

3) 掛載
  將iso文件掛載到掛載目錄。
[root@localhost ~]# mount -o loop -t iso9660 /opt/tools/CentOS-6.7-x86_64-bin-DVD1.iso /mnt/vcdrom

4) 移除或備份Centos-Base.repo文件
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost ~]# mv Centos-Base.repo Centos-Base.repo.back
5) 編輯Centos-Media.repo文件
[root@localhost ~]# vim /etc/yum.repos.d/Centos-Media.repo

........
name=CentOS-$releasever - Media
baseurl=file:///mnt/vcdrom/                  //將baseurl修改為DVD的掛載目錄
gpgcheck=1
enabled=1#開啟本地更新模式
........

6) 重新加載yum
[root@localhost ~]# yum clean all
[root@localhost ~]# yum makecache
7) 編寫腳本並開機自動掛載
  
首先,編寫腳本。
[root@localhost ~]#vim /opt/shell/mymount.sh
#!/bin/bash
#
mount -o loop -t iso9660 /opt/tools/CentOS-6.7-x86_64-bin-DVD1.iso /mnt/vcdrom
:wq!
 
其次,修改腳本執行權限。
[root@localhost ~]#chmod 777 /opt/shell/mymount.sh
  
再次,修改/etc/rc.local配置文件。
[root@localhost ~]#vim /etc/rc.local
  
在文件最后一行加上如下
[root@localhost ~]# /opt/shell/mymount.sh
  
最后,重啟機器測試。
[root@localhost ~]# init 6 

2.3、yum源配置方法三(遠程掛載目錄)

2.3.1、服務端配置

第一,安裝nfs-utils和rpcbind。

[root@localhost ~]# yum -y install nfs-utils rpcbind
  
第二,設置開機啟動服務。

[root@localhost ~]# chkconfig nfs on
[root@localhost ~]# chkconfig rpcbind on 
  
第三,啟動相關服務。

[root@localhost ~]# service rpcbind start             //需要先啟動rpcbind
[root@localhost ~]# service nfs start
Starting NFS services:                                     [  OK  ]
Starting NFS quotas:                                       [  OK  ]
Starting NFS mountd:                                       [  OK  ]
Starting NFS daemon:                                       [  OK  ]
Starting RPC idmapd:                                       [  OK  ]
  
第四,創建共享目錄。

[root@localhost ~]# mkdir -p /mnt/vcdrom/
  
第五,編輯/etc/exports文件,添加如下內容。

[root@localhost ~]# vim /etc/exports 
添加如下內容:
/mnt/vcdrom/ 192.168.94.5(rw,async,no_root_squash,no_subtree_check)   

注:配置文件說明:/mnt/vcdrom/為共享的目錄,使用絕路徑。對172.16.24.8(rw,no_root_squash,no_all_squash,sync) 為客戶端的地址及權限,地址可以是一個網段,一個IP地址或者是一個域名,域名支持通配符,如:*eason.com。

權限說明:rw:read-write,可讀寫;ro:read-only,只讀;sync:文件同時寫入硬盤和內存;async:文件暫存於內存,而不是直接寫入內存;no_root_squash:NFS客戶端連接服務端時如果使用的是root的話,那么對服務端分享的目錄來說,也擁有root權限。顯然開啟這項是不安全的。root_squash:NFS客戶端連接服務端時如果使用的是root的話,那么對服務端分享的目錄來說,擁有匿名用戶權限,通常他將使用nobody或nfsnobody身份;all_squash:不論NFS客戶端連接服務端時使用什么用戶,對服務端分享的目錄來說都是擁有匿名用戶權限;anonuid:匿名用戶的UID值,通常是nobody或nfsnobody,可以在此處自行設定;anongid:匿名用戶的GID值。

第六,參考yum源配置方法二,將/opt/tools/下的ios文件掛載到/mnt/vcdrom,需要設置開機自動掛載。

2.3.2、客戶端配置  

第一,安裝nfs-utils和rpcbind。

[root@localhost ~]# yum install -y nfs-utils rpcbind
   
 第二,設置開機啟動服務。

[root@localhost ~]# chkconfig nfs on
[root@localhost ~]# chkconfig rpcbind on
   
 第三,啟動服務。

[root@localhost ~]# service rpcbind start
[root@localhost ~]# service nfs start
  
第四,創建掛載點。

[root@localhost ~]# mkdir -p /mnt/vcdrom/
   
 第五,掛載目錄。

[root@localhost ~]# mount -t nfs server_ip:/mnt/vcdrom /mnt/vcdrom
   
 第六,編輯/etc/fstab,配置開機自動掛載

 這里可以參考yum源配置方法二的介紹,編寫腳本,使腳本開機運行。下面給出第二種方法:

[root@localhost ~]# vim /etc/fstab 
添加如下內容:
server_ip:/mnt/vcdrom /mnt/vcdrom nfs rw,tcp,intr 0 1
  
第七,修改yum源設置。

參考yum源配置方法二。    

三、yum配置常見問題匯總

3.1、如果要想CentOS使用yum update更新時不升級內核,方法如下:

[root@localhost ~]# cp /etc/yum.conf /etc/yum.confbak
方法一)修改yum的配置文件
[root@localhost ~]# vim /etc/yum.conf 
在[main]的最后添加 exclude=kernel*

方法二)直接在yum的命令后面加上如下的參數:
[root@localhost ~]# yum --exclude=kernel* update

3.2、yum安裝的過程中經常會出現這種錯誤:  

Loaded plugins: branch, fastestmirror, security
Determining fastest mirrors
 * addons: mirrors.aliyun.com
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
http://mirrors.aliyun.com/centos/6/addons/x86_64/repodata/repomd.xml: [Errno 14] PYCURL ERROR 22 - "The requested URL returned error: 404"
Trying other mirror.
http://mirrors.aliyuncs.com/centos/6/addons/x86_64/repodata/repomd.xml: [Errno 14] PYCURL ERROR 22 - "The requested URL returned error: 404"
Trying other mirror.
Error: Cannot retrieve repository metadata (repomd.xml) for repository: addons. Please verify its path and try again   

常規處理:

安裝的過程中一直報這個錯誤,這是由於網絡的問題,repomd.xml文件下載不來,大部分都是因為配置了代理或者其他網絡原因導致的,而本次是因為沒有配置host文件地址,導致的本次綁定一個ip地址172.16.50.96 yum.tbsite.net
當然也有很多是其他問題,具體問題需要具體分析,但是這里挺常見一個場景。

 

---------------------------------------------書山有路勤為徑,學海無涯苦作舟--------------------------------------------------------


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM