CentOS6.9を7.3にアップグレード

公開日: : Linux

Pocket

CentOS6系から7系へのアップグレードはアップグレードツールが存在するのですが、このツールは6.7以上で実行すると問題があると書かれているます。
TipsAndTricks/CentOSUpgradeTool – CentOS Wiki

色々ググると6.5からならアップグレードできたという記事が多い反面、6.8からアップグレードしようとしてエラーが出たという記事もありました。
CentOS6.8 から CentOS7 へのアップグレード – demandosigno
↑の記事を読むと、openscapをバージョンダウンさせるといけそうという話があったのでその方法で試してみました。

注意:アップグレード後の起動時にsshdが止まっているのでコンソールアクセスができる状態が必要です。
また一時的にsudoが動かなくなったりする場合があるのでrootのパスワードを忘れないように。
あと他にも何が起こるかわからないので重要なファイルはバックアップを。

アップグレードツールを落とすためのリポジトリをyum.repos.dに追加。

ツールインストール。

アップグレード前診断的なコマンド実行。

エラーになりました。
CentOS6.8 から CentOS7 へのアップグレード – demandosignoのコメントを参考にopenscapをダウングレード。

preupg通ったっぽい。

preupgrade/result.htmlを除いてみる。needs_actionの項目は要注意っぽい。
よくわからないのもあるけど一部対処。

やれと書かれているのでやります。

仮想環境で先に一度試した時、この中の一部のパッケージは確かにライブラリが無いよ状態みたいなのになってたので –cleanup-post(6から7で廃止されたパッケージを自動的に削除するオプション)を付けることにします。

アップグレード。

INPLACERISKとかいうのが沢山出てくるけどとりあえずy

エラー。
sgrastar blogを参考にinstrepoを変更してみる。

またエラー。
repodata/3a1b41925bb25892c1003b22979ea0705aa815fed57f992cf0229b76539a9ac4-filelists.sqlite.bz2はmirror.centos.orgにはある模様。

redhat-upgrade-tool-cli –helpを見たところ–addrepoという引数があるっぽいので試してみる。

通ったっぽい。

grep: error while loading shared libraries~とかいうのが大量に出ましたが待ってたら終わりました。

sshdが止まってるので7系からの新スタイルで起動と自動起動設定。

起動失敗しました。
色々ググったら解決してる方が。
CentOS 6.5からCentOS 7.0へのアップグレード(補足トラブル:対処) – Marlock Homes Diary

起動しました。

これでSSHが繋がりました。

アップグレード成功っぽい。

grepしようとしたらエラー。

CentOS7へのアップデートでハマった – Qiitaを参考に

したら直しました。

yumを使おうとしたらエラー。

rpm -ql yumを見るとyumモジュールは/usr/lib/python2.7/site-packages/yumにインストールされているのに対して

/usr/libがありません。
CentOSリポジトリのpythonバージョンは2.7.5だけど過去に手動で2.7.8をビルドしてaltinstallしたせいな気がする。
というかリポジトリから2.7.5も入れたはずなのにどの実行ファイルをpython -Vしても2.7.8って出て謎…。
/usr/local/のパスしか見てないようなのでPythonでデフォルトパスを追加する方法 | 凡人のブログを参考に既存のパスに無理やりyumに必要なパスを追加しました。

以下2ディレクトリを追加

したらyumが動くようになりました。
2.7.8のsite-packagesと2.7.5のsite-packagesが混ざっちゃってる気もするけど同じ2.7だし大丈夫でしょたぶん…。

httpdの起動エラー。
モジュール云々はCentOS7にアップグレードしたらApacheのバージョンが2.4になった! – My Happinessを参考にしつつエラー出るモジュールををひたすらコメントアウト。
あとsystemctlの出力が…で省略されて読めない時は-lオプションを付けるといいみたいです。
モジュール色々コメントアウトしたら次はphpのエラー。

たぶん以前php5.5をremiから入れたせいだと思うので消して公式リポジトリから再インストールしてみたら直りました。

MySQLから置き換わったMariaDBを起動しようとしたところ

/var/log/を見たところmysqld.log.rpmsaveというバックアップファイルができていてるのでこれを戻してみます。

そしたらまた起動失敗したので/var/log/mysqld.logをみると

というエラー。

これで起動しました。(参考:mysql5.7が急に起動しなくなった – Qiita

MariaDBに置き換わってもMySQL時代に入れたデータは引き継がれてるみたいです。

あとepelとremiがCentOS6用のままなのでアップデートします。

こうするとyumの気遣いでepel.repoは更新されずepel.repo.rpmnewとして配置されるので入れ替えます。

epelとremi-safeがデフォルトでenabled=1になっていたので一応0にしておきました。

こんな感じでだいたい動くようになった気がします。

関連記事

no image

CentOS 6.5にPython 2.7をインストールしApacheで使用

Django 1.7はPython 2.7以上でないと使えないんですが、CentOS 6.5のデフォ

記事を読む

no image

Bashのプロンプトを変えずにscreenのウィンドウタイトルだけ変える

先にコード例。.bashrcに書きます。 この例ではウィンドウ名が「ユーザー名:カレンドディレ

記事を読む

no image

CentOS 6.5にPHP 5.5をインストール

CentOS 6.5の標準リポジトリだとPHPが5.3なので、5.5をインストールする方法を調べまし

記事を読む

no image

仮想マシンからwgetやcurlでhttpsダウンロードしようとして証明書エラー

VMware Player内のCentOSからPython2.7のソースを落とそうとしたら証明書エラ

記事を読む

no image

gでgit status、続く引数があったらgitに渡すシェルスクリプトを実装したメモ

最近コーディング時に腕の疲れを感じるようになってきたので、アホみたいでもなるべく短いaliasを.b

記事を読む

no image

ファイルパーミッションを664から644に変えてもGitで反映されない

って思ったらGitのこと勘違いしてたっていうメモ。 Gitはファイルの実行属性の有無しか管理してい

記事を読む

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

no image
gでgit status、続く引数があったらgitに渡すシェルスクリプトを実装したメモ

最近コーディング時に腕の疲れを感じるようになってきたので、アホみたいで

no image
JavaでBase32のデコーダーを実装

今書いてるプログラムでBase32エンコードされた文字列をデコードをす

no image
Bashのプロンプトを変えずにscreenのウィンドウタイトルだけ変える

先にコード例。.bashrcに書きます。 この例ではウィンドウ名

no image
Google Play Musicアプリの音楽ライブラリから特定のフォルダを除外する方法

Google Play Musicアプリはデフォルトでローカル端末上の

no image
PythonでC++のstd::mapみたいな挙動が欲しい

最近競技プログラミングの問題をちょろちょろやってて、それでC++を使っ

→もっと見る

PAGE TOP ↑