1

Итак, все это началось, когда я захотел установить свой собственный демон на свой Debian Beaglebone Black с запущенным Debian с использованием update-rc.d mydaemon defaults 97 как я делал это много раз во время его разработки на моем хосте Mint. И меня приветствуют:

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").

Я понятия не имею, как это исправить, так как он не позволяет мне устанавливать какие-либо пакеты или обновлять что-либо ... У кого-нибудь есть идеи? Я в тупике ...

п.с. Я видел Configure Locales в Debian, и это не работает для меня (то есть source /etc/default/locale)

pps Я также проверил /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

1 ответ1

3

Поэтому, просмотрев все руководства по 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 .

Затем вам нужно исправить символическую ссылку, которую ожидает locales, которую ядро должно было сделать при установке, это делается: sudo ln -s /etc/locale.alias /usr/share/locale/locale.alias

Наконец, запустите dpkg-reconfigure locales чтобы исправить связь, и теперь все должно работать нормально.

(С другой стороны: позже я понял, что update-rc.d является устаревшим инструментом в более поздних выпусках Debian, например, в черном BeagleBone, оболочка демона должна быть установлена с использованием insserv mydaemon )

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .