Bacula в консоли (bconsole) вместо русских букв показывает закорючки в FreeBSD 8.2
22.06.2012, рубрики: FreeBSD | Теги: Bacula, FreeBSD | Комментариев нет »Долго выбирал систему резервного копирования. Остановил свой выбор на bacula.
Сразу все гладко настроить систему не получилось, появилась проблема, пользователи создают папки и файлы на русском языке, а эти папки и файлы попадают в задание резервного копирования bacula.
Так как в FreeBSD по-умолчанию нет поддержки UTF-8, в bconsole вместо русских имен, видно только закорючки.
Восстанавливать удаленные файлы нужно? Правильно! Нужно! Файлы, конечно, же можно восстановить, указать корневую папку, и то, если она на латинице написана. Но зачем усложнять жизнь. У меня есть папка на латинице в ней куча подпапок, и среди них, кто-то создал файл на русском языке. Именно этот файл был удален. Чтобы его восстановить, пришлось восстанавливать никому ненужные Гигабайты лишней информации.
Внедрим поддержку UTF-8 в FreeBSD.
Добавляем в конфиг ядра строки:
1 2 | options TEKEN_UTF8 options TEKEN_XTERM |
Пересобираем ядро и перезагружаемся
правим /etc/login.conf:
было:
1 2 3 4 | russian|Russian Users Accounts:\ :charset=KOI8-R:\ :lang=ru_RU.KOI8-R:\ :tc=default: |
стало:
1 2 3 4 | russian|Russian Users Accounts:\ :charset=UTF-8:\ :lang=ru_RU.UTF-8:\ :tc=default: |
Создаём хэш для login.conf:
1 | cap_mkdb /etc/login.conf |
правим /etc/csh.cshrc — устанавливаем переменные окружения:
1 2 3 4 | setenv LANG ru_RU.UTF-8 setenv LC_CTYPE ru_RU.UTF-8 setenv LC_COLLATE POSIX setenv LC_ALL ru_RU.UTF-8 |
Для bash-подобных шеллов правим /etc/profile:
1 2 3 4 | LANG="ru_RU.UTF-8"; export LANG LC_CTYPE="ru_RU.UTF-8"; export LC_CTYPE LC_COLLATE="POSIX"; export LC_COLLATE LC_ALL="ru_RU.UTF-8"; export LC_ALL |
Для root правим /root/.cshrc:
1 2 3 4 | setenv LANG C setenv LC_CTYPE C setenv LC_COLLATE POSIX setenv LC_ALL C |
Меняем драйвер консоли 'cons25' на 'xterm' в /etc/ttys
Поместим ваш_юзер в Class russian
1 | pw usermod ваш_юзер -L russian |
Можно проверять в bconsole
1 2 3 4 5 6 7 | # bconsole cwd is: / $ cd D:/shares/ImportantDOC cwd is: D:/shares/ImportantDOC $ ls Документация/ $ |
Из листинга видно, что bacula корректно отображает названия русских папок, а соответственно и файлов.
Оставить комментарий