使用 apt-get 安装软件时,总是出现下面的错误。
perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = "en_US:", LC_ALL = (unset), LANG = "en_US.UTF-8" are supported and installed on your system. perl: warning: Falling back to the standard locale ("C").
安装软件时,都会去执行 update-locale
命令,用来更新 locale。这个命令是 perl 脚本(可以用 whereis update-locale
查到)
root@ubuntu:/# whereis update-locale update-locale: /usr/sbin/update-locale /usr/share/man/man8/update-locale.8.gz
使用指令测试 perl,并不是因为 update-locale 命令错了,而是因为 perl 的配置出了问题。
root@ubuntu:/# perl -e exit
perl 使用系统提供的默认 local 的 en_US.UTF-8,但这个值是 ssh 从客户端传递来的,系统其实不知道 en_US.UTF-8 该如何处理。
安装语言包即可,但是不知道语言包名称,此时可以通过官网来查询语言包名称
ubuntu 查询包名网站:https://packages.ubuntu.com/
点击搜索后就会出现匹配的包名,其实 language-pack-en 依赖于 language-pack-en-base,安装 language-pack-en 的同时会默认安装 language-pack-en-base
如果想确认的话可以点击 language-pack-en 下面的 xenial(16.04 LTS),里面可以看到其所有依赖包、推荐包、建议包等。
root@ubuntu:/# apt-get install language-pack-en
安装成功后再使用指令测试 perl,再不会报错。