RedHat Linux 8.0

Окончание. Начало в КГ 40

Обработка напильником
К сожалению, не появилось еще ни одного варианта Linux, который не требовал бы некоторой полировки после инсталляции. И RedHat 8.0 не стал исключением из этой печальной статистики.
Несмотря на значительно более качественный набор шрифтов, включенный в новую версию дистрибутива, их все же недостаточно для повседневного использования. Спасает возможность использования TTF-шрифтов, позаимствованных из Windows. Достаточно скопировать все шрифты с расширениями .ttf и .TTF из подкаталога fonts системного каталога Windows в каталог /usr/X11R6/lib/X11/fonts/TTF. После копирования файлов шрифтов введите команду fc-cache и перезапустите X Font Server с помощью команды /etc/init.d/xfs restart. Если Windows под рукой нет, то скачать шрифты можно из Интернета, например, отсюда: ftp://ftp.altlinux.ru/pub/distributions/ALTLinux/OpenOffice/ms-ttf-1.0-alt2.nosrc.rpm.
Для удобства советую создать в каталоге /usr/X11R6/lib/X11/fonts какой-нибудь новый каталог, например, TrueType, и копировать шрифты Windows в него. Это потребует некоторой коррекции файла /etc/X11/fs/config, а именно добавления имени нового каталога в список параметра catalogue. Также потребуется отредактировать файл /etc/fonts/fonts.conf, добавив новый путь в тэг <dir>. После этого не забудьте выполнить команду fc-cache и перезапустить X Font Server.
Если вы все сделали правильно, список доступных вам качественных шрифтов существенно расширится. В новой версии RedHat использовал значительно улучшенную библиотеку Xft (отвечает за шрифты в X Window), которая значительно лучше справляется с Type1 и TTF-шрифтами, практически не уступая аналогичным функциям Windows. Ну наконец-то:).
После всех красот интерфейса Bluecurve запуск "главного" браузера RedHat 8.0 Mozilla может слегка разочаровать зазубринами в сотню раз упомянутых шрифтах. Но это легко поправимо. Открываем файл /usr/lib/mozilla-1.0.1/defaults/pref/unix.js и ищем строку pref("font.FreeType2.enable", false);. Меняем последний параметр с false на true, затем ищем строку, начинающуюся на pref("font.directory. truetype.1" и вписываем вторым параметром каталог, куда ранее были скопированы TrueType-шрифты из Windows. Перезапускаем Mozilla и в Edit/Prefe-rences/Apperance/Fonts устанавливаем интересующие вас TTF-шрифты.

У меня была проблема с правильной установкой настроек временной зоны. Утилита настройки параметров времени от RedHat, сверкая великолепием интерфейса, рассказывала байки о том, что зона установлена в Europe/Moscow, тогда как заслуживающая большего доверия Unix-команда date заявляла, что я нахожусь где-то в США. Я не стал бороться с красивой оберткой и отредактировал файл /etc/sysconfig/ clock, написав в него ZONE="Europe/Moscow" (для жителей РБ соответственно будет Europe/Minsk). После этого скопировал файл /usr/share/zoneinfo/Europe/ Moscow в файл /etc/localtime. После перезагрузки date и утилита RedHat стали иметь общее мнение по вопросу временной зоны. Возможно, с подобной проблемой вы и не встретитесь, но все же кто предупрежден, тот вооружен;-).
Напомню, что в RedHat 8.0 включена поддержка Unicode (UTF8) везде, где это только можно. В этом режиме символы кодируются не одним байтом, как это делается обычно, а переменным числом байт. Их количество зависит от типа символа. Например, символы латиницы по-прежнему кодируются одним байтом, а китайские иероглифы уже тремя. На кириллицу приходится по два байта на символ. Поэтому, чтобы правильно обрабатывать строки таких символов, программы должны быть написаны специальным образом. К сожалению, правильно поддерживают Unicode в настоящее время далеко не все программы. С ними имеются некоторые проблемы при работе с текстом, содержащим символы, отличные от латиницы. RedHat советует запускать эти программы при помощи присваивания переменной окружения LANG значения "С". Например, такая полезная в хозяйстве программа как Adobe Acrobat Reader отказывается стартовать с локалью, установленной в UTF8. Проблема решается запуском программ при помощи команды env. Например, упомянутый Acrobat Reader нужно стартовать так: env LANG=C acroread.

