You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 22.04中/var/lib/locales目录缺失导致Docker镜像升级时locale配置命令失败的问题咨询

Ubuntu 22.04中/var/lib/locales目录缺失导致Docker镜像升级时locale配置命令失败的问题咨询

嘿,我刚好碰到过类似的问题,Ubuntu 22.04在locale配置这块确实和14.04有不小的变化,给你梳理下:

首先,你不用纠结要不要创建/var/lib/locales目录——这个目录是*旧版本Ubuntu(比如14.04)*里locale配置机制的产物,在22.04里已经被废弃了,就算你手动创建出来,系统也不会再读取这个目录下的配置,所以完全没必要做这个操作。

你已经发现要安装locales包才能拿到/usr/share/i18n/SUPPORTED,这步是对的。接下来替换原来的命令流程就好:

原来的ln -s /usr/share/i18n/SUPPORTED /var/lib/locales/supported.d/all + locale-gen,在22.04里可以直接换成:

locale-gen --all

这个命令会自动读取/usr/share/i18n/SUPPORTED里的所有locale配置并生成对应的文件,和你原来想达到的效果完全一致。

如果你的需求只是生成特定的locale(比如你最后设置的en_US.UTF-8),那更简单,直接运行:

locale-gen en_US.UTF-8

就够了,不用管什么软链接。

另外,在Dockerfile里设置环境变量的话,用ENV指令比export更持久,推荐写成:

ENV LANG=en_US.UTF-8

总结下你需要调整的Dockerfile步骤:

  • 先安装locales包:apt-get update && apt-get install -y locales
  • 生成locale:用locale-gen --all或者指定具体locale
  • 设置环境变量:用ENV LANG=en_US.UTF-8

这样就能完美替代原来的旧流程,适配Ubuntu 22.04的新机制啦。

备注:内容来源于stack exchange,提问作者SoonGuy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.22 13:15:30