如何删除我不需要的所有语言包

我刚注意到在/usr/share/help我有70种不同语言的ubuntu帮助文件。 我只说2,我只是在一个人中计算。 我还注意到它充满了/ usr / share / help-langpack的破坏符号链接。

我想要摆脱我不需要的所有语言。 如何在不让所有rm -r满意的情况下做到这一点? 我最好在没有安装任何新软件包的情况下寻找一种方法,因为我的主要目标是摆脱机器上多余的东西。 我想找到一种方法,最好用dpkg或apt。

您可以使用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" 

摆脱不必要的区域设置数据 – 一步一步

现在我们知道了开始清理系统的语言环境信息所需的所有细节:

  1. 编辑/var/lib/locales/supported.d/的语言环境文件,并删除所有不需要的语言环境(每行一个语言环境)
  2. 创建和编辑/etc/default/locale (参见上面的示例)
  3. 删除所有生成的区域设置数据: rm -rfv /usr/lib/locale/*
  4. 重新生成新的语言环境: 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 

Debian / Ubuntu有一个包可以处理删除语言环境和语言环境相关的文件(例如手册页): localepurge 。 您可以安装/运行它发布:

 sudo apt-get install localepurge 

一旦安装,你应该运行:

 dpkg --configure localepurge 

确保正确设置语言设置。

安装后手动运行它(虽然你不应该真的需要在每次dpkg自动运行后运行它)你可以这样做:

 sudo localepurge 

但是,在使用之前请阅读手册页。 如果你可以在没有它的情况下完成你的工作,那么放手可能会更安全。

来自这个论坛

参考:
1. 官方文档上的LocaleConf
2. Linux手册页
3. wikipeadia的地点
男人localepurge

关于实际安装的语言,请转到系统设置 – >语言支持 ,然后单击安装/删除语言…按钮。 然后取消选中您不需要的语言。

关于/usr/share/help的符号链接,请参阅我对您的问题的评论。