locale: Cannot set LC_ALL to default locale
Jun 7, 2016我之前用 Azure 的时候就碰到这个问题,当时搜索了一下解决了。
结果我今天用 ucloud 又出现了这个问题。
结果忘记那个生成语言包的命令了,又去搜,决定记下来。
一个云主机,用官方镜像列表中的 ubuntu server 14.04 初始化。
什么都没做,就有这个问题。
这几个厂商其实应该解决下这个问题。阿里云就没这问题。
先用 locale 命令看看
ubuntu@10-9-53-8:~$ locale 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 LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_CTYPE=zh_CN.UTF-8 LC_NUMERIC="en_US.UTF-8" LC_TIME="en_US.UTF-8" LC_COLLATE="en_US.UTF-8" LC_MONETARY="en_US.UTF-8" LC_MESSAGES="en_US.UTF-8" LC_PAPER="en_US.UTF-8" LC_NAME="en_US.UTF-8" LC_ADDRESS="en_US.UTF-8" LC_TELEPHONE="en_US.UTF-8" LC_MEASUREMENT="en_US.UTF-8" LC_IDENTIFICATION="en_US.UTF-8" LC_ALL= ubuntu@10-9-53-8:~$ locale -a locale: Cannot set LC_CTYPE to default locale: No such file or directory C C.UTF-8 en_US.utf8 POSIX ubuntu@10-9-53-8:~$ localectl list-locales C.UTF-8 en_US.utf8
所以其实这里只有一个问题。但有两个办法。
问题是设定的语言在系统里没有生成,不知道为啥默认的 LC_CTYPE 是中文。
想解决这个问题,要么生成中文的 locale ,要么全改成英文。
想要生成的话用这个命令:
ubuntu@10-9-53-8:~$ sudo locale-gen zh_CN.UTF-8 Generating locales... zh_CN.UTF-8... done Generation complete. ubuntu@10-9-53-8:~$ locale -a C C.UTF-8 en_US.utf8 POSIX zh_CN.utf8
想要改 locale 的话,去改
/etc/default/locale