Наверное многие из вас стали обладателями новой версии RedHat-8.0, но после ее установки вы столкнулись с некоторыми проблемами, а именно, нет больше традиционной локали koi8-r и многие консольные приложения отказываются работать с русским языком, к тому же приложения использующие ncurses выглядят, мягко говоря, просто убогими и кривыми. Причиной этого стало то, что в компании RedHat решили перейти на уникод UTF-8, вообщем-то они правы, это надо было сделать давно, однако большенство приложений и библиотек не готовы работать с много байтными кодировками, RH попыталась вынести эту проблему в своем новом дистрибутиве, и поэтому новая версия не совсем годится для работы, зато это прекрасный базовый дистрибутив для разработчиков, в него включены все самые новые наработки и приложения, к тому же он один из первых, где используется новая glibc-2.3, с которой, собственно, весь дистрибутив и собран... Можно много говорить про достоинства и недостатки этого дистрибутива, однако многим хочется его использовать для работы, при этом соблюдая традиционность, которая была в предыдущих версиях RH, это означает, что многие не желают переходить на UTF-8, но хотят нового того, что есть в RH-8.0...
Я давно рассматривал варианты безболезненного "отката" на традиционную локаль koi8-r еще во времена первых бет 8-ки, все оказалось проще простого, традиционный пакет console-tools, который входил в состав дистрибутивов 7.х, был заменен на новый с названием kbd, который был доработан для работы с UTF-8, я заменил kbd на console-tools из RH-7.3 и получил то, что хотел, а именно ru_RU.koi8r была везде, однако Midnight Commander(мой любимый файловый менеджер, в стиле нортон коммандера, как в консоли так и в Х-ах) лучше от этого работать не стал, пришлось ставить slang и mc от того же RH-7.3, только после этого я получил желаемый результат. Но и в Х-ах я тоже встретил не мало проблем из-за шрифтов применяемых в 8-ке, поэтому правильнее было взять их из той же 7.3 или из ASP Linux'а, немного подумав, я выбрал последнее... Совсем недавно мною было принято решение, что необходимо сделать rpm пакеты, которые бы устанавливались поверх существующих, не нарушая при этом названия и надобности в ключе --force при апдейте на установленные пакеты. Для чего это было сделано? Думаю объяснять не стоит...
Данное руководство, в основном, посвящается тем, кто ставит систему с нуля и хочет переползти безболезненно с 7-ки на 8-ку. В данном руководстве описаны поэтапные шаги по обновлению системы, так же затронута часть по добавлению функционирования MP3 в системе, ведь не секрет, что RH отказалась встраивать поддержку MP3 из-за новых лицензионных ограничений на формат MP3, однако мы в России господа...:)))
Шаг 1:
-
Качаем rpm пакет kbd-1.06-100.i386.rpm
-
Устанавливаем командой rpm -U kbd-1.06-100.i386.rpm * Если вы любитель собирать из исходников, то вы можете скачать пакет kbd-1.06-100.src.rpm, только не забудьте, что команда для сборки в RH-8.0 с rpm заменена на rpmbuild, т.е. нужно собирать пакет как rpmbuild --rebuild kbd-1.06-100.src.rpm.
-
После установки этого пакета, необходимо сделать исправления в конфигурационных файлах /etc/sysconfig/i18n и /etc/sysconfig/keyboard
В i18n должно быть примерно следущее:
LANG="ru_RU.KOI8-R"
SUPPORTED="ru_RU.KOI8-R:ru_RU.koi8r:ru_RU:ru"
SYSFONT="cyr-sun16"
SYSFONTACM="koi8-u"
А в keyboard:
KEYBOARDTYPE="pc"
KEYTABLE="ru-ms"
* Думаю не лишне будет напомнить, что локаль в RH делается как ru_RU.koi8r, однако более правильно ее сделать как ru_RU.KOI8-R, для этого необходимо сделать линк в каталоге /usr/lib/locale с ru_RU.koi8r на ru_RU.KOI8-R:
cd /usr/lib/locale
ln -s ru_RU.koi8r ru_RU.KOI8-R -
Далее скачиваем rpm пакет initscripts-6.95-100.i386.rpm или пакет с исходниками initscripts-6.95-100.src.rpm для самостоятельной сборки.
-
И устанавливаем его как rpm -U initscripts-6.95-100.i386.rpm
-
Теперь можно перегрузить систему, что бы обновления вступили в силу, после перезагрузки системы, мы получаем нормальную традиционную консоль с ru_RU.KOI8-R локалью, что бы убедиться в этом, достаточно дать команду locale...
Шаг 2:
-
Качаем compat-slang-1.4.5-2.i386.rpm или пакет с исходниками compat-slang-1.4.5-2.src.rpm для самостоятельной сборки.
-
И устанавливаем его как rpm -i compat-slang-1.4.5-2.i386.rpm
-
После того, как мы установили традиционную локаль, хочется, что бы заработал MC, штатный MC всеравно нормально работать не будет, поэтому предлагаю сделать обновление на новый с возможностью перекодировки текста по Ctrl+T, собственно пакет MC взят из ALTLinux'а с небольшими доработками в спек файле для RH-8.0. Качаем mc-4.5.55-100.i386.rpm и mcserv-4.5.55-100.i386.rpm или пакет с исходниками mcserv-4.5.55-100.src.rpm для самостоятельной сборки (только не ставьте gmc).
-
Теперь устанавливаем эти 2-а пакета как:
rpm -U mc-4.5.55-100.i386.rpm
rpm -U mcserv-4.5.55-100.i386.rpm -
После установки этих пакетов даем в консоли команду mc и наслаждаемся нормальной работе прекрасного консольного файл менеджера.
Шаг 3:
Все что было описано выше, касалось только консоли, однако следует сделать обновления для X-ов, т.е. сделать апдейт некоторых фонтов и поставить микрософтовские ttf фонты.
-
Качаем фонты, взятые из ASPLinux'а, XFree86-75dpi-fonts-4.2.0-73.i386.rpm или пакет с исходниками XFree86-75dpi-fonts-4.2.0-73.src.rpm для самостоятельной сборки.
-
Устанавливаем его как rpm -U XFree86-75dpi-fonts-4.2.0-73.i386.rpm
-
Далее, скачиваем микрософтовские ttf фонты ttf_webms-1.0-1.i386.rpm или пакет с исходниками ttf_webms-1.0-1.src.rpm для самостоятельной сборки.
-
Устанавливаем его как rpm -i ttf_webms-1.0-1.i386.rpm
-
После установки и обновления этих фонтов, следует перегрузить фонтсервер xfs или перегрузить систему.
На этом можно считать, что система полностью готова для перехода с RH-7.x на RH-8.0, теперь можно рассмотреть некоторые дополнения, которые хотелось бы видеть в RH-8.0...
Русский mkisofs
Довольно очень давно, мною был написан патч для mkisofs, который позволял делать перекодировку русских имен файлов в транслит, это требовалось для DOS, так как он не понимал русские символы в именах файлов, хотя те времена прошли, однако бывает в этом необходимость, что бы CD диск нормально читался в DOS или OS/2. Я интегрировал этот патч в современный mkisofs, а так же сделал koi8-r кодировку по умолчанию, что бы потом для Joliet не использовать ключ -jcharset, ну и добавил новый ключ -no-ver, что бы при необходимости можно было спрятать программу, с помощью которой построен ISO имидж:). Вы можете скачать обновленный mkisofs-1.10-15.i386.rpm или целиком пакет с исходниками cdrtools-1.10-15.src.rpm для самостоятельной сборки.
P.S. Многим наверное будет интересно, как сделать загрузочный NTевый CD диск с помощью mkisofs, так вот, это делает легче, чем думается:))), смотрите команду запуска ниже:
mkisofs -v -J -l -d -L -N -relaxed-filenames -allow-multidot -no-ver -A 'CDIMAGE 2.46 (10/12/2000 TM)' -o WinXP-Pro-2600.iso -p 'MICROSOFT CORPORATION, ONE MICROSOFT WAY, REDMOND WA 98052, (425) 882-8080' -P 'MICROSOFT CORPORATION' -V WXPCORP_EN -volset WXPCORP_EN -no-emul-boot -boot-load-size 4 -boot-load-seg 0x7c0 -b boot.bin -sysid '' -hide boot.bin -hide boot.catalog WinXP/
В WinXP/ должен естественно находится сам дистрибутив NT'ей и это не обязательно должна быть XP, это пробовалось еще с 4-ой NT'ей в свое время...:))
MP3
Как уже говорилось выше, редхедовцы не включили в свой последний дистрибутив все, что связано с MP3, однако все эти лицензионные разборки, не должны влиять на нас с вами, поэтому я сделал несколько пакетов дополнения с плагинами для XMMS и KDE, а также пакет с переработанным мною консольным плеером - mpg123.
Скачать mpg123-xmms-1.2.7-13.p.i386.rpm или пакет с исходниками mpg123-xmms-1.2.7-13.p.src.rpm для самостоятельной сборки. Плагин MP3 для XMMS имеет некоторую особенность, в него встроена функция recode для тегов, работающая через iconv, хотя этот патч не мой, но зато я сделал закладку в меню настроек для этого плагина, она заключается в том, что бы можно было указывать из какой кодировки в какую перекодировать, причем, перезапись тега осуществляется в кодировке из которой идет преобразование, это примерно выглядит так:
Меню "Параметры" -> "Свойства" -> Меню "Настройки" -> "Проигрыватель MPEG лэйер 1/2/3 1.2.7 [libmpg123.so]" -> "Настройка" -> Ярлык "Название" -> Установите флажек напротив "Use recode tag", в поле "From:" укажите, например, "CP1251", а в поле "To:" - "KOI8-R"
Скачать mpg123_artsplugin-3.0.3-1.i386.rpm или пакет с исходниками mpg123_artsplugin-3.0.3-1.src.rpm для самостоятельной сборки. Этот плагин встраивается в MCOP KDE и становится доступным для всех приложений KDE, в частности Noatun сможет его использовать для воспроизведения MP3 файлов, однако стоит обратить внимание на mime линки в настройках KDE, для этого нужно вызвать "Центр управления" -> "Привязки файлов" -> audio -> x-mp3 -> Ярлык "Привязки" -> выставить "Показать файл с помощью другой программы просмотра" и в "Приоритет сервисов" установить "Встроенный медиа плеер".
Скачать для intel MMX процессоров mpg123-0.59s.mc1-1.i386.rpm или для amd 3DNow процессоров mpg123-0.59s.mc1-1.athlon.rpm, либо взять пакет с исходниками mpg123-0.59s.mc1-1.src.rpm для самостоятельной сборки. Думаю, что этот пакет не нуждается в объяснениях, так как является самым лучшим консольным MP3 плеером всех времен и народов, однако проект давно не развивается, поэтому многие, как и я, продолжают самостоятельно его развивать. Предлагаю свой вариант этого замечательного плеера, который имеет возможность выводить звук через OSS, aRts и ESD, а также самостоятельную функцию recode для тегов (патч by Sergei V. Znamenskii ([email protected])). В него добавлены следущие ключи:
--artsout - Вывод через aRts сервер
--esdout - Вывод через ESD сервер
--win - из CP1251 в KOI8-R
--dos - из CP866 в KOI8-R
--koi - из KOI8-R в ???
Вывод через OSS по умолчанию...
Ну и на последок, по теме с MP3, предлагаю скачать lame-3.93-1.i386.rpm и lame-devel-3.93-1.i386.rpm пакеты знаменитого MP3 энкодера - LAME.... Исходники можете взять тут (lame-3.93-1.src.rpm).
Misc
Для разнообразия выложил еще парочку интересных пакетов, это NEC'овский socks5 сервер-клиент socks5-1.0r11-1.src.rpm, который стал в последнее время не доступным и деволоперскую версию IRC клиента Xchat, который написан на GTK-2.0 - xchat-1.9.3-0xc.src.rpm в котором есть нужные фиксы для сборки в RH-8.0