13
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【2026年】今更のCentOS 5 / 6 インストール 〜リポジトリに接続できるようになるまで〜

13
Posted at

令和も8年になって、CentOS 5・CentOS 6を検証用途で新規セットアップする羽目になったため、つまづきどころを備忘として残します。

EOL済のOSをインストールし、使用することは、大きなセキュリティリスクがあり危険です。
今回は、検証用途でどうしても必要という話のため、リスクについても検討の上でインストールを実施しています。
真似をしてどうなっても責任は負えませんのであしからず。

CentOS 5 / 6とは?

  • CentOS5
    • 2007年4月にリリースされたCentOSのバージョン。2017年3月にEOL済。
  • CentOS6
    • 2011年7月にリリースされたCentOSのバージョン。2020年11月にEOL済。

CentOS 5に至っては、そろそろEOLから10年が経とうとしています。

あんまりにも古いため、現在よく使われているLinuxディストロとは異なる、次のような特徴があります。

  • systemdが導入されていない
    • CentOS 5はSysV init
    • CentOS 6ではUpstart(←今日び名前を聞かないですね)が導入されたが、スクリプト管理の使い勝手は基本的にSysV initと同じ
  • NetworkManagerについても、基本的には使用されないと考えて良い
    • CentOS 5では標準で無効
    • CentOS 6では標準で有効となったが、サーバ用途としてセットアップした場合はそもそも導入されない。これによるちょっとした落とし穴がある(後述)
  • 現代的な暗号化形式に対応していない
    • OpenSSLのバージョンが古い。特にCentOS 5では、TLS1.2が使用不可のため、現代においてHTTPS接続はほぼ不可能
    • SSHの接続方式が古いため、現代のLinuxディストロのsshコマンドでは標準で疎通ができない
    • CentOS 5では、SMBファイル共有が基本的にSMB1しか使えない。
      Windows Server 2019以降(および同時期のデスクトップ版Windows)以降では標準で無効化されているため、Windowsとのファイル共有にはWindows側の設定変更が必要。(セキュリティは犠牲となる)
  • (これに関してはStream以外のCentOSは全部そうだが)Vault以外のリポジトリが死んでいる
  • ブートローダがGRUB Legacy(1系)
    • なお、GRUB Legacy系と現在使われているGRUB2はまったく別モノ
    • 上記が原因か厳密に確かめていないが、BIOSベース環境→UEFIベース環境にバックアップツールで移行するような場合に、CentOS7以降では成功、6以前では失敗ということがあった

ゆるふわインフラ園児の私にとっては、LinuC 102の試験勉強以外で見たことのないような、古めかしい環境です。

ディスクイメージの選定

ディスクイメージ(iso形式)は、下記にマイナーバージョン単位でアーカイブされて配布されています。

バージョン5系の最新バージョンである5.11の、x86_64向けの場合、下記のイメージが配布されています。
CD9枚組用のイメージがあるのが、時代を感じさせます。

CentOS-5.11-x86_64-bin-1of9.iso
CentOS-5.11-x86_64-bin-2of9.iso
(中略)
CentOS-5.11-x86_64-bin-9of9.iso

CentOS-5.11-x86_64-bin-DVD-1of2.iso
CentOS-5.11-x86_64-bin-DVD-2of2.iso

CentOS-5.11-x86_64-netinstall.iso

バージョン6系の最新バージョンである6.10の場合は、下記のとおり。
流石にDVD用のみになりました。

CentOS-6.10-x86_64-LiveDVD.iso

CentOS-6.10-x86_64-bin-DVD1.iso
CentOS-6.10-x86_64-bin-DVD2.iso

CentOS-6.10-x86_64-minimal.iso

CentOS-6.10-x86_64-netinstall.iso

今回は、この中のCentOS-5.11-x86_64-bin-DVD-1of2.iso CentOS-6.10-x86_64-bin-DVD1.isoを使ってインストールを実施しました。
いちおう2枚組の1枚目ということになっていますが、GUIのないサーバ用途での通常セットアップの範囲では、2枚目への差し替えを要求されることはありませんでした。

