杨福顺 發表於 2020-12-5 22:30:00

为CentOS安装yum源

<div>今天在安装CentOS 6.10 版本后发现,无法使用yum安装软件。</div>
<div>&nbsp;</div>
<div><span style="color: rgba(136, 136, 136, 1)"><strong>过程:</strong></span></div>
<div>我登录官方网站,看到下载界面里边已经取消了CentOS6的下载链接,我想可能是已经不再支持了。</div>
<div>当我使用最小安装完毕的CentOS 6.10进行yum安装软件时,会报下边的错误。</div>
<div>&nbsp;</div>
<div># yum install vim -y</div>
<div>Loaded plugins: fastestmirror</div>
<div>Setting up Install Process</div>
<div>Determining fastest mirrors</div>
<div>YumRepo Error: All mirror URLs are not using ftp, http or file.</div>
<div>Eg. Invalid release/repo/arch combination/</div>
<div>removing mirrorlist with no valid mirrors: /var/cache/yum/x86_64/6/base/mirrorlist.txt</div>
<div>Error: Cannot find a valid baseurl for repo: base</div>
<div>&nbsp;</div>
<div><span style="color: rgba(136, 136, 136, 1)"><strong>解决:</strong></span></div>
<div>&nbsp;我去网上查了一下上边的错误,原因是:更新的repo源里边的地址错误,随后我换成了阿里源云,网易云,都不得行,我手动去登录里边的网址,结果显示已经下架。我就用到了官方的已经下架系统的镜像网站。</div>
<div>参考:以下教程找到了解决办法</div>
<div>使用centos-vault作为停止支持的CentOS的yum源 – 爪哇堂 JavaTang<br></div>
<div>&nbsp;</div>
<div>&nbsp;将&nbsp;<code>/etc/yum.repos.d/CentOS-Base.repo</code>&nbsp;文件中所有的源主机地址修改为http://vault.centos.org,并且将$releasever替换为当前系统所使用的CentOS版本,可以使用6.x最后的版本6.10。注意,需要将所有其他备用的主机都删除,内容如下:</div>
<div>&nbsp;vi /etc/yum.repos.d/CentOS-Base.repo</div>
<div>
<p><br>name=CentOS-6.10 - Base - vault.centos.org<br>failovermethod=priority<br>baseurl=http://vault.centos.org/centos/6.10/os/$basearch/<br>gpgcheck=1<br>gpgkey=http://vault.centos.org/centos/RPM-GPG-KEY-CentOS-6</p>
<p>#released updates<br><br>name=CentOS-6.10 - Updates - vault.centos.org<br>failovermethod=priority<br>baseurl=http://vault.centos.org/centos/6.10/updates/$basearch/<br>gpgcheck=1<br>gpgkey=http://vault.centos.org/centos/RPM-GPG-KEY-CentOS-6</p>
<p>#additional packages that may be useful<br><br>name=CentOS-6.10 - Extras - vault.centos.org<br>failovermethod=priority<br>baseurl=http://vault.centos.org/centos/6.10/extras/$basearch/<br>gpgcheck=1<br>gpgkey=http://vault.centos.org/centos/RPM-GPG-KEY-CentOS-6</p>
<p>#additional packages that extend functionality of existing packages<br><br>name=CentOS-6.10 - Plus - vault.centos.org<br>failovermethod=priority<br>baseurl=http://vault.centos.org/centos/6.10/centosplus/$basearch/<br>gpgcheck=1<br>enabled=0<br>gpgkey=http://vault.centos.org/centos/RPM-GPG-KEY-CentOS-6</p>
<p>#contrib - packages by Centos Users<br><br>name=CentOS-6.10 - Contrib - vault.centos.org<br>failovermethod=priority<br>baseurl=http://vault.centos.org/centos/6.10/contrib/$basearch/<br>gpgcheck=1<br>enabled=0<br>gpgkey=http://vault.centos.org/centos/RPM-GPG-KEY-CentOS-6</p>
</div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div>&nbsp;确认在&nbsp;<code>/etc/yum.repos.d/</code>目录没有除了CentOS-Base.repo之外其他以repo结尾的文件,如果有的话需要删除,然后执行&nbsp;<code>yum clean all &amp;&amp; yum makecache</code>&nbsp;更新和启用新的yum源。</div>
<div>&nbsp;</div>
<div>
<p>因为http://vault.centos.org/的服务器在国外,在国内进行更新的时候非常慢,而且经常会出现超时的错误,因此需要自己做一个本地的源。如何同步在http://vault.centos.org/readme.txt中有详细的说明,创建一个需要同步的目录,然后执行下面的命令即可自动同步:<br><br>rsync -a -v --exclude=debug --exclude=i386 rsync://archive.kernel.org/centos-vault/6.10/ /data/centos-vault/6.10/<br><br>上面将i386去除,是因为我用的是64位的系统,具体根据自己的情况进行设置。</p>
<p>默认情况下rsync是在前台运行的,在命令最后加&amp;也无效,可以采用下面的步骤将其转为后台运行:<br>(1)运行上面的rsync命令;<br>(2)在运行的时候按&nbsp;<code>Ctrl+Z</code>,这个时候会暂停上面的命令;<br>(3)输入<code>bg</code>并回车,这个时候就将rsync转移到后台运行了。</p>
<p>可以输入<code>jobs</code>命令查看后台正在运行的任务。可以在命令行后面加<code>--progress</code>参数查看正在运行的进度,如下图:<br><img sizes="(max-width: 1024px) 100vw, 1024px" srcset="https://www.javatang.com/wp-content/uploads/2017/09/20170904140747-1024x379.png 1024w, https://www.javatang.com/wp-content/uploads/2017/09/20170904140747-300x111.png 300w, https://www.javatang.com/wp-content/uploads/2017/09/20170904140747-768x284.png 768w, https://www.javatang.com/wp-content/uploads/2017/09/20170904140747-100x37.png 100w, https://www.javatang.com/wp-content/uploads/2017/09/20170904140747.png 1080w" alt="" width="1024" height="379" class="alignnone size-large wp-image-1811 lazyload" loading="lazy" src="https://www.javatang.com/wp-content/uploads/2017/09/20170904140747-1024x379.png"></p>
<p>第一次运行之后的时间非常长,可以通过查看进度来查看其完成的情况,如果第一次完成之后可以将rsync命令加入到定时任务中,如下表示每天凌晨1点钟自动进行同步更新:<br><br>0 1 * * * /usr/bin/rsync -a -v --exclude=debug --exclude=i386&nbsp;rsync://archive.kernel.org/centos-vault/6.10/ /data/centos-vault/6.10/ || echo "rsync died with error code $?" &gt;&gt; /var/log/rsync-centos-vault.log<br><br>后面的echo可以记录当执行出现错误的时候将错误码写入到日志文件里面。</p>
<p>PS:因为镜像会占用大量的硬盘空间,如果在文件中使用软链接的话,需要增加<code>-L -K</code>参数,前者会在同步的时候考虑到软链接,后者会在同步的时候保持软链接的状态,否则会删除软链接。</p>
</div>
<div>&nbsp;</div>
<div>&nbsp;</div><br><br>
来源:https://www.cnblogs.com/jianchen013/p/14091461.html
頁: [1]
查看完整版本: 为CentOS安装yum源