CentOS 7 安装后的 repo 源管理

您所在的位置:网站首页 linux使用u盘安装时默认安装源在哪定义的 CentOS 7 安装后的 repo 源管理

CentOS 7 安装后的 repo 源管理

2024-05-27 13:24| 来源: 网络整理| 查看: 265

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录 前言一、默认 repo 情况二、更换国内源1.备份 CentOS-Base.repo2.下载新的CentOS-Base.repo 到`/etc/yum.repos.d/`3.清除系统yum缓存并生成新的yum缓存4.添加 EPEL 源5.更新epel-release6.几个软件的安装

前言

    安装完成 CentOS之后,后续安装软件的话,就需要使用 yum 进行 repo 源的管理,所有的 repo 都位于 /etc/yum.repos.d/目录下,该目录下存在多个。我安装的是 CentOS-7-x86_64-DVD-1804,其 repo 文件包括

CentOS-Base.repoCentOS-CR.repoCentOS-fasttrack.repoCentOS-Sources.repoCentOS-Debuginfo.repoCentOS-Media.repoCentOS-Vault.repo 其实,这些 repo 并没有全都启用,可以使用 yum repolist all 查看你拥有的所有repo及其状态(当前会否启用,启用的会将其标识为 enable) ,后面会做详细说明。

提示:以下是本篇文章正文内容,下面案例可供参考

一、默认 repo 情况

    安装完成之后,默认 repo 位于 mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=stock。当使用 yum makecache(Generate the metadata cache 生成repo 缓存)或者 yum repolist all(首次使用,或者前面已经使用 yum clean all)时,大概率会看到下面的情况:(大概的意思就是连不上,被墙了)

Determining fastest mirrors Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=stock error was 12: Timeout on http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=stock: (28, ‘Operation too slow. Less than 1000 bytes/sec transferred the last 30 seconds’) Loading mirror speeds from cached hostfile Loading mirror speeds from cached hostfile Loading mirror speeds from cached hostfile

    这种情况下,如果你使用yum install ***安装程序,是装不了的,因为你的 repo 里面找不到。使用 yum repolist all可以查看当前启用的 repo ( /etc/yum.repos.d/目录下),以及每个启用的 repo 下拥有的可安装软件数目(如果网络能连到该 repo 的话)。 在这里插入图片描述     可以看到,C7.*开始的行都是以前版本(我装的是1804版本)相关的 repo,所以状态都是 disabled。实际启用的只有 Base、Extras、Updates(这几个其实都是在 CentOS-Base.repo 中定义的),它们的 状态 都是 enabled。但是后面还有个0是什么意思呢,这其实表示虽然启用了,但连不上网,最后一行的 repolist: 0也说明了这一点。     CentOS-Base.repo 的部分脚本,可以看到这里定义了 Base、Updates、Extras、Plus四个repo的源。

[base] name=CentOS-$releasever - Base mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra #baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 #released updates [updates] name=CentOS-$releasever - Updates mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra #baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 #additional packages that may be useful [extras] name=CentOS-$releasever - Extras mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra #baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 #additional packages that extend functionality of existing packages [centosplus] name=CentOS-$releasever - Plus mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra #baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/ 二、更换国内源

    有两种更换国内源的方式:

直接修改 CentOS-Base.repo,改为国内源地址即可删掉/转移到别的位置 CentOS-Base.repo,或者改一下后缀,改成非.repo,然后将从国内备份站点下载新 repo 放入 /etc/yum.repos.d/目录即可,这里只说使用 wget下载工具直接下载的情况。 1.备份 CentOS-Base.repo

假设当前已经在 /etc/yum.repos.d/目录

mkdir bak mv CentOS-Base.repo ./bak 2.下载新的CentOS-Base.repo 到/etc/yum.repos.d/

网上有些教程里面,非要把新下载的 repo 文件 命名为 CentOS-Base.repo,这是没有多大必要的,yum解析的时候是靠

[updates] name=CentOS-$releasever - Updates

来完成的,所以 repo 的文件名是否与原来的相同其实是没有多大关系的,只要有 Base、Updates、Extras、Plus这四者的定义就可以了。

# 当前为 `/etc/yum.repos.d/`目录 wget http://mirrors.aliyun.com/repo/Centos-7.repo # 或者 网易 源 wget http://mirrors.163.com/.help/CentOS7-Base-163.repo 3.清除系统yum缓存并生成新的yum缓存 yum clean all # 清除系统所有的yum缓存 yum makecache # 生成yum缓存

至此,源已经配置好了,可以再次使用 yum repolist all看一下结果。可以看到 Base、Extras、Updates 对应的软件数目已经不是 0,可以使用 yum install **安装软件了。

在这里插入图片描述

4.添加 EPEL 源

EPEL(http://fedoraproject.org/wiki/EPEL) 是由 Fedora 社区打造,为 RHEL 及衍生发行版如 CentOS、Scientific Linux 等提供高质量软件包的项目。

有两种添加方式

yum 安装,这种方式下载下来的 epel.repo,里面的repo源地址可能是官方的,比如我这边下载下来后,里面的内容是下面这样的,可以看到该 epel 里面程序的源定位到了 mirrors.fedoraproject.org(这里的metalink不知是什么意思) yum list | grep epel-release # epel 位于 @extras 中 yum install -y epel-release

epel.repo 的内容

[epel] name=Extra Packages for Enterprise Linux 7 - $basearch #baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch failovermethod=priority enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 [epel-debuginfo] name=Extra Packages for Enterprise Linux 7 - $basearch - Debug #baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch/debug metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-debug-7&arch=$basearch failovermethod=priority enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 gpgcheck=1 [epel-source] name=Extra Packages for Enterprise Linux 7 - $basearch - Source #baseurl=http://download.fedoraproject.org/pub/epel/7/SRPMS metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-source-7&arch=$basearch failovermethod=priority enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 gpgcheck=1 直接从阿里云下载, wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

epel.repo 的内容为下面所示,epel 里面程序的源已经变为 mirrors.aliyun.com

[epel] name=Extra Packages for Enterprise Linux 7 - $basearch baseurl=http://mirrors.aliyun.com/epel/7/$basearch failovermethod=priority enabled=1 gpgcheck=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 [epel-debuginfo] name=Extra Packages for Enterprise Linux 7 - $basearch - Debug baseurl=http://mirrors.aliyun.com/epel/7/$basearch/debug failovermethod=priority enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 gpgcheck=0 [epel-source] name=Extra Packages for Enterprise Linux 7 - $basearch - Source baseurl=http://mirrors.aliyun.com/epel/7/SRPMS failovermethod=priority enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 gpgcheck=0

Tips:

经实测,http://download.fedoraproject.org/pub/epel/7/会跳转到清华源或者中科大源

5.更新epel-release

上面4里面安装的 epel-release 版本为7-11,是可以更新到 7-13的

yum clean all # 清除系统yum缓存 yum makecache # 重新生成新的yum缓存, epel 源生效 yum list | grep epel-release yum install -y epel-release

前3行指令执行之后,会提示 epel 的 repo中存在一个更新版本的 epel-release,使用第4行安装即可。

Tips

更新之后,repo源又会变为mirrors.fedoraproject.org,不过实测下载速度跟使用阿里云几无差别。

6.几个软件的安装

yum install -y htop atop iftop iotop redhat-lsb



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3