web-dev-qa-db-ja.com

不要な言語パックをすべて削除するにはどうすればよいですか

/usr/share/helpには、70の異なる言語のubuntuヘルプファイルがあることに気付きました。私は2つだけを話し、1つで実際に計算します。また、/ usr/share/help-langpackへの壊れたシンボリックリンクでいっぱいであることに気付きました。

必要のないすべての言語を取り除きたいだけです。 rm -rをすべて満足せずにこれを行うにはどうすればよいですか?私の主な目標は、マシン上の余分なものを取り除くことなので、新しいパッケージをインストールせずにこれを行う方法を探しています。できればdpkgまたはaptでこれを行う方法を見つけたいです。

9
blanket_cat


localeコマンドを使用して、システムで生成および設定されているロケールを確認できます。

  • locale ...現在のロケール構成を一覧表示します
  • locale -a ...は、システムで生成されたすべてのロケールをリストします
  • locale -a -v ...すべてのロケールをリストし、有用な追加情報(ロケール情報データファイルを含むディレクトリ名など)を表示します

上記の最後のコマンドは、生成されたすべてのロケールが/usr/lib/locale/にあることを確認します。必要がなければ、それらを削除できます。ロケール情報の各パックは、テキストファイルおよびその他のディレクトリを含むディレクトリです。

システムでサポートするすべてのロケールは、/var/lib/locales/supported.d/のテキストファイルにリストされています。これらのファイルには、言語タグと文字マップの2つの列があります。

システムに米国英語のみを認識させたいので、そこにはenという1つのファイルのみがあり、1行だけが含まれています。

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/のロケールファイルを編集し、不要なロケールをすべて削除します(1行に1ロケール)
  2. /etc/default/localeを作成および編集します(例については上記を参照)
  3. 生成されたすべてのロケールデータを削除します:rm -rfv /usr/lib/locale/*
  4. 新しいロケールを再生成します:locale-gen

それで全部です!マシンを再起動して、変更を有効にします。次に、上記のロケールコマンドの例を1つ以上実行して、結果が期待どおりであることを確認します。

~# 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

ロケールおよびロケール関連ファイル(例:manページ)の削除を処理できるDebian/Ubuntu用のパッケージがあります:localepurge。以下を発行してインストール/実行できます:

Sudo apt-get install localepurge

インストールしたら、これを実行する必要があります。

dpkg --configure localepurge

言語設定が正しく設定されていることを確認します。

インストール後に手動で実行するには(ただし、dpkgが自動的に実行されるたびに実行する必要があるので、実際に実行する必要はありませんが)、次のようにします。

Sudo localepurge

ただし、使用する前にマニュアルページを読んでください。もしそれなしで物事を成し遂げられるなら、手放す方がおそらく安全です。

このフォーラムから

ref:
1。 公式ドキュメントのLocaleConf
2。 Linuxのマニュアルページ
3。 wikipeadiaのロケール
4。 man localepurge

8
αғsнιη

実際にインストールされている言語に関しては、システム設定->言語サポートに移動し、言語のインストール/削除...ボタンをクリックします。次に、必要のない言語のチェックを外します。

/usr/share/helpのシンボリックリンクについては、質問に対する私のコメントをご覧ください。

2