bla*_*cat 15 package-management language-support
我只是注意到/usr/share/help
我有 70 种不同语言的 ubuntu 帮助文件。我只会说 2,而且我真的只计算一种。我还注意到它充满了指向 /usr/share/help-langpack 的损坏符号链接。
我只想摆脱所有我不需要的语言。我怎么能做到这一点而不让所有人都rm -r
高兴?我最好在不安装任何新软件包的情况下寻找一种方法,因为我的主要目标是摆脱机器上多余的东西。我想找到一种方法来最好地使用 dpkg 或 apt。
αғs*_*нιη 16
您可以使用 locale 命令检查系统上生成和配置了哪些语言环境:
上面的最后一个命令让您看到所有生成的语言环境都位于 中/usr/lib/locale/
,如果不需要,您可以删除其中的任何一个。每个语言环境信息包都是一个包含文本文件和其他目录的目录。
您希望系统支持的所有语言环境都列在/var/lib/locales/supported.d/
. 这些文件有两列,语言标签和字符映射。
我希望我的系统只知道美国英语,所以我只有一个文件,叫做 en,它只包含一行:
en_US UTF-8
Run Code Online (Sandbox Code Playgroud)
错误消息
如果在发出 locale 命令时显示错误消息,例如:
locale: Cannot set LC_ALL to default locale: No such file or directory
Run Code Online (Sandbox Code Playgroud)
确保文件/etc/default/locale
存在并具有正确的内容,例如:
LANG="en_US"
LANGUAGE="en_US:en"
Run Code Online (Sandbox Code Playgroud)
现在我们知道了开始清理系统区域设置信息所需的所有详细信息:
/var/lib/locales/supported.d/
,并删除所有不需要的语言环境(每行一个语言环境)/etc/default/locale
(参见上面的示例)rm -rfv /usr/lib/locale/*
locale-gen
就这样!重新启动您的机器以使您的更改生效。然后运行上面的一个或多个 locale 命令示例以确保结果如预期。
~# locale
LANG=en_US.UTF-8
LANGUAGE=en_US:en
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
~#
~# locale -a -v
locale: en_US.utf8 directory: /usr/lib/locale/en_US.utf8
-------------------------------------------------------------------------------
title | English locale for the USA
source | Free Software Foundation, Inc.
address | 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
email | bug-glibc-locales@gnu.org
language | English
territory | USA
revision | 1.0
date | 2000-06-24
codeset | UTF-8
Run Code Online (Sandbox Code Playgroud)
有一个用于 Debian/Ubuntu 的软件包可以处理删除语言环境和语言环境相关文件(例如手册页):localepurge
. 您可以安装/运行它发出:
sudo apt-get install localepurge
Run Code Online (Sandbox Code Playgroud)
一旦安装,你应该运行这个:
dpkg --configure localepurge
Run Code Online (Sandbox Code Playgroud)
以确保您的语言设置正确。
安装后手动运行它(虽然你真的不需要,因为它应该在每次dpkg
运行后自动运行)你可以这样做:
sudo localepurge
Run Code Online (Sandbox Code Playgroud)
不过,请在使用前阅读手册页。如果你可以在没有它的情况下完成你的工作,那么放手可能更安全。
参考:
1. LocaleConf 官方文档
2. Linux 手册页
3. wikipedia 上的语言环境
4. man localepurge
至于实际安装的语言,请转到系统设置 -> 语言支持,然后单击安装/删除语言...按钮。然后取消选中您不需要的语言。
关于 中的符号链接/usr/share/help
,请参阅我对您的问题的评论。
归档时间: |
|
查看次数: |
25067 次 |
最近记录: |