Linuxで困らないためのたった一つの習慣

2020/01/22

Linux RandomGrid Ubuntu 技術

t f B! P L
noeuveauがNVIDIAのGPUと仲違いをしてUbuntuが固まる事象が会社で発生しました。

私はCudaを使用するので、
純正のドライバをインストールして事前に回避できていたのですが、
他のメンバーがどハマリしていたのでサポートした記録件ネタとして。

Linux初心者にありがちな残念な行動


Linux を使い始めてすぐの人たちの行動を見ていて思ったことですが、
割と画面に出た情報以上にOS内の情報収集をせずに、
Web検索をすぐにかけるので、
必要な情報まで到達していないことが多いです。

なので本日はそのへんをもう少し上手く探す手順を紹介します。

まずはログを見よう


Linuxが固まったりシステムエラーを吐いたりしたら、
吐き出されたエラー内容でいきなり検索をかけるのはかえって遠回りです。

なぜかというと、
エラーメッセージは大抵の場合内部の大量のログや解りにくいログを、
誰でもわかりやすく読みやすく纏めるために、
本当に必要な情報が欠落してしまっているからです。

ですのでLinuxでいろいろなエラーに対応する際の大事な習慣が、
ターミナルを開いてログを見ること
です。

アプリケーションが固まったときは

アプリケーションが固まった場合は、
基本的にそのアプリケーションのログを見ます。

大抵のアプリケーションのログは
/var/log/ 以下
に纏められていることが多いです。

ただ一概にそうではなくアプリケーションによってまちまちでもあるので、
固まった対象に合わせて見る場所は確認しましょう。

logファイルはよほど特殊なアプリででない限りは平文のテキストファイルですから、
catコマンドを使って対象のログファイルを開いてやれば、
簡単に見ることができます。

cat logfile | grep -e '見たい日付とかerrとか'

等パイプラインを使って出力を制御してやることで、
見たいログに絞ってやることも比較的簡単にできます。

システムそのものが固まったときは


システム自体が固まってしまった場合、
まずはジャーナルファイルを見ましょう。

journalctl -x -e  -p0..4

[-x]で詳細なログ情報を、
[-e]末尾から、
[-p0..4] 緊急、警報、致命的、エラー、警告の5種類で表示する、
という意味です。

再起動して動くようならターミナルを開いてこのコマンドを適当に打ち込んでやればOKですし、
もしだめならgrubを起動してリカバリーモードに入り、
Drop root prompt メニューからプロンプトを開いて打ち込むことができます。

これで表示させた場合プロンプトにページャーが起動して、
qキーを押さない限りは矢印キーで上下にログを閲覧できます。

ページャーを起動しない --no-page オプションを着けて実行してやれば、
catでのアプリケーションログ閲覧と同様に結果をgrepすることもできます。

今回の事象を解決するにあたり


とりあえず私が今回の事象を解決した手順と考察の履歴はこんな感じ。

  1. 固まってるけどカーソル動いてるなぁ、多分描画系?
    • そもそもシステムがハングアップするほどのエラーが起きたらカーソルも動かないっていうか画面も落ちます。
  2. 再起動→リカバリーモード→rootプロンプト→ジャーナル確認
    • nouveauがエラー吐きまくっとる…(汗)
  3. ランレベル3で再起動してNVIDIAドライバインストール
  4. そっからまた再起動→治ったか確認
みたいなことをして修復しました。

結局


どうも人によっては先週の金曜のアップデートからずううううっとweb情報探して、
どハマリしていたようですね。

エラーなりジャーナルなり見る習慣をつけることで、
不要な情報の中を探索する手間をだいぶ減らせるので、
皆様もこのあたりはぜひ習慣づけるといいと思います。

Translate

ページビューの合計

注意書き

基本的にごった煮ブログですので、カテゴリから記事を参照していただけると読みやすいかと存じます。

ADBlocker等を使用していると、Twitterやアクセスカウンタが表示されません。

記事を読むには差し支えませんが、情報を参照したい場合には一時例外にしていただけると全てご参照いただけます。

Featured Post

ボイドラDICEの攻略法

QooQ