Единственный достойный внимания и достаточно популярный клон дедушки Norton Commander на Unix и Unix-like операционных системах Midnight Commander имеет явные проблемы с UTF8. Нет, запущенный с переопределенной переменной окружения LANG замечаний в работе с латиницей не имеет, но строки с кириллицей его приводят в полное замешательство. Можно забыть о наборе кириллического текста в его встроенном редакторе и просмотре файлов с таким текстом. Кроме того, файлы с русскими именами либо не отображаются вообще (при длине имени больше ширины колонки панели), либо вызывают сдвиг элементов интерфейса MC. Запущенный с LANG=ru_RU (русифицированным интерфейсом) являет собой вообще ужасное зрелище. Надписи в меню видны обрывками, часть букв заменена на символы других алфавитов. Похоже, добиться нормальной работы MC невозможно без существенной правки исходного текста программы. К сожалению, последняя версия MC 4.55 вышла в прошлом году, а новой пока не предвидится. Это грустно. Привык я к синим панелям, прикипел душой к FAR... Давно имеется назойливая мысль написать клон FAR для Linux (с учетом особенностей Unix, конечно). Но пока не могу выкроить для этого необходимого времени. Вообще часть функциональности MC стала недоступной. Некоторые проблемы с запуском MC в русифицированном варианте в консольной программе KDE Konsole удалось решить использованием шрифта Lucida Console, позаимствованным из Windows XP. Однако всех проблем это не решило, и я прописал в файл .bashrc в своем домашнем каталоге псевдоним для MC:
alias mc='env LANG=C mc'
Такой вариант заставил Midnight Commander всегда запускаться в английском варианте.
Проблемы с UTF8 имеются и у некоторых других программ. Например, системный логгер syslogd записывает лог-файлы в /var/log явно не в UTF8. Если установлена русская локаль, то читать лог-файлы, например, /var/log/messages, практически невозможно. Имеются проблемы с отображением русских страниц man. Ситуация с man решается созданием псевдонима в собственном файле .bashrc:
alias man='env LANG=C man'
и чтением страниц man на английском языке.
Ну и так далее. Назвать дистрибутив полностью готовым к использованию Unicode нельзя.

Если вы имеете разделы на винчестере с файловой системой NTFS, то спешу вас разочаровать. Доступ к ним, даже на чтение, без перекомпиляции ядра системы невозможен. Почему-то модуль ntfs.o оказался в очередной раз "забытым" RedHat. А доступ к NTFS, хотя бы на чтение, часто нужен, например, для того, чтобы забрать TrueType-шрифты из каталога Windows. Попытка собрать ядро из исходных текстов, поставляемых с дистрибутивом, у меня не увенчалась успехом. Сколько я ни мучился с вариантами настройки ядра, постоянно появлялись ошибки на стадии компиляции или линковки. В конце концов, устав от, похоже, бесполезной борьбы, я взял исходные тексты референсного ядра 2.4.19 и без проблем собрал их в нужной конфигурации. Собственно, подобную смену ядра я делаю практически всегда, даже при установке на сервер. Это часто помогает избежать некоторых странностей в работе системы. После загрузки нового ядра с поддержкой NTFS можно прописать разделы Windows в файл /etc/fstab или настроить автоматическое монтирование при помощи демона automountd (что присутствует "из коробки" в некоторых других дистрибутивах Linux, например, в Mandrake Linux). Для первого раздела первого винчестера, которой отформатирован в NTFS, у меня написано в /etc/fstab:
/dev/hda1 /mnt/c ntfs iocharset=utf8 0 0
А для первого логического раздела в extended-разделе на втором винчестере, отформатированного в FAT32, написано:
/dev/hdb5 /mnt/e vfat codepage=866,
iochar-set=utf8 0 0
Подскажу, как настроить автоматическое монтирование. Для начала, что это такое. Создайте какой-нибудь каталог, например, /mnt/ntfs. Откройте файл /etc/auto.master и напишите в нем строчку:
/mnt/win /etc/automounter.win -timeout=60
Опция -timeout указывает, сколько времени держать файловую систему смонтированной без признаков активности в ней. После этого создайте файл /etc/automounter.win и запишите в него требуемые строки для ваших разделов и запустите демон при помощи команды /etc/rc.d/init.d/autofs start. Например, у меня карта файловых систем написана так:
c -fstype=ntfs :/dev/hda1
d -fstype=ntfs :/dev/hda5
e -fstype=vfat,codepage=866,
isocharset=utf8 :/dev/hdb5
Если я войду в каталог /mnt/win/c как нужно, файловая система автоматически смонтируется. Если я уйду из этого каталога и не буду проявлять в нем активности более 60 секунд, файловая система будет размонтирована.

