centos6のlocale-genコマンド


17

dockerコンテナである裸のcentos6.5システムでは、en_US.utf-8ロケールがありません:

bash-4.1# locale -a
C
POSIX

通常、Ubuntuにはlocale-genこれを行うコマンドがあります。

# locale-gen en_US.UTF-8
# echo 'LANG="en_US.UTF-8"' > /etc/default/locale

CentOS 6.5でこれを行うにはどうすればよいですか?

回答:


32

locale-genはに存在しませんCentos/Fedora

以下を使用する必要がありますlocaledef

localedef -v -c -i en_US -f UTF-8 en_US.UTF-8

からman localedef

NAME
       localedef - define locale environment

SYNOPSIS
       localedef [-c][-f charmap][-i sourcefile][-u code_set_name] name

DESCRIPTION
       The localedef utility shall convert source definitions for locale cate‐
       gories into a format usable by the functions and utilities whose opera‐
       tional behavior is determined by the setting of the locale  environment
       variables    defined    in    the    Base    Definitions    volume   of
       IEEE Std 1003.1-2001, Chapter 7, Locale. It  is  implementation-defined
       whether users have the capability to create new locales, in addition to
       those  supplied  by  the  implementation.  If  the  symbolic   constant
       POSIX2_LOCALEDEF  is  defined,  the system supports the creation of new
       locales.    On   XSI-conformant   systems,   the   symbolic    constant
       POSIX2_LOCALEDEF shall be defined.

ありがとう、パッケージのyum whatprovides */localedefレポートは存在glibc-common/usr/bin/localedefませんが。奇妙な、港湾労働者のため?
ラリーカイ

@larrycai:この問題は以前に見たことがありません。どのような結果ldd /usr/bin/localedef
cuonglm

ファイルは存在せず、localeコマンドのみです。ドッカーを知っている場合は、実行docker run -i -t centos bashして確認することもできます。
ラリーカイ14

おかげで〜私は奇妙な文字に非常に悩まされていた:)
エディB

8

回答@Gnoucに基づいて追加情報を提供しました(localedefcentosで使用されます)

これcentos dockerは、最小限のパッケージを提供する特別なイメージです。スクリプトhttps://github.com/dotcloud/docker/blob/master/contrib/mkimage-yum.shを参照してください

rm -rf "$target"/usr/{{lib,share}/locale,{lib,lib64}/gconv,bin/localedef,sbin/build-locale-archive}

内部コマンドlocaledefが削除され、glibc-commonこれを含むパッケージが再インストールされます

yum reinstall glibc-common

確かにサイズが大きくなります


yum reinstall glibc-commonAmazon Linux 2.17-196.172.amzn1Dockerコンテナ(local.docker.com/r/ambakshi/amazon-linux)でlocaledefを利用できるようにし、エリクサーをインストールできるようにしました。
ケビンジョンソン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.