如何控制 APT 生成的语言环境列表?

uli*_*tko 6 apt locale

每次我安装或操作其他方式l10n相关的包时,APT系统都会“重建”很多英文locale,这需要相当长的时间。查看APT日志:

Configuring language-pack-en-base (1:10.10+20100930) ...
Generating locales...
  en_AG.UTF-8... up-to-date
  en_AU.UTF-8... up-to-date
  en_BW.UTF-8... up-to-date
  en_CA.UTF-8... up-to-date
  en_DK.UTF-8... up-to-date
  en_GB.UTF-8... up-to-date
  en_HK.UTF-8... up-to-date
  en_IE.UTF-8... up-to-date
  en_IN.UTF-8... up-to-date
  en_NG.UTF-8... up-to-date
  en_NZ.UTF-8... up-to-date
  en_PH.UTF-8... up-to-date
  en_SG.UTF-8... up-to-date
  en_US.UTF-8... up-to-date
  en_ZA.UTF-8... up-to-date
  en_ZW.UTF-8... up-to-date
Generation complete.
Run Code Online (Sandbox Code Playgroud)

每个包都会发生这种情况。

我不需要所有这些变体 - 大多数时候我完全使用非英语语言环境。对我来说en_USen_GB就足够了。

所以我的问题是:

  • en_*我的机器上真的安装了所有这些变体吗?如何检查?

  • 如果是,如何彻底删除它们并防止 APT 生成它们?

Ste*_*n D 7

en_*语言环境实际占用系统空间的程度实际上取决于您安装的软件包。通常,区域设置数据存储在/usr/lib/locale.

我上次检查时,更改生成的语言环境有点特定于发行版。

在 Debian 中:

# dpkg-reconfigure locales
Run Code Online (Sandbox Code Playgroud)

在 Ubuntu 中:

  1. 编辑/var/lib/locales/supported.d/en/var/lib/locales/supported.d/local仅包含您想要的语言环境。

  2. # dpkg-reconfigure locales

如果你想回收一些其他语言环境使用的空间,你可以localepurge在 Debian 或 Ubuntu 中尝试这个包;然而,正如手册页警告的那样,它有时会导致问题。