令和も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などと操作感覚としては近く、あまり混乱することはないと思います。
- 一つづつ設定をしては「Next(次へ)」を押下して進めてゆくウィザード形式となっています。
-
なお、現場業務で使用した環境(詳細は伏せますがVMwareベースの環境)では、仮想化基盤と古いインストーラの相性問題なのかインストーラのマウス操作が効きませんでした……
- テキストモードでインストーラを再実行してもよいのですが、グラフィカルモードのままでもキーボード(Tabキー、矢印キー、Enterキー)だけで操作はできるようになっていますので、多少手間ですが大した問題ではありません。
- CentOS6系では、RAM 512MBではGUIインストーラが起動せず、テキストインストーラにフォールバックするようです。
文字ベースになること以外のインストール手順・難易度はかわりませんが、画面証跡を残す必要があるなどで不都合な場合はメモリ割り当てを増やして下さい。
デスクトップ環境は不要のため、Serverを選択してインストールします。

ちなみに、今回は言語を英語にしてセットアップしています。
ログイン〜ネットワーク設定
現在のRHELと異なり、インストール手順中で一般ユーザを作成するようになっていないため、初回ログインはrootで実施します。

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していませんでした。

また、Network Manager構成となっていないようでした。

これが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せず、疎通ができないようです。なんそれ

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

今後も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関連)
レガシー環境の検証はもうこりごり……
