Переход с RedHat-7.x на RedHat-8.0.
Наверное многие из вас стали
обладателями новой версии 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, однако мы в России господа...:)))
Качаем 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...
Качаем 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 или пакет с исходниками mc-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 и наслаждаемся нормальной работе прекрасного консольного файл менеджера.
Все что было описано выше, касалось только консоли, однако следует сделать обновления для 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, который позволял делать перекодировку русских имен файлов в
транслит, это требовалось для 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, однако все эти
лицензионные разборки, не должны влиять на нас с вами, поэтому я
сделал несколько пакетов дополнения с плагинами для 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
(znamensk@rustex.botik.ru)). В него добавлены следущие ключи:
--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).
Для разнообразия выложил еще парочку интересных пакетов, это NEC'овский socks5 сервер-клиент socks5-1.0r11-1.src.rpm, который стал в последнее время не доступным и деволоперскую версию IRC клиента Xchat, который написан на GTK-2.0 - xchat-1.9.3-0xc.src.rpm в котором есть нужные фиксы для сборки в RH-8.0
20.11.2002 Moscow McMCC (mcmcc@mail.ru)
26.11.2002 Moscow McMCC (mcmcc@mail.ru)
28.11.2002 Moscow McMCC (mcmcc@mail.ru)