なお、netinstallの記載のあるisoイメージはサイズが小さく、インストール時にオンラインリポジトリから必要なパッケージ等を取得してインストールするようになっています。
が、CentOS 5・6の標準リポジトリは死んでおり、余計な手間が増えることになりますので、使わないことをおすすめします。

下記、特筆無い限りスクリーンショットはCentOS5.11のものです。

インストール

  • ディスクチェックをするかどうか聞かれますが、この時代のインストールメディアは2枚組のため、1枚めのディスクチェックが終わるとディスクがイジェクトされてしまいます。
    VMでコレが起きると地味に面倒なので、ディスクチェックはとくに必要な理由がない限りスキップが良いでしょう。

  • インストーラはRHEL系おなじみのAnacondaですがバージョンが古く、最近のRHEL系ディストリビューションで使われているバージョンのような、設定一覧画面をハブとする形式ではありません。

    • 一つづつ設定をしては「Next(次へ)」を押下して進めてゆくウィザード形式となっています。
      UbuntuのインストーラUbiquityなどと操作感覚としては近く、あまり混乱することはないと思います。
  • なお、現場業務で使用した環境(詳細は伏せますがVMwareベースの環境)では、仮想化基盤と古いインストーラの相性問題なのかインストーラのマウス操作が効きませんでした……

    • テキストモードでインストーラを再実行してもよいのですが、グラフィカルモードのままでもキーボード(Tabキー、矢印キー、Enterキー)だけで操作はできるようになっていますので、多少手間ですが大した問題ではありません。
    • CentOS6系では、RAM 512MBではGUIインストーラが起動せず、テキストインストーラにフォールバックするようです。
      文字ベースになること以外のインストール手順・難易度はかわりませんが、画面証跡を残す必要があるなどで不都合な場合はメモリ割り当てを増やして下さい。

パーティション設定の画面で下記ディスクが見つからない旨のエラーが出た場合は、VM側のディスク設定がCentOS5/6で読み取れない構成となっている可能性があります。
多くのVMソフトウェアでは、OSバージョンを選択するとそれに適したVM構成を自動で構成するようになっていますので、指定しているバージョンがあっているか確認ください。
(本来のバージョンを指定できない場合は、選択できる限り古いバージョンを指定します)

image.png

デスクトップ環境は不要のため、Serverを選択してインストールします。
image.png

ちなみに、今回は言語を英語にしてセットアップしています。

ログイン〜ネットワーク設定

現在のRHELと異なり、インストール手順中で一般ユーザを作成するようになっていないため、初回ログインはrootで実施します。
image.png

CentOS5

今回検証に使った環境は一般的なNW構成のため、インストーラが生成する標準の設定ファイルにより、自動(DHCP)設定で疎通ができていました。

[root@localhost ~]# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000
    link/ether **:**:**:**:**:** brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.**/24 brd 192.168.0.255 scope global eth0
    inet6 ****:****:****:****:****:****:****:****/64 scope global dynamic
       valid_lft 265sec preferred_lft 265sec
    inet6 ****:****:****:****:****:****:****:****/64 scope link 
       valid_lft forever preferred_lft forever
3: sit0: <NOARP> mtu 1480 qdisc noop 
    link/sit 0.0.0.0 brd 0.0.0.0
[root@localhost ~]# ping -c 4 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=117 time=8.02 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=117 time=7.86 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=117 time=8.24 ms
64 bytes from 8.8.8.8: icmp_seq=4 ttl=117 time=8.56 ms

--- 8.8.8.8 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3000ms
rtt min/avg/max/mdev = 7.862/8.171/8.561/0.269 ms

SSH接続では、先述した通り最近のLinuxディストロからCentOS5への直接疎通ができません。
※下記の**は伏せ字です

$ ssh root@192.168.0.**
Unable to negotiate with 192.168.0.** port 22: no matching key exchange method found. Their offer: diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1

下記のオプションで、古い(現在は安全でないとみなされる)暗号化方式をこの接続限り有効化すると、疎通できるようになります。

$ ssh -o KexAlgorithms=+diffie-hellman-group1-sha1 \
    -o HostKeyAlgorithms=+ssh-rsa \
    -o PubkeyAcceptedAlgorithms=+ssh-rsa \
    root@192.168.0.**
