[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