Таким же образом можно сконфигурировать и устройства со сменными носителями, такими как CD/DVD-ROM, флоппи-диск и т.д, а также сетевые ресурсы NFS или SMB, что избавляет от кликания по ярлыку на рабочем столе или использования команды mount.
Система проверки орфографии, которую используют программы KDE, и в том числе набор офисных программ KOffice aspell, в RedHat почему-то традиционно не имеет необходимого русского словаря. Это исправляется скачиванием из Интернета необходимых словарей и их установкой. Как найти где скачать? Родной сайт http://aspell.net/.  Там можно взять словари для множества языков. Однако сейчас выложена совсем свежая версия 0.50.2 за 28 сентября этого года, а в RedHat 8.0 по какой-то странной причине идет еще версия 0.33.7 alpha. Я не был уверен, что новый словарь версии 0.50 подойдет к старому aspell, поэтому на всякий случай обновил и сам aspell, предварительно удалив родной. Дело это очень простое: словарь для русского языка занимает в архиве всего 512 килобайт, а сам aspell в исходных текстах чуть более 900. Если вы боитесь сами собирать программу, попробуйте поискать старую версию словаря. У меня в архиве завалялся файлик с именем aspell-ru-0.0-3.tar.bz2.

Теперь возьмемся за приведение в чувство OpenOffice.org. В первую очередь требуют редактирования шрифты, назначенные стилям абзаца в Writer. Делается это в точности так же, как и в Microsoft Word, думаю, никто не встретит здесь трудностей. Шрифты я рекомендую выбирать те, которые позаимствованы из Windows. Однако более крупной проблемой является то, что в OpenOffice.org не работает проверка орфографии русскоязычных текстов. Ни в каком виде: ни автопроверка, ни запускаемая вручную по F7. Самое интересное, что автозавершение слов работает даже для русского языка прямо "из коробки", а проверка орфографии нет. С английским языком все ОК. OpenOffice.org не использует вышеупомянутый aspell, а имеет собственный встроенный spellche-cker. Посещение родного сайта OpenOffice ничего не дало. На странице http://whiteboard.openoffice. org/lingucomponent/download_dictionary.html имеется только русский "Hyphenation Dictionary" словарь автозавершения слов от ALTLinux, который и так присутствует в RedHat. Словаря проверки орфографии там пока нет:-(. Что ж, наверное, в скором времени появится.
Вариантом решения данной проблемы является удаление OpenOffice.org, входящей в дистрибутив RedHat, и установка OpenOffice 1.0.1 от ALTLinux team, который поставляется с уже установленным словарем для проверки орфографии не только русского языка, но и украинского. Взять его последнюю версию можно тут: ftp://ftp.altlinux.ru/pub/distributions/ALTLinux/OpenOffice/1.0.1/OpenOffice-1.0.1-linux-pc-rus-ALT2.tar.gz. Файл занимает около 70 мегабайт в принципе, можно выкачать даже по модему. Отдельно русского словаря мне найти не удалось.
Я перечислил проблемы, с которыми столкнулся за 2 дня знакомства с RedHat 8.0. Возможно, их список станет в ближайшую неделю значительно длиннее. Буду продолжать поиск решения и уже найденных мной, но еще не решенных.

Подведем итоги
С уверенностью могу сказать, что RedHat 8 весомая заявка на часть рынка операционных систем для настольных компьютеров. Новый RedHat 8, несмотря на все найденные мной проблемы, является достаточно качественным продуктом, и им весьма приятно пользоваться.
Однако использование данной версии дистрибутива в серьезных задачах таких как серверы баз данных, приложений, веб-хостинг и т.д., я бы не советовал. Все-таки RedHat 8 основан на новой версии системной библиотеки glibc 2.93 и собран новой версией компилятора GCC 3.2. Все эти новшества должны пройти проверку временем. Стоит также напомнить про сложившуюся традицию компании RedHat: дистрибутивы с последней цифрой, равной нулю, являются в некотором роде технологическими экспериментами. В них вводят очень серьезные изменения. Действительно отлаженным дистрибутив становится к версии, заканчивающейся двойкой. Так было с RedHat 5.2, 6.2 и 7.2. Думаю, так будет и в этот раз.

Евгений Балахонов, [email protected] 
ICQ: 5456961

компьютерная газета