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


12

我刚刚注意到,/usr/share/help我有70种不同语言的ubuntu帮助文件。我只会说2,而我只会真正地将其计算在内。我还注意到,到/ usr / share / help-langpack的符号链接到处都是破损的。

我只想摆脱不需要的所有语言。我怎么能不rm -r开心呢?我最好寻找一种无需安装任何新软件包即可完成此操作的方法,因为我的主要目标是摆脱计算机上多余的东西。我想找到一种方法,最好使用dpkg或apt。


1
这些符号链接是设置的一部分,目的是避免在所有计算机上安装所有语言的帮助文件。是的,有很多“断开”的符号链接,但这比帮助文件更好,对吗?我的建议:不要打扰。符号链接属于各种软件包,如果删除它们,则它们将在下次更新相应软件包时重新出现。
Gunnar Hjalmarsson

Answers:


11


您可以使用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上的语言环境
4. man localepurge


感谢您的建议,如果我找不到用计算机上已经安装的方法来执行此操作的方法,则肯定会使用此方法。
blanket_cat

1
@knotech为什么不直接安装,运行并卸载它。不知道为什么要坚持安装软件包。
Brian Graham

1
@knotech参见官方文档help.ubuntu.com/community/LocaleConf
αғsнιη

抱歉,但是我认为localpurge无法以任何方式解决OP的问题。
Gunnar Hjalmarsson 2014年

1
OP询问了有关语言包的信息...但是假设他也有兴趣删除多余的语言环境,为什么还要安装localpurge?为什么不只是locale-gen --purge
2014年

3

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

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.