我正在尝试将旧的 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
您发布的三个命令行中唯一重要的部分可能是
export LANG=en_US.UTF-8
设置所需的语言/语言环境。前两个似乎是确保 en_US.UTF-8 得到正确支持和可用的解决方法。
locales
在现代 Ubuntu 上,我将从应该默认安装的包 开始,然后locale -a
运行以查看开箱即用和默认支持的内容。对于我的 Ubuntu 22 LTS,它显示:然后我会迁移
一个简单的:
如果证明这对您正在运行的应用程序来说不够,您可能需要安装语言包:
language-pack-en-base
和/或language-pack-en
.