[大阪/横滨/德岛] 寻找基础设施/服务器端工程师!

[大阪/横滨/德岛] 寻找基础设施/服务器端工程师!

【超过500家企业部署】AWS搭建、运维、监控服务

【超过500家企业部署】AWS搭建、运维、监控服务

【CentOS的后继者】AlmaLinux OS服务器搭建/迁移服务

【CentOS的后继者】AlmaLinux OS服务器搭建/迁移服务

[仅适用于 WordPress] 云服务器“Web Speed”

[仅适用于 WordPress] 云服务器“Web Speed”

[便宜]网站安全自动诊断“快速扫描仪”

[便宜]网站安全自动诊断“快速扫描仪”

[预约系统开发] EDISONE定制开发服务

[预约系统开发] EDISONE定制开发服务

[注册100个URL 0日元] 网站监控服务“Appmill”

[注册100个URL 0日元] 网站监控服务“Appmill”

【兼容200多个国家】全球eSIM“超越SIM”

【兼容200多个国家】全球eSIM“超越SIM”

[如果您在中国旅行、出差或驻扎]中国SIM服务“Choco SIM”

[如果您在中国旅行、出差或驻扎]中国SIM服务“Choco SIM”

【全球专属服务】Beyond北美及中国MSP

【全球专属服务】Beyond北美及中国MSP

[YouTube]超越官方频道“美由丸频道”

[YouTube]超越官方频道“美由丸频道”

启用 yum 以在 EOL CentOS 6 上使用 [存储库更改]

大家好。
我是系统解决方案部门的成员,我希望 1Gbps 或更高的网络连接成为默认设置。

强烈建议迁移旧环境,例如 CentOS 6 环境,但由于各种原因,某些环境可能会保留。

在这样的环境下,很容易遇到尝试使用“yum”进行更新或添加时无法使用的情况(使用会出现错误)。

这次,我将解释和解释“在 CentOS 6 上启用 yum(更改存储库)”的步骤来解决这种情况。

前言

  • 我们不建议在 CentOS 6 上运行。
    这是对 CentOS 6 的紧急回应
  • 目的不是使用 Base 存储库,而是使“yum”可用。
  • 这些步骤是因为它是默认存储库。

执行环境

■ Windows 环境
操作系统:Windows 11 Pro(版本:23H2)
语言设置:更改为日语

■ 验证 CentOS 6 环境(Vagrant + VirtualBox)
操作系统:CentOS 6.9 (bento/centos-6.9)
Vagrant:2.4.1
VirtualBox:7.0.18 r162988 (Qt5.15.2)
IP:192.168.33.15
主机名:targetnode
用户名:vagrant

存储库原因 - 错误:无法找到存储库的有效基本 URL:base

$ yum info 加载的插件:fastestmirror 确定最快的镜像 YumRepo 错误:所有镜像 URL 均未使用 ftp、http[s] 或文件 例如,无效的版本/repo/arch 组合/删除没有有效镜像的镜像列表:/var/cache/ yum/x86_64/6/base/mirrorlist.txt 错误:找不到存储库的有效基本 URL:基本

使用``yum''经常会显示“Error: Cannot find a valid baseurl for repo: base”

这是由于 EOL 导致的,默认注册的所有存储库均已关闭(终止)。
因此,出现错误是因为“没有可用的存储库”。

您需要为 CentOS 6 设置另一个存储库来解决该问题。

工作流程

0.检查yum错误

请检查这一点以确保您不会在没有问题的情况下继续工作。

$ yum info 加载的插件:fastestmirror 确定最快的镜像 YumRepo 错误:所有镜像 URL 均未使用 ftp、http[s] 或文件,例如,无效的版本/repo/arch 组合/删除没有有效镜像的镜像列表:/var/tmp/ yum-vagrant-BcYfuY/x86_64/6/base/mirrorlist.txt 错误:找不到存储库的有效基本 URL:基本

错误:无法找到 repo 的有效 baseurl:base

现在我们已经确认了错误,让我们开始吧。

1. 备份您的存储库

对存储库进行任何更改之前,请先进行过时的备份。

您最终可能会在保存文件时删除所有内容,因此请务必保存。

$ cp -p /etc/yum.repos.d/CentOS-Base.repo /tmp/CentOS-Base.repo.`date +%Y%m%d` $ ls -l /tmp | grep CentOS-Base.repo -rw-r--r--.1 流浪者 1991 年 3 月 28 日 CentOS-Base.repo.2024xxxx

(它是在 /tmp 中创建的,因为它是临时备份)

提示:CentOS-Base.repo.`日期 +%Y%m%d`

