Настройка RedHat 9 на русскую локаль KOI8-R



   В свое время, после выхода в свет RedHat версии 8.0, мною была написана статья "Переход с RedHat-7.x на RedHat-8.0", в которой описывалось как заменить локаль UTF-8 на KOI8-R в связи глючности и проблемности русской локали UTF-8, с выходом RedHat версии 9 казалось, что эту проблему решили и русская локаль UTF-8 заработала как надо, правда не везде гладко, но решаемо. Однако многие пользователи RH9 хотят старую хорошо отработанную временем локаль KOI8-R, оно и понятно, UTF-8 все еще имеет проблемы с консольными приложениями, да и с некоторым старым софтом, от которого не хочется отказываться. Видимо по этой причине меня стали забрасывать письмами с просьбой рассказать как сделать такой переход, у меня нашлось немного времени это сделать, поэтому выполняю просьбу тех, кто меня об этом просил.

   И так, первым делом надо установить локаль KOI8-R в /etc/sysconfig/i18n как это делалось обычно для RH7.x:

LANG="ru_RU.KOI8-R"
SUPPORTED="ru_RU.KOI8-R:ru_RU.koi8r:ru_RU:ru"
SYSFONT="cyr-sun16"
SYSFONTACM="koi8-u"

Примечание: Для RH8.0 приходилось ставить пакет kbd(consoletools) из RH7x, для RH9 этого делать не надо!!!

Далее, надо установить расскладку клавиатуры для данной локали, как обычно идем в /etc/sysconfig/keyboard и делаем примерно так:

KEYBOARDTYPE="pc"
KEYTABLE="ru-ms"

Вот собственно и все, что касается локализации, однако некоторые приложения в RH9 сильно завязаны на юникод и требуют замены, так как обычными настройками заставить их работать с KOI8-R мне не удалось. Почти все русские man'ы в RH9 конвертнуты в UTF-8, и поэтому пришлось немного доработать nroff, что бы он на лету конвертил из UTF-8 в KOI8-R, так что имейте это ввиду, если будут проблеммы с манами в кодировке KOI8-R.
Вот список пакетов подлежащих обязательной замене:
groff-1.18.1-24.i386.rpm
groff-perl-1.18.1-24.i386.rpm
groff-gxditview-1.18.1-24.i386.rpm
less-378-8.i386.rpm

Midnight Commander желательно тоже сменить:
mc-4.6.0-5.i386.rpm
Дополнительные необходимые приложения для MC:
Архиватор ARJ arj-3.10g-1.i386.rpm или русская версия arj-3.10g-ru.1.i386.rpm
Консольный MP3 плеер MPG123 mpg123-0.59s.mc2-2.i386.rpm или под K7 mpg123-0.59s.mc2-2.athlon.rpm

Все пакеты мы устанавливаем как rpm -U [имя пакета], кроме arj и mpg123, так как они ранее отсутствовали в системе и поэтому лучше установить их как rpm -i [имя пакета]. Про мою версию mpg123 и ее отличие от оригинальной можно прочитать на http://mcmcc.bat.ru. После обновления и установки этих пакетов этап по "коинизации" консоли можно считать законченным и переходим к Х-ам.

   Х-ы практически не нуждаются в какой-либо доработки, если есть проблема с кодировкой в приложениях написанных на gtk12, то она решается правкой /etc/gtk/gtkrc.ru примерно так:

style "gtk-default-ru" {
     fontset = "-adobe-helvetica-medium-r-normal--12-*-*-*-*-*-koi8-*,\
             -*-arial-medium-r-normal--12-*-*-*-*-*-koi8-r,\
             -*-helvetica-medium-r-normal--12-*-*-*-*-*-koi8-r,\
             -*-arial-medium-r-normal--12-*-*-*-*-*-koi8-r,*-r-*"
}
class "GtkWidget" style "gtk-default-ru"

Еще бы не плохо установить MS ttf фонты, я бы даже сказал обязательно:
ttf_webms-1.0-2.i386.rpm

   Как и в RedHat 8.0 в 9-ой версии отсутсвует все, что связано с MP3, RedHat пошла на такой шаг после того как за распространение кодеков MP3 стали требовать денежные отчисления, поэтому все мультимедийные приложения содержащие связь с MP3 были модернизированы на уровне исходников и из них был удален весь код связаный с MP3. В принципе RedHat понять можно, им не охото в будушем иметь судебные разборки и проще подстраховаться заранее, но это положение касается распространителей, а не обычных пользователей и разработчиков, поэтому я подготовил некоторые пакеты дополнения, которые позволяют дополнить 9-ку возможностям работы с MP3.
  Если вы используете в своей работе десктоп KDE, то вам необходимо обновить пакет kdemultimedia:
  Для KDE-3.1 который идет в составе RH9:
kdemultimedia-3.1-5.i386.rpm
kdemultimedia-devel-3.1-5.i386.rpm
  Для KDE-3.1.2 сборку которой осуществляла группа разработчиков KDE специально для 9-ки:
kdemultimedia-3.1.2-0.9x.2.i386.rpm
kdemultimedia-devel-3.1.2-0.9x.2.i386.rpm
  Если для прослушивания музыки вы используете плеер XMMS, то для него я специально сделал отдельный MP3 плагин, описание этого плагина вы можете прочитать на http://mcmcc.bat.ru:
mpg123-xmms-1.2.7-21.p.i386.rpm
  Возможно вам захочется создавать MP3 файлы, то енкодер LAME вам в этом поможет:
lame-3.94-1.i386.rpm или версия для K7 lame-3.94-1.athlon.rpm
lame-devel-3.94-1.i386.rpm
Вот собственно и все, что касается MP3 и RH9...

   Хочу поделиться собранной мною JAVA v1.4.1 специально для RH9, как собрать самим JAVA SDK вы можете прочесть в моей статье "Самостоятельная сборка JAVA(TM) 2 SE v.1.4.1 из исходников с sun.com".

   Так же хочу обратить ваше внимание на пакет cdrtools v.2.0, для работы с пишущими DVD/CD-RW, который входит в состав RH9, а именно на утилиту mkisofs, для создания ISO имиджей CD дисков, в которую я интегрировал свои патчи для полной руссификации и о которых можно прочитать на http://mcmcc.bat.ru:
cdda2wav-2.0-7.i386.rpm
cdrecord-2.0-7.i386.rpm
cdrecord-devel-2.0-7.i386.rpm
mkisofs-2.0-7.i386.rpm

   В своей статье я указывал ссылки только на бинарные собранные rpm пакеты, но если кому интересны исходники пакетов в rpm, то вы можете взять их тут, кроме JAVA естественно:).

   Заканчивая свою статью всем этим выше описанным и не обратив внимание на проблему сборки rpm пакетов, было бы с моей стороны не этично:)). Проблема заключается в том, что в RedHat посчитали необходимостью включить сборку debug rpm пакета к каждой собираемой программе, на что у многих вызывает сильное раздражение и зуд начистить кому-нибудь репу за такое извращение, но и это еще не все, ребята из RedHat'а придумали еще одну засаду, если в секции %files spec файла не описан файл, который появился $RPM_BUILD_DIR после %install, то такой пакет считается неправильным и сборка завершается ошибкой, на что реакция за такую подлость вызывает еще большую охоту начистить уже не одну репу;))))... На самом деле это все правится в макрос файлах и навсегда избавляет от тех неприятностях которых я описал, для этого возмите мои исправленные макросы и замените их из этого архива в соответсвующих директориях, а именно в /usr/lib/rpm и /usr/lib/rpm/redhat....



19.06.2003 McMCC (mcmcc@mail.ru)