KENTEM TechBlog

建設業のDXを実現するKENTEMの技術ブログです。

古い CentOS で『yum install』したい!

こんにちは、開発でインフラ担当をしているエンジニアです。

今となっては懐かしくなりつつあるかもしれませんが、CentOS には大変お世話になりました。
皆さんも、学校や会社、様々なシーンでお世話になったのではないでしょうか?

残念なことに、2024年6月30日をもって CentOS 7 のサポートが完全に終了してしまいました。
今まで CentOS にお世話になっていた身としては、次は RockyLinux か?AlmaLinux か? あるいは違うOSを選択するのか、悩ましいところです。

悩んだ挙句に新しい OS を選択したとしても、急にすべてを切り替えることは難しいですよね。
悩ましいのが、昔ながらの CentOS とのお付き合いです。
例えばですが、以前に作成したサーバー構築手順は CentOS 7 以前を前提とした内容だったりします。

さぁ新OSへ移行するぞ!と、まずは昔の構築手順の再現を取ろうとします。
懐かしい CentOS をインストールして、いざ yum install を実行すると、、、見事にエラーを吐くことがあります。

今日は、そんな最初の一歩で躓いた時のお話です。

yum install でエラー発生!

今回の例では、CentOS7 で yum install を実行すると下記のようなエラーが発生します。

mirrorlist.centos.org が見つからないよ という内容です。
結論としては、サポートが終了していて 元々アクセスしていたサーバーが利用できなくなった ことが原因です。
というわけで、他にもパッケージを提供しているサイトがあるので、参照先を切り替えてあげれば良いということですね。

解決方法!

解決方法は /etc/yum.repos.d/CentOS-Base.repo ファイルに記載されている参照先 URL を以下のように変更することです。
変更前:http://mirrorlist.centos.org/
変更後:http://vault.centos.org/

手順①

設定ファイルを変更するので、まずは念のためにファイルをコピーしておきましょう。

sudo cp  /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.org

ここからは、手作業で変更すると思わぬケアレスミスが発生しかねませんので、コマンドで一括変更していきましょう。

手順②

不要な行をコメントアウトします。

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

手順③

baseurl を変更します。

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

手順④

最後に動作確認をします!
yum update を実行して、リポジトリやパッケージが更新できるか試してみましょう。
上手くいけば、当初の目的である yum install コマンドが使えるはずです!

新OSへの移行チャレンジ!

手順の確認ができたら、いよいよ新OSでの環境構築です。
RockyLinux や AlmaLinux 等に移行できるか試していきましょう。
経験則ですが、RockyLinux9 で環境構築がうまくいかない場合は、一旦 RockyLinux8 で試してみると結果が変わる ことがあります。
いろいろと試して経験と知見を蓄積していきましょう!

インフラ担当って地味?

ところで、インフラ担当というと、「地味」で「周りからあまり認知されない」イメージがあるかもしれません。
電気、ガス、水道と同様に「動いて当たり前」という印象がある領域です。

ただ、幸いなことに、弊社ではインフラへの理解・関心が強い文化があり、社内サービスのメンテナンス等を行うと「いつもありがとうございます!」と感謝されることが多いです(嬉)。
地味な領域ではありますが、逆に考えると エンジニア全体に貢献できる領域 という視点もあります。

アプリ開発もいいですが、インフラも楽しいですよ!

おわりに

KENTEMでは、様々な拠点でエンジニアを大募集しています! 建設×ITにご興味頂いた方は、是非下記のリンクからご応募ください。

recruit.kentem.jp

career.kentem.jp