Ужасы нашего городка
2012-05-05 18:05ВНЕЗАПНО выяснилось, что локализованные текстовые сообщения в /usr/share/nls/ru_RU.KOI8-R/tcsh.cat на FreeBSD хранятся в UTF-8, а вовсе не в KOI8-R. И на свежепоставленной системе пользователь с login class russian и локалью ru_RU.KOI8-R, которую выставляет этот login class, видит тем не менее сообщения об ошибках от tcsh в виде "сырой" бинарщины в UTF-8. Почему? Потому что на свежепоставленной системе нету libiconv.so.
Достаточно поставить из портов libiconv, чтобы tcsh заговорил по-русски в кодировке KOI8-R:
# kdump | grep NAMI | grep iconv 22658 tcsh NAMI "/lib/libiconv.so" 22658 tcsh NAMI "/usr/lib/libiconv.so" 22658 tcsh NAMI "/usr/lib/compat/libiconv.so" 22658 tcsh NAMI "/usr/local/lib/libiconv.so" 22658 tcsh NAMI "/usr/local/lib/libiconv.so" #
Из всех этих файлов существует только последний, портовый.
Update: оказалось, что так стало после импорта в систему tcsh-6.18.01, то есть начиная с FreeBSD 8.3-RELEASE и 9.0-RELEASE. А в 8.2 в /usr/share/nls/ru_RU.KOI8-R/tcsh.cat всё ещё KOI8-R.