на Beaglebone Black работает Debian

3547
Chris

Итак, все это началось, когда я захотел установить мой собственный демон на моем 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"). 

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

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

pps Я также проверил /etc/locales.genоболочку и 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
Chris

Поэтому, просмотрев все руководства по 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вместо него следует установить оболочку демона )

Это работало над сборкой контейнера Debian. Спасибо! bryanmac 5 лет назад 0

Похожие вопросы