Arch Linux曰く、Something has gone wrong
Arch Linuxはローリングリリースを採用しているので、カジュアルにガンガン、パッケージのアップデートが来る。常に最新のものが提供され、最新こそ安定ぐらいの勢いを感じるわけだけど、たまーにぶっ壊れる。
そして今日もぶっ壊れた。
Archぶっ壊れて爆笑してる pic.twitter.com/N6NNyHMonP
— レベルがあまりに低い (@terut) April 23, 2015
体感では壊れることは滅多にないし、ググッて解決方法が見つからない、またはArch Linuxのオフィシャルなサイトにバグ情報が上がってないことは、もっとない。
が、今日は見当たらなかったので、そんな時どうするかというのを残しておく。
必要となるもの
壊れた時のために、Arch LinuxのLive USBなどが必要。OSが入っているパーティションをマウントして原因を探るために、用意しておいたほうがいいと思う。
対処法
まずはLive USBを挿し、UEFIの設定画面からLive USBを起動する。
起動したら、OSが入ってるパーティションをマウントし、Arch用のコマンドでchrootする。
root@arch$ mount /dev/sda6 /mnt root@arch$ arch-chroot /mnt sh-3.2$ # LANG=ja_JP.UTF-8だと化けてメッセージが見れない sh-3.2$ export LANG=en_US.UTF-8
これで、普段使っているOSのログなどが見れるようになるので、ログを眺める。
# -b はブート時のログを見るもので、-1をつけると1回前のログが見れる $ journalctl -b -1
眺めてると、NVIDIAのロードのあたりでコケてそうな雰囲気だったので、壊れる前にアップグレードしたNVIDIA関連のパッケージが悪さをしてるんだろうと当たりをつけた。
ということで、アップグレードしたパッケージをダウングレードする。
公式Wikiでは推奨していないし、依存を壊さないよう細心の注意を払う必要がある。またダウングレードする前に、バグ報告にちょっとでも時間を割いてくれるとうれしそうな雰囲気だった。
# 更新したパッケージを確認する $ ls -lat /var/cache/pacman/pkg/ | head -10 # cacheから依存関係があるものをすべてダウングレード $ pacman -U /var/cache/pacman/pkg/nvidia-346.59-1-x86_64.pkg.tar.xz /var/cache/pacman/pkg/nvidia-utils-346.59-1-x86_64.pkg.tar.xz /var/cache/pacman/pkg/nvidia-libgl-346.59-1-x86_64.pkg.tar.xz
今回はNVIDIAの349.16-1のパッケージが悪さをしていたようで、ダウングレードした結果、無事起動するようになった。
まとめ
同じような現象が起きた人の参考になれば最高。