我不小心添加了语言环境,例如 sudo locale-gen zh_TW
例如语言环境-a
zh_TW
但怎样才能除去它呢?
答案1
我认为您可以通过编辑/var/lib/locales/supported.d/local
和删除该语言环境来实现这一点。然后运行locale-gen
以重新生成已编译的语言环境。
答案2
您还可以使用 重新配置区域设置包dpkg-reconfigure locales
。
答案3
我的机器上安装了哪些语言环境?
您可以使用 locale 命令检查系统上生成和配置了哪些语言环境:
locale
... 列出当前的区域设置配置locale -a
...列出系统上生成的所有语言环境locale -a -v
... 列出所有语言环境并显示有用的附加信息(例如包含语言环境信息数据文件的目录名称)
上面的最后一个命令让你看到所有生成的语言环境都位于/usr/lib/locale/
,如果不需要,您可以删除其中任何一个。每个语言环境信息包都是一个包含文本文件和其他目录的目录。
-
支持的区域设置
您希望系统支持的所有语言环境都列在/var/lib/locales/supported.d/
.这些文件有两列,语言标签和字符映射表。
我希望我的系统只识别美式英语,所以我只有一个文件,叫做en
,其中仅包含一行:
en_US UTF-8
-
错误消息
如果在发出 locale 命令时显示错误消息,例如
locale: Cannot set LC_ALL to default locale: No such file or directory
确保文件/etc/default/locale
存在并且具有适当的内容,例如:
LANG="en_US"
LANGUAGE="en_US:en"
-
删除不需要的语言环境数据 - 一步一步
现在我们知道了开始清理系统的区域设置信息所需的所有详细信息:
- 编辑语言环境文件
/var/lib/locales/supported.d/
,并删除所有不需要的语言环境(每行一个语言环境) - 创建和编辑
/etc/default/locale
(见上文示例) - 删除所有生成的语言环境数据:
rm -rfv /usr/lib/locale/*
- 重新生成新的区域设置:
locale-gen
就这样!重新启动计算机以使更改生效。然后运行上面的一个或多个 locale 命令示例以确保结果符合预期。
-
参考:
答案4
我不确定为什么大多数发行版和用户不知道本地清除
对于基于 Debian 的系统,是否应由
apt-get install localepurge
来自手册页:
localepurge 是一个小脚本,用于恢复因不需要的语言环境文件和本地化手册页而浪费的磁盘空间。任何 apt 安装运行完成后,dpkg 都会自动调用它。
您必须在 /etc/locale.nopurge 配置文件中定义每次运行 apt 安装后要保留不被删除的语言环境目录名称。除非 localepurge 已充分配置,否则系统的本地化文件根本不会受到影响。
以下目录的内容将受到删除的影响:
- /usr/share/doc/kde/HTML
- /usr/share/gnome/help
- /usr/share/locale
- /usr/share/man
- /usr/share/omf
- /usr/share/tcltk
- /usr/share/cups/{templates,locale,doc-root}
- /usr/share/calendar
- /usr/share/aptitude
- /usr/share/help/<domain>/HELP_CONTENT(files&dirs)
- /usr/share/vim/vim*/lang
通过运行以下命令可以轻松配置您实际需要的以及想要在系统上保留的本地化文件:
dpkg-reconfigure localepurge
结论:此脚本将处理当前和将来的任何不需要的区域设置。