Debootstrap 区域设置错误,无法安装区域设置来修复它?

Debootstrap 区域设置错误,无法安装区域设置来修复它?

我正在编写一个脚本,使用“debootstrap”下载各种版本并在其上安装一些必要的包(包括语言环境),然后将其打包以供另一个脚本使用。

在 chroot 中运行命令时出现以下错误:

# locale-gen en_US.UTF-8;update-locale LANG=en_US.UTF-8
Generating locales (this might take a while)...
Generation complete.
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = (unset),
        LC_ALL = (unset),
        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_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
*** update-locale: Error: invalid locale settings:  LANG=en_US.UTF-8

当我运行“export LANG='en_US.UTF-8'”时,它没有报告任何错误,但没有解决任何问题。

所以问题是,我该如何修复这些语言环境错误?

附言:如果有帮助的话我可以发布部分脚本源代码。

答案1

恐怕您调用locale-gen错了 --locale-gen不接受语言环境作为参数。您需要在 中指定系统的所有语言环境/etc/locale.gen,然后调用locale-gen一次即可为您生成所有语言环境。

编辑:这/etc/locale.gen是我使用 Debian 时设置的文件。我现在使用 Ubuntu,配置文件是 /var/lib/locales/supported.d/local。检查你的locale-gen手册页以确保无误。

相关内容