以前の記事で
・yum update
かけたら起動しなくなったからまだやるな!
としていましたが、外部サーバーで同じ経験をしたら対処できるか?という不安もあるので、どうすれば起動するようになるのかを調べる事にした。
環境
ゲスト: CentOS 6.2
ホスト: MacBookAir MacOS 10.8
VM: Parallels Desktop 9 for mac
スナップショットを作っておく
まずはとにかく、今の正常な状態を保持するため Parallels Desktop の機能でスナップショットを撮っておきましょう。
これで何があっても今の状態に戻れます。安心安全無料。
普通にsudo yum update
してみる
しばらく待つ。
Complete! 表示されたので、再起動。
すると前回と同じく、真っ黒の画面下にゲージがあり、それが伸びきって右側に CentOS 6.2 の表記が白くされたタイミングで、止まった。
待てども待てども画面変わらず。
検索と調査
CentOS 起動しない などなどのワードでググってみたところ、2つの対策を見いだしたので、試す。
kernel*系パッケージを無視する
yumでシステムのアップデートや、Parallels Tools support for Fedora 17 and 18?(Fedoraだけども)によると、カーネルの更新は肝を冷やす場合があるというのがわかった。
なのでyum update
時に無視するよう設定(方法は下記にあります)して、sudo yum update
してみる。
しばらく待つ。
Complete! 表示されたので、再起動。
止まった。S.H.I.T!
だが先人達の教えの通り、この設定は残しておく。
xorg*系パッケージを無視する
Linuxをインストールしたのに画面が黒いままで起動しないときの対処例や、xorg-serverとかati-driversをアップデートするとXが起動しなくなった話。によると、GUIの起動で失敗してるよ!との事。
「白い文字がババっと出てきて、その後の黒い画面で止まる」というのが今回の事例と似ているので、有力そう。
一度xorg*系のパッケージのみ更新をかけて
$ sudo yum update xorg*
OS再起動したら、確かに同じ現象が発生した。
しかし、ログを見て xorg.conf を触れど触れど起動しなかったので、「だったらこの部分だけ更新無視すれば、yum update
しても起動するんじゃね?」と思い、xorg.*系パッケージも無視してもらう事にした。
yum.conf を編集する
特定のパッケージをyumのアップデート対象から外すを参考に、yum update
時にパッケージを無視してもらうよう、設定します。
$ sudo vi /etc/yum.conf
で、文末に
(略)
# for Parallels Desktop 9
exclude=kernel* xorg*
を追記して保存し、
【追記】--skip-broken
を付けて!と表示されたので、オプションを付けて実行しました。
$ sudo yum update --skip-broken
して、しばらく待つ。
Complete! 表示されたので、再起動。
CentOS 6.2 起動確認
コングラッチュレーション…!
感謝
参考にさせていただいたサイト管理人の皆様、誠にありがとうございました。