LoginSignup
1
1

More than 1 year has passed since last update.

CentOS 6.7 で yum コマンドを実行すると SSL のエラーでリポジトリに接続できない

Last updated at Posted at 2022-10-20

リポジトリがなくなってる

CentOS 6.7 の Docker イメージを使って yum コマンドを実行すると以下のエラー文が出ました。

 > [2/2] RUN yum update:                                                                                                                          
#5 0.779 Loaded plugins: fastestmirror
#5 0.969 Setting up Update Process
#5 1.743 Error: Cannot retrieve repository metadata (repomd.xml) for repository: base. Please verify its path and try again
#5 1.749 YumRepo Error: All mirror URLs are not using ftp, http[s] or file.
#5 1.749  Eg. Invalid release/repo/arch combination/
#5 1.749 removing mirrorlist with no valid mirrors: /var/cache/yum/x86_64/6/base/mirrorlist.txt

ざっと調べたところどうやら OS のサポートが終わっているため、リポジトリの場所が変わってしまっているようです。
古い OS だとよくあるやつですね…

少し調べると、参照先をvault.centos.orgに変えれば大丈夫という事例がたくさん見つかりました。
先人のみなさんに感謝しつつ参照先を変えると...

 > [3/3] RUN yum update:                                                                                                                          
#6 0.979 Loaded plugins: fastestmirror                                                                                                            
#6 1.177 Setting up Update Process
#6 1.539 https://vault.centos.org/centos/6.9/os/x86_64/repodata/repomd.xml: [Errno 14] problem making ssl connection
#6 1.540 Trying other mirror.
#6 1.540 Error: Cannot retrieve repository metadata (repomd.xml) for repository: base. Please verify its path and try again

SSL接続エラー

あれ、SSL で接続できない…?

 [Errno 14] problem making ssl connection

こちらのエラーで調べてみるとどうやらこの CentOS の TLS のバージョンが古いことによりvault.centos.orgへ接続できないようです。
つまり yum 以外の方法で OpenSSL のバージョンをあげないといけないって…コト!?

というのはさすがに手間すぎるので接続可能なミラーのリポジトリへ変更することにしました。

再度参照先の変更

CentOS-Base.repoファイルのリポジトリの参照先を以下のように変更したところ問題なく yum コマンドが実行できました!
※実際は数カ所あります

変更前 http://mirror.centos.org/centos/$releasever/os/$basearch/
変更後 http://ftp.jaist.ac.jp/pub/Linux/CentOS-vault/$releasever/os/$basearch/

(変更後の接続先は北陸先端科学技術大学院大学です。ミラーありがとうございます🙏)

以下とりあえず yum を実行したい方向け

コピペしてファイルを作ればとりあえず動くはず

CentOS-Base.repo ファイル

最終的な CentOS-Base.repo ファイル は以下のようになりました(長いので畳んでいます)

CentOS-Base.repo ファイル
[base]
name=CentOS-$releasever - Base
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
baseurl=http://ftp.jaist.ac.jp/pub/Linux/CentOS-vault/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

#released updates
[updates]
name=CentOS-$releasever - Updates
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra
baseurl=http://ftp.jaist.ac.jp/pub/Linux/CentOS-vault/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

#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://ftp.jaist.ac.jp/pub/Linux/CentOS-vault/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

#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://ftp.jaist.ac.jp/pub/Linux/CentOS-vault/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

#contrib - packages by Centos Users
[contrib]
name=CentOS-$releasever - Contrib
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib&infra=$infra
#baseurl=http://ftp.jaist.ac.jp/pub/Linux/CentOS-vault/$releasever/contrib/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

Dockerfile

変更後の CentOS-Base.repo ファイルをコピーする前提です。
記事作成時点では以下のような記載で yum コマンドが実行できました。

FROM centos:6.7

# CentOS のリポジトリは使えなくなっているので国内のミラーサイトに置換
COPY CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo

# マイナーバージョンまで指定しないとリポジトリのパスがエラーになるため追加
RUN echo 6.7 > /etc/yum/vars/releasever

# 続けて任意の yum コマンド
RUN yum install -y hoge

参考

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1