Существует три уровня настроек локали в среде:
LC_ALL
установлен, это превосходит все.LC_xxx
переменная это устанавливает и LC_ALL
сброшен, значение LC_xxx
относится к этой категории.LC_ALL
ни соответствующее LC_xxx
установлен, $LANG
применяется.C
(это - самая основная, упрощенная локаль).Как пользователь, можно определить LANG
и переопределите конкретную установку с LC_xxx
. Например, для работы в португальской локали кроме с британскими датами:
export LANG=pt_PT.UTF-8 LC_TIME=en_UK.UTF-8
(Вставленный, что Ваш ~/.profile
.)
Вместо установки LANG
, Вы могли бы установить просто категории, которыми Вы интересуетесь. Например, чтобы получить сообщения на португальском языке и использовать набор символов UTF-8, но оставить другие форматы их значению по умолчанию:
unset LANG
export LC_MESSAGES=pt_PT.UTF-8 LC_CTYPE=pt_PT.UTF-8
Если необходимо запустить программу, которая не может справиться с изменениями локали, выполнить его в C
локаль.
LC_ALL=C troublesome_script
После более подробного ознакомления с интернетом я обнаружил, что более новая версия systemd требует наличия ядра с опцией конфигурации CONFIG_FHANDLE=y
- однако, эта опция отсутствует в версии ядра, включенной в официальный образ банана-pi ArchLinux (3.4.90).
Я перекомпилировал ядро с включенной опцией, и теперь приглашение к входу в систему появляется, как и ожидалось -> все отлично.
Для тех, кто заинтересовался компиляцией нового ядра (3.4.103+ на момент написания этой статьи), я следовал инструкциям , приведенным здесь на виртуальном сервере Ubuntu 14.04. Не столкнулся с какими-либо проблемами. Я последовал только тому моменту, когда я скомпилировал ядро - я не создавал новый SD образ.
Официальный образ Banana Pi Arch Linux теперь содержит новый образ ядра версии 3.4.103, так что перекомпилировать его не нужно.