コードは言葉よりも大きく話します。
root@myhost # locale-gen
Generating locales (this might take a while)...
(ここで少しスキップしてください)
error: Bad entry 'en_GB '
en_GB.UTF-8... done
(ここで少しスキップしてください)
en_SG.UTF-8... done
error: Bad entry 'en_US '
en_US.ISO-8859-1... done
en_US.UTF-8... done
error: Bad entry 'en_US.iso88591 '
error: Bad entry 'en_US.iso885915 '
en_ZA.UTF-8... done
(ここで少しスキップしてください)
Generation complete.
これらのエラーが発生する理由とそれを防ぐ方法は何ですか?
メモ:
- 私はLinux Mint 18.2を使用していますが、Mint 18.1と一緒に(ほぼ?)ある時点でこれが起こり始めました。私はそれらがすべてUbuntu 16.04に基づいていると思います。
- ;以下では、これらの「無効なエントリ」(末尾に余分なスペースがあるかないか)を含むファイルを見つけることができませんでした
/etc
。具体的に/etc/locale.gen
。
追加情報:
関連情報/etc/locale.gen
:
# grep -v "#" /etc/locale.gen | sed "s/$/+/" | grep "en_"
en_GB.UTF-8 UTF-8+
en_US ISO-8859-1+
en_US.UTF-8 UTF-8+
ベストアンサー1
locale-gen
(よく書かれていない)bash
スクリプトです。このバグは以下によって報告されました:
is_entry_ok() {
if [ -n "$locale" -a -n "$charset" ] ; then
true
else
echo "error: Bad entry '$locale $charset'"
false
fi
}
したがって、ここで質問は$charset
空です。
生成されるロケールのリストは/etc/locale.gen
から取得されます/var/lib/locales/supported.d
。
ファイル自体にen_US
文字セット名が含まれていない可能性があります。
/etc/locale.gen
そうでないため、en_SG.UTF-8
ファイルがある可能性が高く、ファイルに/var/lib/locale/supported.d
誤った行がある可能性があります。犯人を特定すると、dpkg -S
そのルート上でその犯人がどのパッケージから来たかを確認できます(存在する場合)。