Работы комплекта ISC, если немного сложный для установки. Никакой GUI все же. dnsmasq сервер также работает хорошо на меньшие установки с другим авторитетным сервером имен. Это - один двоичный файл, таким образом, автоматические записи имени легки.
Вы пропускаете файл, который использовался бы для установки по умолчанию локали в отсутствие $LANG
или $LC_ALL
(или все более определенные $LC_whatever
) быть установленным.
На более старом glibc это/usr/lib/locale/locale-archive. Поскольку GNU/Linux хаотичен, необходимо использовать strace для определения, какие файлы ожидаются в конкретных версиях, используемых на машине:
strace -e file locale execve("/usr/bin/locale", ["locale"], [/* 36 vars */]) = 0 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = 3 open("/lib/libc.so.6", O_RDONLY) = 3 open("/usr/lib/locale/locale-archive", O_RDONLY|O_LARGEFILE) = 3
----------------------Комментарии добавили 1 день спустя:
"ltrace-S" должен быть хорошо, так как он показывает syscalls.
Иначе "ltrace" не очень полезен (т.е. это контрпродуктивно по сравнению с strace), потому что это только показывает верхние вызовы. Это очевидно (setlocale (3)), тогда как настоящая проблема происходит в libc.
Это кажется, что у Вас есть необработанные установленные данные локали, с тех пор en_US.UTF-8 работы.
Если так, затем что-то вроде этого должно решить Вашу проблему, установив значение по умолчанию в масштабе всей системы:
localedef -f UTF-8 -i en_US en_US.UTF-8
У меня была та же проблема после установки /etc/locale.conf
как раз сегодня (касающийся недавних изменений в /etc/rc.conf
. В моем случае оказалось, что локали не были установлены.
Проверить /etc/locale.gen
. Все локали, которые Ваша ссылка переменных среды должна быть активирована (т.е. не прокомментирована), там. Внеся Ваши изменения, выполненные sudo locale-gen
устанавливать выбранные локали.
У меня недавно были подобные проблемы, все unicode имена файлов были неправильно отображены, когда я случайно удалил 'LOCALE=en_US.utf8' в /etc/rc.conf
. Таким образом, я проверил сценарий начальной загрузки:
if [[ $DAEMON_LOCALE != [nN][oO] ]]; then
export LANG=${LOCALE:-C}
if [[ -r /etc/locale.conf ]]; then
parse_envfile /etc/locale.conf "${localevars[@]}"
fi
else
export LANG=C
fi
Простое решение является проверкой оба DAEMON_LOCALE
и LOCALE
в /etc/rc.conf
, удостоверьтесь, что первый не был no
и второй не был пуст.
Возможно, одна из Ваших настроек недопустима? Это мои настройки локали для ссылки; они не вызывают ошибок (KUbuntu 12.04):
LANG=en_AU.UTF-8
LANGUAGE=
LC_CTYPE="en_AU.UTF-8"
LC_NUMERIC="en_AU.UTF-8"
LC_TIME="en_AU.UTF-8"
LC_COLLATE="en_AU.UTF-8"
LC_MONETARY="en_AU.UTF-8"
LC_MESSAGES="en_AU.UTF-8"
LC_PAPER="en_AU.UTF-8"
LC_NAME="en_AU.UTF-8"
LC_ADDRESS="en_AU.UTF-8"
LC_TELEPHONE="en_AU.UTF-8"
LC_MEASUREMENT="en_AU.UTF-8"
LC_IDENTIFICATION="en_AU.UTF-8"
LC_ALL=