清理未使用的區域設置

清理未使用的區域設置

我注意到我安裝了幾個不需要的語言環境,例如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>依賴 package 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 時,它可能會向您顯示首選項對話框,您可以在其中勾選要保留的區域設定。

如果它沒有自動顯示此訊息,那麼您可以從視窗右上角的三點選單將其打開。

在此輸入影像描述

相關內容