root@192.168.0.**'s password: 
Last login: Fri Aug 14 12:29:06 2026
[root@localhost ~]# 

Windows環境から接続する場合、Teratermだと特に何もせず接続できることを確認しています。

NetworkManagerが標準で使用されていませんので、NW設定変更が必要な場合は/etc/sysconfig以下のファイルを直接編集して行います。
参考になる記事→Virtual Machine基本設定 #CentOS6 - Qiita

※下記の**は伏せ字です

[root@localhost ~]# service NetworkManager status
NetworkManager is stopped
[root@localhost ~]# cat /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=yes
HOSTNAME=localhost.localdomain
[root@localhost ~]# ls -l /etc/sysconfig/network-scripts/ifcfg-*
-rw-r--r-- 1 root root  87 Aug 14 11:37 /etc/sysconfig/network-scripts/ifcfg-eth0
-rw-r--r-- 1 root root 254 Mar 19  2014 /etc/sysconfig/network-scripts/ifcfg-lo
[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
# Virtio Network Device
DEVICE=eth0
BOOTPROTO=dhcp
HWADDR=**:**:**:**:**:**
ONBOOT=yes

CentOS6

CentOS5の場合と異なり、標準で疎通ができません。
ネットワークインターフェイスがUPしていませんでした。
image.png
また、Network Manager構成となっていないようでした。
image.png

これがCentOS6というかRHEL6系のややこしい部分であり、RHEL6系ではNetwork Managerがたしかにデフォルト有効となったものの、サーバ向けとしてインストールした場合はNetwork Managerがそもそも標準で導入されないため、有効にもならないようです。
https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/6/html/6.0_technical_notes/networking

NetworkManager is enabled by default if it is installed. However, NetworkManager is only installed by default in the client use cases. NetworkManager is available to be installed for the server use cases, but is not included in the default installation.
(参考訳)
NetworkManagerはインストールされてたら標準で有効になるよ。でも、標準でNetworkManagerがインストールされてるのはクライアント用途の場合だけだよ。サーバ用途でもNetwork Managerは使えるけど、標準インストールには含まれてないよ。

他方で、インストーラが生成するifcfgの設定ファイルのほうは、Network Managerを前提として、ONBOOT=noになっています。
このため、Network Manager未導入の状態では誰もネットワークインターフェイスをUPせず、疎通ができないようです。なんそれ
image.png

Network Managerをあとから導入するにもネットワーク接続(と後述するリポジトリの設定)が必要なので、一旦暫定的にネットワークインターフェイスをUPします。
image.png

今後もNetwork Manager未導入構成で使用する場合は、再起動しても自動的にUPされるよう、設定を変更するのも良いでしょう。

[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
HWADDR=**:**:**:**:**:**
TYPE=Ethernet
UUID=********-****-****-****-************
ONBOOT=no
NM_CONTROLLED=yes
BOOTPROTO=dhcp
[root@localhost ~]# sed -i -e 's/^ONBOOT=no$/ONBOOT=yes/' \
        -e 's/^NM_CONTROLLED=yes$/NM_CONTROLLED=no/' \
        /etc/sysconfig/network-scripts/ifcfg-eth0
[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
HWADDR=**:**:**:**:**:**
TYPE=Ethernet
UUID=********-****-****-****-************
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=dhcp

そのうえでSSH接続を試行すると、下記のエラーとなります。

$ ssh root@192.168.0.**
Unable to negotiate with 192.168.0.** port 22: no matching host key type found. Their offer: ssh-rsa,ssh-dss

Cent5のときとコケている段階が違う(鍵交換には成功している)ようですが、どのみち古い暗号化方式を有効化する必要があります。

$ ssh -o HostKeyAlgorithms=+ssh-rsa \
    -o PubkeyAcceptedAlgorithms=+ssh-rsa \
    root@192.168.0.**
root@192.168.0.**'s password: 
Last login: Fri Aug 14 13:32:49 2026 from 192.168.0.**
[root@localhost ~]# 

ネットワークインターフェイスをUPさえしてしまえば、インターネットへの疎通は問題なくできていました。

[root@localhost ~]# ping -c 4 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=117 time=8.53 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=117 time=8.34 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=117 time=8.33 ms
64 bytes from 8.8.8.8: icmp_seq=4 ttl=117 time=8.05 ms

--- 8.8.8.8 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3012ms
rtt min/avg/max/mdev = 8.055/8.316/8.532/0.182 ms

ソフトウェアリポジトリ設定(Vault)

CentOSのリポジトリミラーサーバは死んでいるので、yumでアップグレードやパッケージインストールを試みると、下記のようにエラーとなります。

[root@localhost ~]# yum repolist
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=5&arch=x86_64&repo=os error was
[Errno 4] IOError: <urlopen error (-2, 'Name or service not known')>
repo id repo name status
base CentOS-5 - Base 0
extras CentOS-5 - Extras 0
updates CentOS-5 - Updates 0
repolist: 0
You have mail in /var/spool/mail/root
[root@localhost ~]# yum check-update
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=5&arch=x86_64&repo=os error was
[Errno 4] IOError: <urlopen error (-2, 'Name or service not known')>
Error: Cannot find a valid baseurl for repo: base

代替として使用できるVaultサーバとしては、下記の2点があります。

  • https://vault.centos.org/
    • CentOSプロジェクト公式であり、知名度が高いほう
    • CentOS2.1〜8.5までの各バージョンのisoファイル・リポジトリが保管されている
    • サーバ側の設定でHTTPS接続が強制されるため、CentOS5系以前からは接続自体ができない 本末転倒では
  • http://archive.kernel.org/centos-vault/
    • kernel.orgが上記からミラーしているもの
    • CentOS2.1〜8.5までの各バージョンのisoファイル・リポジトリが保管されている
    • HTTP(非SSL)での接続が可能なため、CentOS5系以前からも接続できる

CentOS6であればどちらを使っても良いのですが、今回は両方ともkernel.orgのほうを使うことにします。

CentOS5

[root@localhost ~]# ll /etc/yum.repos.d/
total 56
-rw-r--r-- 1 root root 1926 Sep 20  2014 CentOS-Base.repo
-rw-r--r-- 1 root root  645 Sep 20  2014 CentOS-Debuginfo.repo
-rw-r--r-- 1 root root  277 Sep 20  2014 CentOS-fasttrack.repo
-rw-r--r-- 1 root root  626 Sep 20  2014 CentOS-Media.repo
-rw-r--r-- 1 root root 1330 Sep 20  2014 CentOS-Sources.repo
-rw-r--r-- 1 root root 8315 Sep 20  2014 CentOS-Vault.repo

疎通できない標準リポジトリを無効にします。

[root@localhost ~]# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.disabled
[root@localhost ~]# yum repolist
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
repolist: 0

新たにvaultサーバのリポジトリを認識するための設定を入れます。
↓下記の全行をまとめて貼り付け、実行

cat > /etc/yum.repos.d/CentOS-Vault-5.11.repo << 'EOF'
[C5.11-base-korg]
name=CentOS-5.11 - Base
baseurl=http://archive.kernel.org/centos-vault/5.11/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
enabled=1

[C5.11-updates-korg]
name=CentOS-5.11 - Updates
baseurl=http://archive.kernel.org/centos-vault/5.11/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
enabled=1

[C5.11-extras-korg]
name=CentOS-5.11 - Extras
baseurl=http://archive.kernel.org/centos-vault/5.11/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
enabled=1

[C5.11-centosplus-korg]
name=CentOS-5.11 - Plus
baseurl=http://archive.kernel.org/centos-vault/5.11/centosplus/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
enabled=0
EOF

最後に疎通確認をして、正常にリポジトリの情報を参照できました。

[root@localhost ~]# yum repolist
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
C5.11-base-korg                                                | 1.1 kB     00:00     
C5.11-base-korg/primary                                        | 1.3 MB     00:01     
C5.11-base-korg                                                             3667/3667
C5.11-extras-korg                                              | 2.1 kB     00:00     
C5.11-extras-korg/primary_db                                   | 173 kB     00:00     
C5.11-updates-korg                                             | 1.9 kB     00:00     
C5.11-updates-korg/primary_db                                  | 1.0 MB     00:00     
repo id                               repo name                                 status
C5.11-base-korg                       CentOS-5.11 - Base                        3,667
C5.11-extras-korg                     CentOS-5.11 - Extras                        266
C5.11-updates-korg                    CentOS-5.11 - Updates                       974
repolist: 4,907
[root@localhost ~]# yum check-update
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
Skipping security plugin, no data

at.x86_64                            3.1.8-84.el5_11.1              C5.11-updates-korg
(中略)
tzdata.x86_64                        2017b-1.el5                    C5.11-updates-korg
udev.x86_64                          095-14.33.el5_11               C5.11-updates-korg

CentOS6

[root@localhost ~]# ll /etc/yum.repos.d
total 28
-rw-r--r--. 1 root root 1991 Jun 26  2018 CentOS-Base.repo
-rw-r--r--. 1 root root  647 Jun 26  2018 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root  289 Jun 26  2018 CentOS-fasttrack.repo
-rw-r--r--. 1 root root  630 Jun 26  2018 CentOS-Media.repo
-rw-r--r--. 1 root root 8854 Jun 26  2018 CentOS-Vault.repo

疎通できない標準リポジトリを無効にします。

[root@localhost ~]# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.disabled
[root@localhost ~]# yum repolist
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
repolist: 0

新たにvaultサーバのリポジトリを認識するための設定を入れます。
↓下記の全行をまとめて貼り付け、実行

cat > /etc/yum.repos.d/CentOS-Vault-6.10.repo << 'EOF'
[C6.10-base-korg]
name=CentOS-6.10 - Base
baseurl=http://archive.kernel.org/centos-vault/6.10/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
enabled=1

[C6.10-updates-korg]
name=CentOS-6.10 - Updates
baseurl=http://archive.kernel.org/centos-vault/6.10/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
enabled=1

[C6.10-extras-korg]
name=CentOS-6.10 - Extras
baseurl=http://archive.kernel.org/centos-vault/6.10/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
enabled=1

[C6.10-contrib-korg]
name=CentOS-6.10 - Contrib
baseurl=http://archive.kernel.org/centos-vault/6.10/contrib/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
enabled=0

[C6.10-centosplus-korg]
name=CentOS-6.10 - CentOSPlus
baseurl=http://archive.kernel.org/centos-vault/6.10/centosplus/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
enabled=0
EOF

最後に疎通確認をして、正常にリポジトリの情報を参照できました。

[root@localhost ~]# yum repolist
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
C6.10-base-korg                                                | 3.7 kB     00:00     
C6.10-base-korg/primary_db                                     | 4.7 MB     00:02     
C6.10-extras-korg                                              | 3.4 kB     00:00     
C6.10-extras-korg/primary_db                                   |  29 kB     00:00     
C6.10-updates-korg                                             | 3.4 kB     00:00     
C6.10-updates-korg/primary_db                                  |  12 MB     00:02     
repo id                               repo name                                 status
C6.10-base-korg                       CentOS-6.10 - Base                        6,713
C6.10-extras-korg                     CentOS-6.10 - Extras                         47
C6.10-updates-korg                    CentOS-6.10 - Updates                     1,193
repolist: 7,953
[root@localhost ~]# yum check-update
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile

binutils.x86_64                      2.20.51.0.2-5.48.el6_10.1      C6.10-updates-korg
(中略)
yum.noarch                           3.2.29-81.el6.centos.0.1       C6.10-updates-korg
yum-plugin-fastestmirror.noarch      1.1.30-42.el6_10               C6.10-updates-korg

まとめ

EOLしたOSを散々動かしておいて、セキュリティの観点を今更言っても仕方ない気がしますが、 せめて検証用VMは用が済んだら停止しておきましょう。

【所感】
CentOS 5→古すぎる
CentOS 6→中途半端に新しいのでいろいろめんどくさい(主にNetwork Manager関連)

レガシー環境の検証はもうこりごり……

13
2
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
13
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?