apt-get で Setting locale failed が出た場合の対処
経緯
あるときを境に、リモートのUbuntuのapt-getが以下のようなメッセージを吐くように。
... ... perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = "en_US:", LC_ALL = (unset), LC_CTYPE = "UTF-8", LANG = "en_US.UTF-8" are supported and installed on your system. perl: warning: Falling back to the standard locale ("C"). locale: Cannot set LC_CTYPE to default locale: No such file or directory locale: Cannot set LC_ALL to default locale: No such file or directory Selecting previously unselected package language-pack-ja-base. ... ...
特に実害が出ているわけではないので放置していたが、何とも気持ち悪いので対処。
環境
ログイン先
- Ubuntu Server 14.04.1 LTS / 14.10 (手元で確認済みの環境だけ)
$ cat /etc/default/locale LANG="en_US.UTF-8" LANGUAGE="en_US:"
ログイン元
- MacBook Pro 13 Retina / Yosemite
対応
language-pack-ja-base
をインストールしてみる
$ sudo apt-get install language-pack-ja-base
だめだった。
ただし最後の一行だけ出なくなった。
Selecting previously unselected package language-pack-ja-base.
そもそもなんでen_US
なのにlanguage-pack-ja-base
を入れなければならないのか。
意味不明なので一応環境変数を確認。
$ echo $LANG ja_JP.UTF-8
ん???
/etc/default/locale
の設定と異なるので、ためしにコンソールからログインしてみるとエラーは出なかった。
ローカルのssh_config
の設定を変更
Macからsshしたときだけこの現象が起こったので、Macのssh_config
を確認
$ cat /etc/ssh_config ... Host * SendEnv LANG LC_* ...
どうやらこのSendEnv LANG LC_*
がログイン時にリモートに環境変数を送っている様子。
別に送信して貰う必要はないのでコメントアウト
$ cat /etc/ssh_config ... Host * # SendEnv LANG LC_* ...
できた。
$ sudo apt-get install sl Reading package lists... Done Building dependency tree Reading state information... Done The following NEW packages will be installed: sl 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. Need to get 26.7 kB of archives. After this operation, 126 kB of additional disk space will be used. Get:1 http://jp.archive.ubuntu.com/ubuntu/ trusty/universe sl amd64 3.03-17 [26.7 kB] 15% [1 sl 4,059 B/26.7 kB 15%] Fetched 26.7 kB in 0s (55.9 kB/s) Selecting previously unselected package sl. (Reading database ... 101404 files and directories currently installed.) Preparing to unpack .../archives/sl_3.03-17_amd64.deb ... Unpacking sl (3.03-17) ... Processing triggers for man-db (2.6.7.1-1ubuntu1) ... Setting up sl (3.03-17) ...