Ubuntu 22.04 /var/lib/locales/supported.d

Ubuntu 22.04 /var/lib/locales/supported.d

我正在尝试将旧的 Ubuntu 14 Docker 映像升级到 22.04。Dockerfile 中的命令之一是ln -s /usr/share/i18n/SUPPORTED /var/lib/locales/supported.d/all

这在 Ubuntu 22.04 上失败,因为目录/var/lib/locales不存在。

  • 我可以在运行命令之前创建目录,但我不确定这是否真的会产生预期的效果。
  • 在 Ubuntu 14 上,该文件/usr/share/i18n/SUPPORTED作为基础映像的一部分存在...但在 Ubuntu 22.04 上,我必须安装该包locales才能使该文件出现。
  • 是否需要安装其他软件包才能获取目录/var/lib/locales? 同样,我可以只创建目录,但如果约定已更改,则创建目录不会产生任何效果,因为语言环境文件永远不会被拾取。

以下是完整命令以供参考

ln -s /usr/share/i18n/SUPPORTED /var/lib/locales/supported.d/all
locale-gen
export LANG=en_US.UTF-8

答案1

您发布的三个命令行中唯一重要的部分可能是export LANG=en_US.UTF-8设置所需的语言/区域设置

前两次出现成为解决方法以确保 en_US.UTF-8 得到正确支持并可用。

在现代 Ubuntu 上,我会从locales默认安装的软件包开始,然后运行 locale -a运行以查看默认支持的软件包。对于我的 Ubuntu 22 LTS,显示:

locale -a

C
C.utf8
POSIX
en_US.utf8

然后我会迁移

ln -s /usr/share/i18n/SUPPORTED /var/lib/locales/supported.d/all
locale-gen
export LANG=en_US.UTF-8

简单来说:

export LANG=en_US.utf8

如果这对于您正在运行的应用程序来说不够用,您可能需要安装语言包:language-pack-en-base和/或 language-pack-en

相关内容