つまり、これはすべて、MintHostでの開発中に何度も行ったようにupdate-rc.d mydaemon defaults 97
を使用してDebianを実行しているBeagleboneBlackにカスタムデーモンをインストールしたいときに始まりました。そして、私は次のように迎えられます:
Perl: warning: Setting locale failed.
Perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LC_PAPER = "es_CL.UTF-8",
LC_ADDRESS = "es_CL.UTF-8",
LC_MONETARY = "es_CL.UTF-8",
LC_NUMERIC = "es_CL.UTF-8",
LC_TELEPHONE = "es_CL.UTF-8",
LC_IDENTIFICATION = "es_CL.UTF-8",
LC_MEASUREMENT = "es_CL.UTF-8",
LC_NAME = "es_CL.UTF-8",
LANG = "en_US.UTF-8"
are supported and installed on your system.
Perl: warning: Falling back to the standard locale ("C").
update-rc.d: using dependency based boot sequencing
その後、dpkg-reconfigure locales
で修正しようとしましたが、これに応答します
Perl: warning: Setting locale failed.
Perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LC_PAPER = "es_CL.UTF-8",
LC_ADDRESS = "es_CL.UTF-8",
LC_MONETARY = "es_CL.UTF-8",
LC_NUMERIC = "es_CL.UTF-8",
LC_TELEPHONE = "es_CL.UTF-8",
LC_IDENTIFICATION = "es_CL.UTF-8",
LC_MEASUREMENT = "es_CL.UTF-8",
LC_NAME = "es_CL.UTF-8",
LANG = "en_US.UTF-8"
are supported and installed on your system.
Perl: warning: Falling back to the standard locale ("C").
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
/usr/bin/locale: Cannot set LC_CTYPE to default locale: No such file or directory
/usr/bin/locale: Cannot set LC_MESSAGES to default locale: No such file or directory
/usr/bin/locale: Cannot set LC_ALL to default locale: No such file or directory
Generating locales (this might take a while)...
en_US.ISO-8859-1...locale alias file `/usr/share/locale/locale.alias' not found: No such file or directory
done
Generation complete.
Perl: warning: Setting locale failed.
Perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LC_MONETARY = "es_CL.UTF-8",
LC_ADDRESS = "es_CL.UTF-8",
LC_TELEPHONE = "es_CL.UTF-8",
LC_NAME = "es_CL.UTF-8",
LC_MEASUREMENT = "es_CL.UTF-8",
LC_IDENTIFICATION = "es_CL.UTF-8",
LC_NUMERIC = "es_CL.UTF-8",
LC_PAPER = "es_CL.UTF-8",
LANG = "C"
are supported and installed on your system.
Perl: warning: Falling back to the standard locale ("C").
Perl: warning: Setting locale failed.
Perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LC_MONETARY = "es_CL.UTF-8",
LC_ADDRESS = "es_CL.UTF-8",
LC_TELEPHONE = "es_CL.UTF-8",
LC_NAME = "es_CL.UTF-8",
LC_MEASUREMENT = "es_CL.UTF-8",
LC_IDENTIFICATION = "es_CL.UTF-8",
LC_NUMERIC = "es_CL.UTF-8",
LC_PAPER = "es_CL.UTF-8",
LANG = "C"
are supported and installed on your system.
Perl: warning: Falling back to the standard locale ("C").
パッケージのインストールや更新を拒否するため、これを修正する方法がわかりません...誰かアイデアはありますか?私は困惑しています...
p.s.私は Debianでロケールを設定する を見てきましたが、これは私には機能しません(つまり、source /etc/default/locale
)
p.p.s /etc/locales.gen
Shellもチェックしましたが、en_US.UTF-8 UTF-8
は本来のコメントがなく、シェルスクリプトはlocale-gen
の実行を提案しています。
Generating locales (this might take a while)...
en_US.UTF-8...locale alias file `/usr/share/locale/locale.alias' not found: No such file or directory
それで、すべてのDebianマニュアルとBeagleBoneビルドを調べた後、私はついに何が起こったのかを理解しました!誰かがこの問題に遭遇した場合に備えて、私はこれを我慢すると思いました。ロケールを修正するために、/etc/default/locale
ファイルを次のように手動で書き直す必要がありました(たとえば、北米の場合は、すべてに「en_US.UTF-8」を使用します)。
LANG="en_US.UTF-8"
LC_NUMERIC="es_CL.UTF-8"
LC_MONETARY="es_CL.UTF-8"
LC_PAPER="es_CL.UTF-8"
LC_NAME="es_CL.UTF-8"
LC_ADDRESS="es_CL.UTF-8"
LC_TELEPHONE="es_CL.UTF-8"
LC_MEASUREMENT="es_CL.UTF-8"
LC_IDENTIFICATION="es_CL.UTF-8"
次に、シェルスクリプト/etc/locale.gen
に、コメントなしで使用する予定のすべてのロケール、つまりSudo nano /etc/locale.gen
が含まれていることを確認する必要があります。
次に、ロケールが期待するシンボリックリンクを修正する必要があります。これは、カーネルがインストール時に作成する必要があります。これは、次の方法で実行されます。Sudo ln -s /etc/locale.alias /usr/share/locale/locale.alias
最後にdpkg-reconfigure locales
を実行してリンクを修正すると、すべてが正常に実行されているはずです。
(補足:update-rc.d
は、BeagleBone blackのような、後のDebianリリースのレガシーツールであることに後で気付きました。代わりにinsserv mydaemon
を使用してデーモンシェルをインストールする必要があります)