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

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

我刚刚注意到,/usr/share/help我有 70 种不同语言的 ubuntu 帮助文件。我只说 2 种语言,而且我只会用一种语言进行计算。我还注意到它充满了指向 /usr/share/help-langpack 的损坏符号链接。

我只想删除所有不需要的语言。我该怎么做才能不高兴呢rm -r?我最好找到一种不安装任何新软件包就能做到这一点的方法,因为我的主要目标是删除机器上多余的东西。我想找到一种方法来做到这一点,最好使用 dpkg 或 apt。

答案1

以下大部分来自删除 Ubuntu / Debian 上不需要的区域设置Linux问题网站(应用了一些额外的格式):

我的机器上安装了哪些语言环境?

您可以使用以下命令检查系统上生成和配置了哪些语言环境locale

  • locale... 列出当前的区域设置配置
  • locale -a...列出系统上生成的所有语言环境
  • locale -a -v... 列出所有语言环境并显示有用的附加信息(例如包含语言环境信息数据文件的目录名称)

最后一个命令让您看到所有生成的语言环境都位于 中/usr/lib/locale/,如果不需要,您可以删除其中任何一个。每个信息包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 | [email protected]
 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

不过,在使用它之前,请先阅读手册页。如果你不用它也能完成工作,那么放弃它可能会更安全。

参考

答案2

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

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

答案3

一个简单的方法是使用 BleachBit。BleachBit 能够删除系统和应用程序中不需要的语言的文件

从您的 Ubuntu 软件或终端安装 BleachBit(sudo apt install bleachbit)并以 root 身份打开它(sudo bleachbit)。转到“首选项”,在“语言”下选中您要保留的所有语言。现在在左侧面板上的“系统”下,选中“本地化”。如果您想知道这些本地化文件在您的系统中占用了多少空间,请单击“预览”按钮。使用“清理”按钮实际释放空间。希望这对您有所帮助。

在屏幕截图中,您可以看到 BleachBit 从 gedit 文本编辑器中删除本地化文件。

BleachBit 截图

相关内容