使用`(反引号)将命令的结果视为字符串。
其中,我们使用 data 命令,可以通过指定格式(年、月、日)来显示日期和时间。

这很方便,因为您可以在执行命令时创建一个文件名末尾带有“年、月、日”的备份文件,而无需查看日历。

2. 更改存储库

○ 2-1. 检查默认状态

如果您将存储库保留为默认值,它应该如下所示:

$ less /etc/yum.repos.d/CentOS-Base.repo ~省略~ [base] name=CentOS-$releasever - 基本镜像列表=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo =os&infra=$infra #baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/ ~省略~ [更新] name=CentOS-$releasever - 更新mirrorlist=http://mirrorlist。 centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra #baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/ ~省略~ [extras] name=CentOS- $releasever - 额外镜像列表=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra #baseurl=http://mirror.centos.org/centos/$releasever/extras/$ basearch/ ~省略~ [centosplus] name=CentOS-$releasever - Plusmirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra #baseurl=http://mirror. centos.org/centos/$releasever/centosplus/$basearch/ ~省略~ [contrib] name=CentOS-$releasever - Contribmirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib&infra =$infra #baseurl=http://mirror.centos.org/centos/$releasever/contrib/$basearch/ ~省略~

○ 2-2. 镜像列表不起作用,因此禁用它(注释掉)

注释掉“mirrorlist=http://mirrorlist.centos.org”部分,但是编辑多个地方很容易出错。

因此,使用 sed 命令一次性全部替换。

$ sudo sed -i -e "s/^mirrorlist=http:\/\/mirrorlist.centos.org/#mirrorlist=http:\/\/mirrorlist.centos.org/g" /etc/yum.repos.d /CentOS-Base.repo

○ 2-3. 重写baseurl并启用(注释中)

取消注释“#baseurl=”并指定使用 IIJ 提供的 CentOS 存储库。
*指定了截至 2024/07 可用的存储库。将来,如果有问题的存储库被终止,请指定另一个存储库。

这也可以使用 sed 命令立即替换。

$ sudo sed -i -e "s/^#baseurl=http:\/\/mirror.centos.org\/centos\/\$releasever/baseurl=http:\/\/ftp.iij.ad.jp\ /pub\/linux\/centos-vault\/\$releasever/g" /etc/yum.repos.d/CentOS-Base.repo
如果您想手动重写,请更改“#baseurl=”,如下所示。
#baseurl=http://mirror.centos.org/centos/$releasever ⇓ baseurl=http://ftp.iij.ad.jp/pub/linux/centos-vault/$releasever

○ 2-4. 变更/差异确认

检查编辑的存储库和备份的存储库之间的差异,以确认更改是否符合预期。

$ diff /etc/yum.repos.d/CentOS-Base.repo /tmp/CentOS-Base.repo.`date +%Y%m%d` 15,16c15,16 < #mirrorlist=http://mirrorlist. centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra < baseurl=http://ftp.iij.ad.jp/pub/linux/centos-vault/$releasever/os/$basearch/ -- ->mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra>#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch / ~省略~

只要能看到如上图所示的更改前后的差异就没有问题。

○ 2-5. 指定变量“$releasever”

要修复次要版本,请将版本写入“releasever”变量中。

这是通过创建一个变量文件来修复它来完成的。
(如果已经指定/修复,则不需要此响应)

$ ls -l /etc/yum/vars/ | grep releasever *检查是否尚未创建 $ sudo sh -c 'echo "6.9" > /etc/yum/vars/releasever' *创建并添加 * 以 root 身份运行如果是这样, echo "6.9" > /etc/yum/vars/releasever 就可以了。 $ cat /etc/yum/vars/releasever *检查是否写为 6.9

没有问题,因为显示的是我写的6.9。

3.检查yum运行情况并删除缓存

○ 3-1. 检查 yum 是否可以与 yum info 一起使用

让我们显示php包信息。

$ yum info php 加载的插件:fastestmirror 确定最快的镜像 可用软件包名称:php Arch:x86_64 版本:5.3.3 发布:49.el6 大小:1.1 M 存储库:base 摘要:用于创建动态网站的 PHP 脚本语言 URL:http: //www.php.net/ 许可证 : PHP 描述 : PHP 是一种 HTML 嵌入脚本语言 PHP 试图使其〜省略〜。

如果版本等显示如上所示,则 yum 工作正常,没有任何问题。

○ 3-2. 删除 yum 缓存

虽然不是必须的,但既然我们改了yum,就清除缓存吧。

$ sudo yum clean all 加载的插件:fastestmirror 清理存储库:基本额外更新 清理一切 清理最快镜像列表

完成

这样就完成了更改存储库以解决“yum”错误的过程。

最后

这个任务本身并不困难。
不过,当你想使用“yum”时,很容易因为这个错误而卡住,所以在CentOS 6环境下提前处理一下会比较容易。

我希望这篇文章能为阅读它的人提供一些有用的知识和信息。
感谢您阅读本文。

参考资料

如何更改阿里云CentOS 6仓库地址

8.2.3. 显示软件包信息 |
https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/6/html/deployment_guide/sec-displaying_package_information

如果您觉得这篇文章有帮助,请点赞!
3
加载中...
3 票,平均:1.00 / 13
3,351
X Facebook 哈特纳书签 口袋
[2025.6.30 Amazon Linux 2 支持结束] Amazon Linux 服务器迁移解决方案

[2025.6.30 Amazon Linux 2 支持结束] Amazon Linux 服务器迁移解决方案

写这篇文章的人

关于作者

里面

2022 年加入 Beyond 职业生涯 属于
系统解决方案部门
LPIC-3 我有 304 和 AWS SAA 我的
常规饮料只有三种选择:牛奶、可乐和红茶。