清理未使用的语言环境

清理未使用的语言环境

我注意到我安装了几个不需要的语言环境,例如firefox-locale-。我只需要一个语言环境。

如何删除所有剩余部分?

答案1

首先输入locale命令打印出您当前的语言环境配置。此外,您还可以使用locale -a显示所有可用语言环境的列表。

清理未使用的语言环境

安装localepurge以删除任何不需要的语言,同时选择要保留的语言。请注意,此方法不会更改系统上的语言环境设置。它只会清除您未选择的语言环境。使用时风险自负。

sudo apt-get install localepurge

之后你可以重新启动或者尝试运行 source /etc/default/locale

要重新配置,只需在终端中输入以下内容:

sudo dpkg-reconfigure localepurge

其他方式在这里回答

sudo locale-gen --purge <locales YOU WANT TO KEEP>

参考

答案2

除非您需要经常在各个语言环境之间切换,否则您可以卸载未使用的语言环境并释放系统中的一些存储空间。

通过终端安装 Localepurge:

sudo apt-get install localepurge

安装完成后,它将从您的系统中删除所有您不需要的语言环境文件。

答案3

笔记:下面的一些命令需要root权限,请考虑使用sudo

基本信息

根据man locale-gen,语言环境在几个文件中设置。

/etc/locale.gen

主配置文件具有简单的格式:每一行非空且不以 # 开头的行都被视为要构建的区域设置定义。

/var/lib/locales/supported.d/

包含语言包提供的 locale.gen 片段的目录。请勿手动编辑这些片段,它们将在包升级时被覆盖。

语言环境被编译(生成)成一个文件。

/usr/lib/locale/locale-archive

通常的默认语言环境存档位置。

有关地点的全面详细信息建筑维基

检查区域设置和语言环境

要列出可用(已知)的区域设置,请运行以下任一命令(输出略有不同)。

locale -a
localectl list-locales

要检查(已)生成的语言环境,请运行以下命令。

localedef --list-archive

要检查当前使用的区域设置,请运行以下任一命令(输出略有不同)。

locale
localectl

设置和生成(新)区域设置

通常通过取消注释行来设置区域设置/etc/locale.gen,然后locale-gen需要运行。

nano /etc/locale.gen # uncomment desired lines (locales)
locale-gen

这将为 中和 下的/usr/lib/locale/locale-archive每个未注释的行编译(生成)语言环境,无论它们之前是否被编译过。/etc/locale.gen/var/lib/locales/supported.d/

或者,命令

locale-gen <locale>

将在生成所需的语言环境时取消注释相应的行locale-gen,并且仅生成这一行。

注意: 的实现locale-gen取决于发行版。例如,上述命令在 Ubuntu/Debian 中有效,但在 ArchLinux 中无效。

删除区域设置

发出 时locale-gen,已编译的存档将被删除,并且所有/etc/locale.gen和 下的语言环境/usr/lib/locale/locale-archive都将重新生成。该命令locale-gen --purge <locale>不会执行修饰符所建议的操作,而是相反:它会删除除所指示的语言环境之外的所有已编译语言环境。要确保在locale-gen发出 或 并执行更新时只生成特定语言环境,必须同时考虑/etc/locale.gen和。/usr/lib/locale/locale-archive

要删除中的语言环境/etc/locale.gen,只需注释掉所需的行并使用重新生成语言环境即可locale-gen

删除 下的语言环境/var/lib/locales/supported.d/比较棘手。由于任何文件都/var/lib/locales/supported.d/<code>依赖于 软件包language-pack-<code>-base,因此当 软件包更新时,前者的任何更改都将恢复。要解决这个问题,只需保留 下更新文件的软件包/var/lib/locales/supported.d/。在 Ubuntu/Debian 中实现此目的的命令如下。

apt-mark language-pack-<code>-base

要更新保留的包,您必须取消标记或者简单地--ignore-hold

解决方法。一个更具侵入性但更通用的解决方案,可以防止更改,/var/lib/locales/supported.d/方法是使用“不可变(i)”属性。因此,不要删除文件,而是清空它们。例如:

cd /var/lib/locales/supported.d/
rm <code> && touch <code> # <code> has been emptied
lsattr <code>    # regular attributes
chattr +i <code> # adding (+) immutable
lsattr <code>    # checking attributes

设置区域

设置和生成区域设置不会设置系统区域设置。以下任何命令都可以实现此目的。

echo LANG=<code> | sudo tee /etc/locale.conf # reboot (might be ignored in Ubuntu)
localectl set-locale LANG=<code>

答案4

安装 BleachBit,除其他功能外,它能够从任何 Linux 操作系统中删除语言环境。

当您启动 BleachBit 时,它可能会显示首选项对话框,您可以在其中勾选要保留的语言环境。

如果它没有自动显示,那么您可以从窗口右上角的三点菜单中打开它。

在此处输入图片描述

相关内容