[Sysadmins] Русские буквы в VE

Eugene Prokopiev =?iso-8859-1?q?prokopiev_=CE=C1_stc=2Edonpac=2Eru?=
Пн Окт 15 12:46:47 MSD 2007


Здравствуйте!

Есть шаблон, собиравшийся spt из такого минимального профиля:

-------------------------------------------------------------

$ cat spt/ovz/profile/config
COMPONENTS="ovz"
OSTEMPLATE="ovz"

$ cat spt/ovz/profile/ovz/config
OUT=altlinux-branch-4.0-i586
IDENT=ovz

$ cat spt/ovz/profile/ovz/packages
apt
basesystem
sysklogd
etcnet
glibc-nss
glibc-locales
netlist
openssh-server
openssh-clients

$ cat spt/ovz/profile/ovz/hooks.d/02root
#!/bin/sh
chown -R root.auth /etc/tcb/root

$ cat spt/ovz/profile/ovz/hooks.d/03services
#!/bin/sh -e
/sbin/chkconfig network on ||:
/sbin/chkconfig syslogd on ||:
/sbin/chkconfig random on ||:
/sbin/chkconfig rawdevices off ||:
/sbin/chkconfig fbsetfont off ||:
/sbin/chkconfig keytable off ||:

$ cat spt/ovz/profile/ovz/hooks.d/04inittab
#!/bin/sh -e
subst 's/^\([0-9]\+:[0-9]\+:respawn:\/sbin\/mingetty.*\)/#\1/' /etc/inittab

$ cat spt/ovz/profile/ovz/hooks.d/05mtab
#!/bin/sh -e
rm -f /etc/mtab && ln -s /proc/mounts /etc/mtab

$ cat spt/ovz/profile/ovz/hooks.d/06syslog
#!/bin/sh -e
subst 's,\/dev\/tty12,/var/log/syslog/console,' /etc/syslog.conf

$ cat spt/ovz/profile/ovz/hooks.d/07apt
cat >> /etc/apt/sources.list <<END
rpm [alt] ftp://192.168.100.1/distrib/linux/alt-linux-branch-4.0 i586 
classic
rpm [alt] ftp://192.168.100.1/distrib/linux/alt-linux-branch-4.0 noarch 
classic
END

$ cat spt/ovz/profile/ovz/hooks.d/08etcnet
#!/bin/sh -e
subst 's,net.ipv4.icmp_echo_ignore_broadcasts = 1,# 
net.ipv4.icmp_echo_ignore_broadcasts = 1,' /etc/net/sysctl.conf
subst 's,net.ipv4.tcp_syncookies = 1,# net.ipv4.tcp_syncookies = 1,' 
/etc/net/sysctl.conf
subst 's,net.ipv4.tcp_timestamps = 0,# net.ipv4.tcp_timestamps = 0,' 
/etc/net/sysctl.conf

-------------------------------------------------------------

Т.е. никаких настроек, касающихся локали.

Создаю из этого шаблона VE, присваиваю адрес, завожу пользователя, 
подключаюсь по ssh. Наблюдаю такую картину: русские буквы вводятся и 
выводятся (т.е. echo привет > file; cat file работает как положено), но 
в выводе ls, df и т.д. вместо русских букв - каракозябры.

Файл /etc/sysconfig/i18n в VE пустой. У пользователя .i18n тоже 
отсутствует, однако:

$ env | grep LC
LC_TYPE=ru_RU.UTF-8

$ locale
LANG=ru_RU.UTF-8
LC_CTYPE="ru_RU.UTF-8"
LC_NUMERIC="ru_RU.UTF-8"
LC_TIME="ru_RU.UTF-8"
LC_COLLATE="ru_RU.UTF-8"
LC_MONETARY="ru_RU.UTF-8"
LC_MESSAGES="ru_RU.UTF-8"
LC_PAPER="ru_RU.UTF-8"
LC_NAME="ru_RU.UTF-8"
LC_ADDRESS="ru_RU.UTF-8"
LC_TELEPHONE="ru_RU.UTF-8"
LC_MEASUREMENT="ru_RU.UTF-8"
LC_IDENTIFICATION="ru_RU.UTF-8"
LC_ALL=

Почему? ssh переносит переменные окружения клиента? Клиент - branch 4.0 
с UTF-8. И что недоперенеслось?

-- 
С уважением,
Прокопьев Евгений




Подробная информация о списке рассылки Sysadmins