问题:centos系统yum安装软件时报错:

Determining fastest mirrors Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=genclo error was 14: curl#6 - "Could not resolve host: mirrorlist.centos.org; Unknown error"

通过更换yum源得以解决

备份当前yum源

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

下载新的CentOS-Base.repo 到/etc/yum.repos.d/

curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

如果还有下面的错误:

Cannot find a valid baseurl for repo: centos-sclo-rh/x86_64

Cannot find a valid baseurl for repo: centos-sclo-sclo/x86_64 

则需要将/etc/yum.repos.d/CentOS-SCLo-scl-rh.repo和/etc/yum.repos.d/CentOS-SCLo-scl.repo

 将enabled=1该为enabled=0

 再次清除缓存并更新

sudo yum clean all
sudo yum makecache

centos-sclo-rh 仓库是 CentOS Software Collections (SCLo) 项目的一部分,提供 CentOS 系统默认软件库中没有的新版本软件和开发工具。这个仓库主要提供以下内容:

  1. 较新的编译器和开发工具链
    包括 gcc、gcc-c++、python 等软件的较新版本,可以满足需要新功能或性能改进的开发需求。

  2. 支持多版本环境
    SCLo 仓库允许在系统上安装多个版本的软件包,并在需要时使用 scl 工具启用特定版本,而不会影响系统的默认软件版本。这在需要兼容多个项目或不同版本的库时非常有用。

  3. 适用于软件开发的库和运行时环境
    SCLo 仓库中的软件包通常用于开发环境,比如新版的数据库、服务器、编译器和运行时(如 Python 3.x、Ruby、Node.js 等)。这些包通常与 CentOS 默认的长期支持包不同,更新频率更高,以便开发人员可以在 CentOS 上访问到最新的工具。

  4. 支持更长的生命周期
    对于开发者来说,使用 SCLo 提供的环境可以保证在一个较长的生命周期内获得软件更新和支持,帮助系统在满足开发需求的同时保持稳定性。

如何使用 SCLo 仓库

通常可以通过 scl enable 命令来激活 SCLo 中的特定工具链。例如,如果安装了 devtoolset-8(包含 gcc 8),可以通过以下命令启用:

scl enable devtoolset-8 bash

这样,当前终端会话中会使用 gcc 8 等工具,而不会影响系统默认的 gcc 版本。

更多推荐