redhat 7更換yum源

卸載原來的源

rpm -qa|grep yum|xargs rpm -e --nodeps

下載新的yum相關軟件包

這裏我們需要用到下面的五個:

python-urlgrabber-3.10-9.el7.noarch.rpm
rpm-4.11.3-40.el7.x86_64.rpm
yum-3.4.3-163.el7.centos.noarch.rpm
yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
yum-plugin-fastestmirror-1.1.31-52.el7.noarch.rpm

比如我們從阿里雲上下載,可以使用下面的命令下載

curl -o /tmp/python-urlgrabber-3.10-9.el7.noarch.rpm https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/python-urlgrabber-3.10-9.el7.noarch.rpm
curl -o /tmp/rpm-4.11.3-40.el7.x86_64.rpm https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/rpm-4.11.3-40.el7.x86_64.rpm
curl -o /tmp/yum-3.4.3-163.el7.centos.noarch.rpm https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/yum-3.4.3-163.el7.centos.noarch.rpm
curl -o /tmp/yum-metadata-parser-1.1.4-10.el7.x86_64.rpm https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
curl -o /tmp/yum-plugin-fastestmirror-1.1.31-52.el7.noarch.rpm https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.31-52.el7.noarch.rpm

下載完成以後安裝.在安裝的時候可能會提示存在文件衝突,根據http://man.linuxde.net/rpm中的介紹,在執行安裝語句的時候加上選項–force

rpm -ivh --force rpm-4.11.3-40.el7.x86_64.rpm yum-metadata-parser-1.1.4-10.el7.x86_64.rpm python-urlgrabber-3.10-9.el7.noarch.rpm yum-3.4.3-163.el7.centos.noarch.rpm yum-plugin-fastestmirror-1.1.31-52.el7.noarch.rpm

配置yum源的配置文件

由於阿里雲的鏡像站存在幾個url不通,所以我們換成清華的鏡像站。編輯/etc/yum.repos.d/CentOS-Base.repo,添加如下內容:

# CentOS-Base.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client.  You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the
# remarked out baseurl= line instead.
#
#

[base]
name=CentOS-7 - Base
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/7/os/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=7&arch=$basearch&repo=os
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#released updates
[updates]
name=CentOS-7 - Updates
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/7/updates/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=7&arch=$basearch&repo=updates
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#additional packages that may be useful
[extras]
name=CentOS-7 - Extras
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/7/extras/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=7&arch=$basearch&repo=extras
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-7 - Plus
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/7/centosplus/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=7&arch=$basearch&repo=centosplus
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7    

清華大學鏡像站提供的源的配置文件內容中,存在$releasever的參數,這個參數在centos中能夠正常運行,但是在redhat下,需要把它變成對應的系統版本。可以在vi編輯器下執行下面的命令:

:1,$s/$releasever/7/g

或者直接在命令行輸入如下命令:

sed -i 's/$releasever/7/g' /etc/yum.repos.d/CentOS-Base.repo

生成新的緩存

yum clean all
yum makecache

可能問題

原狀態爲disable狀態

使用yum repolist all命令查看,發現centosplus/x86_64狀態爲禁用,如下:

[root@localhost tmp]# yum repolist all
已加載插件:fastestmirror, product-id, search-disabled-repos, subscription-manager
This system is not registered with an entitlement server. You can use subscription-manager to register.
Loading mirror speeds from cached hostfile
源標識                                                           源名稱                                                            狀態
base/x86_64                                                      CentOS-7 - Base                                                   啓用: 10,097
centosplus/x86_64                                                CentOS-7 - Plus                                                   禁用
extras/x86_64                                                    CentOS-7 - Extras                                                 啓用:    305
updates/x86_64                                                   CentOS-7 - Updates                                                啓用:    686

此時無法正常安裝軟件,可以將源配置文件的enable改成1即可

獲取 GPG 密鑰失敗:[Errno 14] curl#37 - “Couldn’t open file /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7”

從阿里雲或者其他鏡像站上,將RPM-GPG-KEY-CentOS-7下載到/etc/pki/rpm-gpg/下即可:

curl -o /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 https://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章