白”雪姫”の雑なエンジニアブログ

ダイアリーがなくなってしまったため、エンジニアブログとして再出発

今更ながらCentOS6.9 をCentOS7へ上げてみる

迫られなければ基本的には実験機はアップグレードはできるだけしないけど、設定検証とかをいつまでも6系だけでやってるわけにもいかず・・・
かといって、現行環境の2箇所を同時にアップデートするわけにもいかない・・・
ということで片方をCentOS7へ上げることを決意して上げました。
その備忘録です。

とはいえ、スペックを書かないってわけにはイカないと思いますので以下が私の検証兼ねてる環境となります。<検証メインの機体>
DELL制Optiplex
CPU:Intel(R) Core(TM)2 Duo CPU E8400 @ 3.00GHz
メモリ:4GB
Swap:8GB<サブ検証マシン>
さくらVPS CentOS6.9 2GBモデル Type-HDD

今回上げるのはメインの方。
なぜならサブのVPSはメールサーバ兼ねてる関係で止める時間を短くしたかったから。

参考にしたのはこの辺
https://qiita.com/toshiro3/items/0422280e3ea336c8415e
http://mimumimu.net/blog/2014/07/14/centos-%E3%82%92-6-%E3%81%8B%E3%82%89-7-%E3%81%AB%E3%82%A2%E3%83%83%E3%83%97%E3%82%B0%E3%83%AC%E3%83%BC%E3%83%89%E3%81%97%E3%81%A6%E3%81%BF%E3%81%9F%E3%80%82/
http://a-records.info/2017/08/12/56/
http://blog.sgrastar.org/
http://a-records.info/2017/08/12/56/

でも上記でも正常にはアップデートは出来ませんでした。
まぁ、まずはブログに習って

CentOSのバージョン確認

cat /etc/redhat-release

検証の関係もあって、6.9までアップデートされてるのでこれだととあるものがバージョンが新しすぎて更新できないっていう情報があるのでまずは以下へダウングレード
手順は以下の通り
1.カーネルとかを最新化

yum update
reboot

2.レポジトリ追加アップデートインストールの追加

vim /etc/yum.repos.d/upgradetool.repo

中身に以下を追記して保存

[upg]
name=CentOS-$releasever - Upgrade Tool
baseurl=http://dev.centos.org/centos/6/upg/x86_64/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

その後以下を実行

yum install redhat-upgrade-tool preupgrade-assistant-contents
rpm -Uhv --oldpackage http://dev.centos.org/centos/6/upg/x86_64/Packages/openscap-1.0.8-1.0.1.el6.centos.x86_64.rpm
preupg -s CentOS6_7

ここまでで、アップグレードの準備が出来ます。
なお、一番最後のコマンドを実行後

preupg -s CentOS6_7
Preupg tool doesn't do the actual upgrade.
Please ensure you have backed up your system and/or data in the event of a failed upgrade
that would require a full re-install of the system from installation media.
Do you want to continue? y/n
y
Gathering logs used by preupgrade assistant:
All installed packages : 01/11 ...finished (time 00:01s)
All changed files : 02/11 ...finished (time 05:39s)
Changed config files : 03/11 ...finished (time 00:00s)
All users : 04/11 ...finished (time 00:00s)
All groups : 05/11 ...finished (time 00:00s)
Service statuses : 06/11 ...finished (time 00:00s)
All installed files : 07/11 ...finished (time 00:04s)
All local files : 08/11 ...finished (time 14:04s)
All executable files : 09/11 ...finished (time 12:35s)
RedHat signed packages : 10/11 ...finished (time 00:00s)

こんな感じでいっぱい待たされます。
あと、レポートで修正とか必要って出てくる場合があるからそれは都度ご自身で調べて対応してください。

で次に本当のアップグレードなんですが他のブログさんと多分私はやり方がかなり違うと思います。
レポジトリデータが無いとかファイルがダウンロードできない
とかは参照にさせてもらったブログさんを参考にしていただければと。

でこのコマンドが肝心で
・公式外のレポジトリを常時有効化してる。(Remiとかね)
・アップグレードコマンドにおいてレポジトリ名を入れる必要がある
・Cent6系のレポジトリとか無効化したほうが良い
という結果を元に叩いた(というか成功した)コマンドは以下の通り

redhat-upgrade-tool-cli --disablerepo=* --enablerepo=base,updates,extras --network 7 --cleanup-post --instrepo=http://vault.centos.org/centos/7.2.1511/os/x86_64/ --addrepo=C7.2-base=http://ftp.tsukuba.wide.ad.jp/Linux/centos/7/os/x86_64/

そんなわけで容量不足でアップデート止まっちゃったので、今再アップデート中。。