Ваша ОС не знает о en_US.UTF-8
.
Вы не упомянули конкретную платформу, но я могу воспроизвести вашу проблему:
% uname -a
OSF1 hunter2 V5.1 2650 alpha
% perl -e выход
perl: warning: сбой при настройке локали.
Perl: предупреждение: пожалуйста, проверьте, что ваши настройки локали:
LC_ALL = (не установлено),
LANG = "en_US.UTF-8"
поддерживаются и устанавливаются в вашей системе.
perl: warning: возврат к стандартной локали («C»).
Я предполагаю, что вы использовали ssh для подключения к этому старому хосту с более новой настольной машины. Это обычно для /etc/ssh/sshd_config
содержания
AcceptEnv LANG LC_*
что позволяет клиентам распространять значения этих переменных среды в новые сеансы.
Предупреждение дает вам подсказку о том, как его устранить, если вам не нужен полный языковой стандарт:
% env LANG = C perl -e выход
%
или с bash:
$ LANG = C perl -e выход
$
Для постоянного исправления выберите один из
- На старом хосте установите
LANG
переменную окружения в файле инициализации вашей оболочки.
- Измените свою среду на стороне клиента, например , вместо
ssh hunter2
использования команды LANG=C ssh hunter2
.
- Если у вас есть права администратора, остановите ssh от отправки переменных окружения, закомментировав
SendEnv LANG LC_*
строку в локальном /etc/ssh/ssh_config
файле. (Благодаря этому ответу . См. Ошибку 1285 для OpenSSH для получения дополнительной информации.)