Projects/CentOS6 から 7 へのアップグレード
提供: fukudat.net
< Projects
ナビゲーションに移動検索に移動
以前は公式にアップグレードツールが用意されていたが、配布中止になってしまっているようで、あきらめかけていたアップグレードだが、 CentOS6からCentOS7へアップグレードでdev.centos.orgがリンク切れになっていた という記事を見つけて、ダメ元で試してみる。
pre-upgrade assistant のインストール
# rpm -ihv https://buildlogs.centos.org/centos/6/upg/x86_64/Packages/preupgrade-assistant-1.0.2-36.0.1.el6.centos.x86_64.rpm # rpm -ihv https://buildlogs.centos.org/centos/6/upg/x86_64/Packages/preupgrade-assistant-contents-0.5.14-1.el6.centos.noarch.rpm # rpm -ihv https://buildlogs.centos.org/centos/6/upg/x86_64/Packages/preupgrade-assistant-ui-1.0.2-36.0.1.el6.centos.x86_64.rpm # rpm -ihv https://buildlogs.centos.org/centos/6/upg/x86_64/Packages/redhat-upgrade-tool-0.7.22-3.el6.centos.noarch.rpm
途中で↓のようなエラーが出たら、足りないパッケージをインストール。
エラー: 依存性の欠如: pkgconfig(libxml-2.0) は preupgrade-assistant-1.0.2-36.0.1.el6.centos.x86_64 に必要とされています pkgconfig(libxslt) は preupgrade-assistant-1.0.2-36.0.1.el6.centos.x86_64 に必要とされています openscap(x86-64) >= 0:0.9.3-1 は preupgrade-assistant-1.0.2-36.0.1.el6.centos.x86_64 に必要とされています pkgconfig(libpcre) は preupgrade-assistant-1.0.2-36.0.1.el6.centos.x86_64 に必要とされています mod_wsgi は preupgrade-assistant-ui-1.0.2-36.0.1.el6.centos.x86_64 に必要とされています
この場合、libxml-2.0, libxslt, openscap, pcre, mod_wsgi が足りないので、
# yum install libxml2-devel libxslt-devel openscap, pcre-devel mod_wsgi
などとする。
アップグレード前準備
# preupg 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:00s) ...
アップグレード実行
# redhat-upgrade-tool-cli --network 7 --cleanup-post --instrepo=http://vault.centos.org/centos/7.2.1511/os/x86_64/ --addrepo=CentOS7=http://mirror.centos.org/centos/7/os/x86_64/ setting up repos... ... Continue with the upgrade [Y/N]? y (296/298): zlib-1.2.7-18.el7.i686.rpm | 91 kB 00:00 (297/298): zlib-1.2.7-18.el7.x86_64.rpm | 90 kB 00:00 (298/298): zlib-devel-1.2.7-18.el7.x86_64.rpm | 50 kB 00:00 testing upgrade transaction rpm transaction 100% [===============] rpm install 100% [================] setting up system for upgrade Finished. Reboot to start upgrade.
なんか成功したっぽい。
リブート。
# reboot
アップグレード後の設定
sshd が止まっているので、ssh では入れない。コンソールからログイン。
sshd を起動。
# systemctl start sshd.service # systemctl enable sshd.service
動いたようだが、
# systemctl status ssh.service ... X月 YY hh:mm:dd fukudat sudo[11118]: PAM unable to dlopen(/usr/lib64/security/pam_fprintd.so): /usr/lib64/security/pam_fprintd.so: 共有オブジェクトファイ…ありません X月 YY hh:mm:dd fukudat sudo[11118]: PAM adding faulty module: /usr/lib64/security/pam_fprintd.so ...
pam_fprintd.so がないとお怒られる。指紋認証は不要なので、
# authconfig --disablefingerprint --update
調子の悪いコマンドがある。
# grep grep: error while loading shared libraries: libpcre.so.0: cannot open shared object file: No such file or directory
symlinkを作成。
# ln -s /lib64/libpcre.so /lib64/libpcre.so.0
yum でアップデート。
# yum update ... GPG 鍵の取得に失敗しました: [Errno 14] curl#37 - "Couldn't open file /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6"
以前/etc/yum.repos.d/CentOS-Base.repoに変更を加えていたので、自動でアップデートされなかったのだ。
# cd /etc/yum.repos.d # cp -p CentOS-Base.repo.rpmnew CentOS-Base.repo
改めてアップデート。
# yum update
バージョン番号の確認:
$ cat /etc/redhat-release CentOS Linux release 7.8.2003 (Core)
うまくいった様だ。