5

使用centos-vault作为停止支持的CentOS的yum源

 3 years ago
source link: https://www.javatang.com/archives/2017/09/04/13261799.html/comment-page-1
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

使用centos-vault作为停止支持的CentOS的yum源 – 爪哇堂 JavaTangSkip to main content

每隔一段时间,CentOS就会对老版本的系统结束支持,对应的yum源也失效了,CentOS 5.x在2017年3月31日结束支持,导致使用yum安装和更新程序的时候出现404错误。在CentOS官方有一个http://vault.centos.org/包含所有发行的CentOS版本,因此需要将yum源修改为centos-vault的源,这里以CentOS 5.x为例进行讲解。

/etc/yum.repos.d/CentOS-Base.repo 文件中所有的源主机地址修改为http://vault.centos.org ,并且将$releasever替换为当前系统所使用的CentOS版本,可以使用5.x最后的版本5.11。注意,需要将所有其他备用的主机都删除,内容如下:

[base]
name=CentOS-5.11 - Base
failovermethod=priority
baseurl=http://vault.centos.org/5.11/os/$basearch/
gpgcheck=1
gpgkey=http://vault.centos.org/RPM-GPG-KEY-CentOS-5

#released updates 
[updates]
name=CentOS-5.11 - Updates
failovermethod=priority
baseurl=http://vault.centos.org/5.11/updates/$basearch/
gpgcheck=1
gpgkey=http://vault.centos.org/RPM-GPG-KEY-CentOS-5

#additional packages that may be useful
[extras]
name=CentOS-5.11 - Extras
failovermethod=priority
baseurl=http://vault.centos.org/5.11/extras/$basearch/
gpgcheck=1
gpgkey=http://vault.centos.org/RPM-GPG-KEY-CentOS-5

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-5.11 - Plus
failovermethod=priority
baseurl=http://vault.centos.org/5.11/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://vault.centos.org/RPM-GPG-KEY-CentOS-5

#contrib - packages by Centos Users
[contrib]
name=CentOS-5.11 - Contrib
failovermethod=priority
baseurl=http://vault.centos.org/5.11/contrib/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://vault.centos.org/RPM-GPG-KEY-CentOS-5

确认在 /etc/yum.repos.d/目录没有除了CentOS-Base.repo之外其他以repo结尾的文件,如果有的话需要删除,然后执行 yum clean all && yum makecache 更新和启用新的yum源。

因为http://vault.centos.org/的服务器在国外,在国内进行更新的时候非常慢,而且经常会出现超时的错误,因此需要自己做一个本地的源。如何同步在http://vault.centos.org/readme.txt中有详细的说明,创建一个需要同步的目录,然后执行下面的命令即可自动同步:

rsync -a -v --exclude=debug --exclude=i386 rsync://archive.kernel.org/centos-vault/5.11/ /data/centos-vault/5.11/

上面将i386去除,是因为我用的是64位的系统,具体根据自己的情况进行设置。

默认情况下rsync是在前台运行的,在命令最后加&也无效,可以采用下面的步骤将其转为后台运行:
(1)运行上面的rsync命令;
(2)在运行的时候按 Ctrl+Z,这个时候会暂停上面的命令;
(3)输入bg并回车,这个时候就将rsync转移到后台运行了。

可以输入jobs命令查看后台正在运行的任务。可以在命令行后面加--progress参数查看正在运行的进度,如下图:

第一次运行之后的时间非常长,可以通过查看进度来查看其完成的情况,如果第一次完成之后可以将rsync命令加入到定时任务中,如下表示每天凌晨1点钟自动进行同步更新:

0 1 * * * /usr/bin/rsync -a -v --exclude=debug --exclude=i386 rsync://archive.kernel.org/centos-vault/5.11/ /data/centos-vault/5.11/ || echo "rsync died with error code $?" >> /var/log/rsync-centos-vault.log

后面的echo可以记录当执行出现错误的时候将错误码写入到日志文件里面。

PS:因为镜像会占用大量的硬盘空间,如果在文件中使用软链接的话,需要增加-L -K参数,前者会在同步的时候考虑到软链接,后者会在同步的时候保持软链接的状态,否则会删除软链接。

参考资料:
在CentOS 5里使用 vault.centos.org 作为yum源
How to create a CentOS mirror from an old point release?
Sync Files Between Servers using rsync

Linux进程后台运行的几种方式
如何复制目录结构而不删除符号链接?

2 thoughts to “使用centos-vault作为停止支持的CentOS的yum源”

  1. 81188ae11fd7663bb29c8e7e562c4a8f?s=60&d=monsterid&r=ggdlmo

    为什么我使用时会出现
    @ERROR: max connections (5) reached -- try again later
    rsync error: error starting client-server protocol (code 5) at main.c(1503) [receiver=3.0.6]
    的错误呢

  2. 94afc6de4d2adb1782161fe682cab091?s=60&d=monsterid&r=gJet Ma

    哪一步出现这个错误?

发表评论 取消回复

您的电子邮箱地址不会被公开。 必填项已用*标注

评论

显示名称 *

电子邮箱地址 *

网站网址


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK