CentOS8で「ロケールの設定に失敗しました。デフォルトはC.UTF-8」を修正する方法


CentOS8またはRHEL8で「ロケールの設定に失敗しました。デフォルトはC.UTF-8」という警告/エラーが発生したことがありますか?はいの場合、この記事ではこのエラーを修正する方法について説明します。この記事は、RHEL8に基づくすべてのオペレーティングシステムでも機能するはずであることに注意してください。

ロケールは、ユーザーの言語、地域、ユーザーがユーザーインターフェースに表示したい特別なバリアント設定などを定義する基本的なシステムパラメータのセットです。

おすすめの読み物:Linuxでシステムロケールを変更または設定する方法

Linuxやその他のUnixライクなオペレーティングシステムなどのPOSIXプラットフォームでは、ロケール識別子はISO/IEC 15897で定義されています。たとえば、UTF-8エンコーディングを使用するUNITED STATES OF AMERICA(US)Englishはen_US.UTF-8です)。

以下は、示されているようにdnfまたはyumコマンドを実行したときの警告/エラーを示すスクリーンショットです。

システムロケールを設定するには、localectlコマンドを使用します。たとえば、UTF-8エンコーディングを使用して英語-米国(米国)が必要な場合は、次のコマンドを実行します。

# localectl set-locale LANG=en_US.UTF-8

次に、次のコマンドを実行して、システムロケールが設定されているかどうかを確認します。

# localectl
# dnf install @postgresql

システムロケールを設定した後でも、警告が続くことに注意してください。これは、言語パックが欠落していることを意味します。それらをインストールするには、次のセクションに進んでください。

システムに特定の言語パックがない場合は、それをインストールして上記のエラーを修正する必要があります。ただし、すべてのロケールを含むglibc-all-langpacksパッケージによって提供されるすべての言語パックをインストールできます。

# dnf install langpacks-en glibc-all-langpacks -y

または、ロケールを個別にインストールして、システムへのパッケージのインストールフットプリントを小さくする場合は、次のコマンドを実行します(enを必要なロケールコードに置き換えます)。

# dnf install glibc-langpack-en

上記の手順を使用して、CentOS8またはRHEL8の「ロケールの設定に失敗しました。デフォルトはC.UTF-8」を修正することができました。それ以外の場合も同様に機能することを期待しています。以下のコメントフォームからフィードバックをお寄せください。