(2021-08-23 初稿 - 2021-08-25 追記 )
前職場のサーバが停電の後に調子が悪いとのこと、応援要請に応じてメンテナンスに行ってきた。
サーバのOSはDebianで、LANG=ja_JP.UTF-8で運用しており、サーバ本体はDMZに配置され、ご丁寧にsshも切ってある環境。
ちなみに確認は、以下のとおり。
echo $LANG ja.JP.UTF-8
今回の依頼は、「Xが立ち上がらなくなり、メッセージも文字化けして読めないので対処しようがない。」とのこと。仕方がないので、前職場に出向きエラー修復を試みた。
エラーの原因は、一時的にDNSが動作せずにaptが正常に完了しなかったことが原因。でも、最も困ったのは、サーバのディスプレイを見てもエラーメッセージが読めず、エラーの原因がつかめないことだった。
せめて、sshが使えればと思ったが、この状態では設定変更もままならず、お手上げ状態。
それでも、エラーの原因と思われることに対処しようと試みるが、全く歯が立たず。
格闘すること30分くらいして、「なんとか画面の文字化けを解消したい」と思い、ネットを検索。
ふと、「LANG=C 〇〇××」という記述を見て、「あっ、これだ」と気がついた。
# LANG=C apt update
おお、英語だけど「ちゃんとエラーメッセージが読める!!」。
ということで、LANG=ja_JP.UTF-8 等で利用しているサーバ等で、Xが立ち上がらなくなり、sshも使えない場合は、「LANG=C」が有効だという話。