LoginSignup
24
20

More than 5 years have passed since last update.

UbuntuやDebianでperl: warning: Setting locale failed.と怒られる問題を解決する

Posted at

sshでログインしてupgradeなどをすると出てくるしつこいエラーを直す

perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = (unset),
        LC_ALL = (unset),
        LANG = "ja_JP.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").

いろいろやったことをまとめると自分の場合は原因はlocaleではなくssh_configの問題だったのでメモしておく

~> cat -n /etc/ssh/ssh_config
     1
     2  # This is the ssh client system-wide configuration file.  See
     3  # ssh_config(5) for more information.  This file provides defaults for
     4  # users, and the values can be changed in per-user configuration files
     5  # or on the command line.
     6
     7  # Configuration data is parsed as follows:
     8  #  1. command line options
     9  #  2. user-specific file
    10  #  3. system-wide file
    11  # Any configuration value is only changed the first time it is set.
    12  # Thus, host-specific definitions should be at the beginning of the
    13  # configuration file, and defaults at the end.
    14
    15  # Site-wide defaults for some commonly used options.  For a comprehensive
    16  # list of available options, their meanings and defaults, please see the
    17  # ssh_config(5) man page.
    18
    19  Host *
    20  #   ForwardAgent no
    21  #   ForwardX11 no
    22  #   ForwardX11Trusted yes
    23  #   RhostsRSAAuthentication no
    24  #   RSAAuthentication yes
    25  #   PasswordAuthentication yes
    26  #   HostbasedAuthentication no
    27  #   GSSAPIAuthentication no
    28  #   GSSAPIDelegateCredentials no
    29  #   GSSAPIKeyExchange no
    30  #   GSSAPITrustDNS no
    31  #   BatchMode no
    32  #   CheckHostIP yes
    33  #   AddressFamily any
    34  #   ConnectTimeout 0
    35  #   StrictHostKeyChecking ask
    36  #   IdentityFile ~/.ssh/identity
    37  #   IdentityFile ~/.ssh/id_rsa
    38  #   IdentityFile ~/.ssh/id_dsa
    39  #   Port 22
    40  #   Protocol 2,1
    41  #   Cipher 3des
    42  #   Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc
    43  #   MACs hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-ripemd160
    44  #   EscapeChar ~
    45  #   Tunnel no
    46  #   TunnelDevice any:any
    47  #   PermitLocalCommand no
    48  #   VisualHostKey no
    49  #   ProxyCommand ssh -q -W %h:%p gateway.example.com
    50  #   RekeyLimit 1G 1h
    51      SendEnv LANG LC_*
    52      HashKnownHosts yes
    53      GSSAPIAuthentication yes
    54      GSSAPIDelegateCredentials no

となっているのでline51のSendEnv LANG LC_*をコメントアウトしたら直った。

~> sudo emacs /etc/ssh/ssh_config
~> grep -n --color=auto "LANG" /etc/ssh/ssh_config
53:#    SendEnv LANG LC_*








localeの中身がなかったので一応やった

~> $LANG
~> sudo apt-fast install language-pack-ja-base
~> cat /etc/default/locale
~> cd /etc;sudo wget https://gist.githubusercontent.com/networkelements/de1110fd6f9c28aae304f7c9b65223e3/raw/0aa1c36df2d330fbe0ce7a3da77bd46218856bcf/locale
~> cat /etc/default/locale
~> sudo locale-gen ja_JP.UTF-8
~> sudo dpkg-reconfigure locales

参考

apt-get で Setting locale failed が出た場合の対処 - the glue

12.04 - How to solve LOCALE problem - Ask Ubuntu
sshでログインした時、localeまわりでエラーが出た場合の対処法 - Qiita
Ubuntu Serverの言語設定 - ゲンゾウ用ポストイット

24
20
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
24
20