2

Я пишу сценарий, который загружает различные выпуски с использованием 'debootstrap' и устанавливает на него некоторые необходимые пакеты (включая локали), а затем упаковывает его для использования в другом сценарии.

Я получаю следующую ошибку при запуске команды внутри chroot:

# locale-gen en_US.UTF-8;update-locale LANG=en_US.UTF-8
Generating locales (this might take a while)...
Generation complete.
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = (unset),
        LC_ALL = (unset),
        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
*** update-locale: Error: invalid locale settings:  LANG=en_US.UTF-8

Когда я запускаю "export LANG = 'en_US.UTF-8'", он не сообщает об ошибках, но не устраняет никаких проблем.

Итак, вопрос в том, как я могу исправить эти ошибки локалей?

PS: я могу опубликовать часть исходного кода скрипта, если это поможет.

1 ответ1

5

Боюсь, что вы называете locale-gen неправильным - locale-gen не принимает локали в качестве параметров. Вам нужно указать все локали для вашей системы в /etc/locale.gen , вызовите locale-gen один раз, чтобы сгенерировать их все для вас.

РЕДАКТИРОВАТЬ: /etc/locale.gen был файл, который я установил при использовании Debian. Сейчас я использую Ubuntu, и файл конфигурации - /var/lib/locales/supported.d/local . Проверьте вашу man-страницу locale-gen чтобы убедиться.

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