未使用のロケールのクリーンアップ

未使用のロケールのクリーンアップ

たとえば、不要なロケールがいくつかインストールされていることに気付きましたfirefox-locale-。必要なロケールは 1 つだけです。

残りをすべて削除するにはどうすればいいですか?

答え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 スニペットを含むディレクトリ。これらを手動で編集しないでください。パッケージのアップグレード時に上書きされます。

ロケールは 1 つのファイルにコンパイル (生成) されます。

/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 OS からロケールを削除できるようになります。

BleachBit を起動すると、保持するロケールをチェックできる設定ダイアログが表示される場合があります。

自動的に表示されない場合は、ウィンドウの右上にある 3 つのドットのメニューから開くことができます。

ここに画像の説明を入力してください

関連情報