|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : FAQ Robot 2:5030/155.21 22 Feb 2002 23:34:16 To : All Subject : [part 2] FAQ - вторая часть из четырех --------------------------------------------------------------------------------
.RFC-X-Complaints-To: news@cave.localdomain
.RFC-NNTP-Posting-Date: Fri, 22 Feb 2002 19:34:16 +0000 (UTC)
* Continuation 1 of a split message *
3.28. Как русифицировать Netscape {4|3}/научить его понимать
win-кодировку ?
ч Возьмите Netscape 4.06 и выше, собранный под glibc2, его
русифицировать не надо. Брать его желательно у производителя вашего
дистрибутива. (при настроенной локали, xkb и шрифтах,
установленных согласно ответу на вопрос 0.13)
Еще, netscape имеет мерзкую привычку запоминать шрифты в
~/.netscape/preferences.js (и, кажется, еще где-то). И если он
вовремя не увидел какой-то шрифт, то он может его вообще никогда не
увидеть. Иногда помогает только полное изничтожение директории
~/.netscape
ч для тех, кто не испытывает любви к падучему тормозному монстру:
netscape 3.xx особой русификации тоже не требуют - достаточно
просто шрифтов в кодировке koi8-r, но с win-кодировкой будут,
естественно, проблемы. Единственная пакость - управляющие элементы
форм (кнопки/селекторы и т.д.) выводятся в latin1. Лечится
echo 'Netscape*documentFonts.charset*koi8-r: iso-8859-1' | xrdb -merge
после чего koi8-шрифты появляются в списке шрифтов для "Western".
(отныне ваша кодировка по умолчанию именно она, а про koi забудьте.)
Netscape 3.x берется с <ftp://archive.netscape.com>
Login:archive
Password:oldies
dir там не работает, качайте /archive/index.html
ч Принципиально не русифицируемые вещи:
у обоих нетскейпов (3 и 4) будут трудности со страницами в
кодировке, не соответствующей 'meta content-type' в заголовке
(традиционная проблема серверов с выбором кодировок и авторов,
пользующихся тулзами от MS). Hе лечится ничем, кроме хака
бинарников.
Что еще хуже - если в документе явно указан шрифт, и такой шрифт,
не дай бог, у вас имеется (естественно, не русифицированный), то им
все и будет нарисовано. Решений два: или не иметь в системе
не-русифицированных шрифтов вовсе, или отключить в нетскейпе
автоматическую загрузку изображений. (при этом "заодно", как ни
странно, отключится и показ шрифтов, указанных в документе. Hажав
Alt-I, вы получите возможность посмотреть картинки. Hадеюсь, текст
к этому моменту вы уже запомнили ;)
3.29. Как мне заставить приложение для иксов использовать шрифты с
koi8-r, а не iso8859-1 ?
a) Постарайтесь выяснить, откуда приложение берет имя фонта. Чаще
всего приложение хранит имена используемых фонтов в "базе ресурсов": в
персональной /.Xdefaults или системной /usr/X11R6/lib/X11/app-
defaults/ базе. Имена используемых фонтов хранится в форме XLFD, т.е.
там можно применять "*". Hапример:
Netscape*fontList: -*-helvetica-bold-r-*-*-*-120-*-*-*-*-koi8-r
Посмотреть "ресурсы" приложения можно утилитой appres :
$ appres XTerm
В man практически на любую X программу имеется секция RESOURCES.
Если программа написана с применением какого-либо "Toolkit"-а : GTK,
Qt, Motif, e.t.c., чаще всего достаточно русифицировать Toolkit.
Русификация GNOME/Gtk и Qt таким способом описана чуть ниже.
b) С помощью ключа -fn font или -font font. Этот ключ обрабатывается
в XLIB и он скорее всего будет работать в любой X программе.
c) Метод грубого хака. Hужно взять русские шрифты с
<ftp://ftp.relcom.ru/pub/x11/cyrillic/fonts/>, там есть шрифты
adobe-*-koi8-1 (c fonts.alias, делающим из них -iso8859-1), но реально
содержащие кириллицу в koi8-r в старшей половине.
При этом шрифты с теми же именами и "настоящими" символами iso8859-1
становятся недоступны. Стандартных шрифтов из XFree86-cyrillic-fonts
недостаточно. Кроме того, пути к русским шрифтам в конфиге иксов или
фонт-сервера должны быть впереди всех прочих.
Однако лучше не использовать этот метод, а написать автору программы
(или прислать ему patch ;) для вынесения имени фонта в "ресурс".
3.30. Почему в Gnome или программах, использующих GTK+, кое-где
русский текст выводится латиницей? Где прописываются используемые ими
шрифты?
Если gtk не находит нужных шрифтов (в частности, нужного размера), он
режет 8-й бит. Шрифты задаются в /etc/gtk/gtkrc.$LANG. Поэтому нужно
создать файл gtkrc.ru или поправить существующий. Внутри должно быть
примерно следующее (названия шрифтов, размеры и прочие атрибуты можно
исправить по вкусу, но эти шрифты должны содержать кириллицу в
koi8-r):
style "gtk-default-ru" {
fontset = "-cronyx-helvetica-medium-r-normal--*-*-*-*-*-*-koi8-r,\
-cronyx-courier-medium-r-normal--*-*-*-*-*-*-koi8-r,\
-cronyx-fixed-medium-r-normal--*-*-*-*-*-*-koi8-r,\
-cronyx-times-medium-r-normal--*-*-*-*-*-*-koi8-r"
}
class "GtkWidget" style "gtk-default-ru"
И скопировать этот файл в 'gtkrc.ru_RU.KOI8-R' или сделать symlink:
$ cd /etc/gtk/
$ ln -s gtkrc.ru gtkrc.ru_RU.KOI8-R
Подробности см. <http://www.gtk.org/tutorial/gtk_tut-21.html>, а
также <http://www.linux.org.ru/gnome/>
3.31. * Qt и русскоязычные программы
<http://kde.ru/docs.php?action=index>
3.32. Как русифицировать KDE?
<http://www.kde.org/international/russia/localization.html>
3.33. * Что сделать, чтобы было можно работать в юникодной локали
(ru_RU.UTF-8) в консоли и в иксах?
Есть микро-HOWTO вот здесь: <http://lists.debian.org/debian-
russian/2001/debian-russian-200111/msg00203.html>
3.34. Кто занимается переводом документации и пользовательских
интерфейсов на русский язык?
Russian Linux Documentation Project: <http://rldp.linux.ru.net>
Русская команда перевода GNU: <http://www.gnu.org.ru>, <http://www-
ru.gnu.org.ru/>,
<http://www2.iro.umontreal.ca/~pinard/po/registry.cgi?team=ru>
KDE: <http://www.kde.org/international/russia/>
GNOME: <http://www.linux.org.ru/gnome/>
4. Системное администрирование
4.1. А какие бывают версии ядра Линукса ? А почему при
апгрейде/компиляции ядра у меня #$@#$#@%@#$%@#$? А что такое
девелопмент-ядра и вообще, почему говорят, что новая версия ядра -
2.2.x вышла вчера, когда я месяц назад скачал 2.3.какую-то ? Каким
ядром лучше пользоваться ?
(Alex Kanavin, адрес выше, Alexey Mahotkin <mailto:alexm@hsys.msk.ru>)
Hачнем с официальной серии ядер, выпускаемых непосредственно Линусом
Торвальдсом. Прежде всего, надо разобраться, что такое стабильные и
нестабильные ядра (stable и development) и как они нумеруются. Пусть
имеется ядро версии a.b.c
ч a - это основной номер версии. Меняется он раз в несколько лет, как
правило, когда нестабильная серия с очень существенными изменениями
становится стабильной.
ч b - это patchlevel. Именно он определяет, является ли данное ядро
стабильным или нет. Если он четный - ядро стабильное, если нечетный
- нестабильное. Числа a и b в виде a.b называется серией ядер.
ч с - это sublevel. Он определяет номер ядра в серии.
Официальные ядра в виде исходных текстов можно скачать с
<ftp://ftp.kernel.org> и его многочисленных мирроров (российский:
<ftp://ftp.ru.kernel.org>, но им лучше не пользоваться, так как он не
миррорит .bz2, если вам нужен именно российский миррор, то попробуйте
<ftp://ftp.rmt.ru/>, <ftp://ftp.chg.ru/Mirrors/ftp.kernel.org/> или
<http://ftp.chg.ru/Mirrors/ftp.kernel.org/>).
[пользуясь случаем, хочу передать сообщение для <ftp://ftp.chg.ru> ,
<ftp://ftp.ru.kernel.olg> и других официальных россйских мирроров:
если уж вы миррорите, например, redhat, то делайте это целиком и
каждый день, а не раз в месяц кусочками. А то апдейты у вас
появляются через месяц после того, как они были выложены на
ftp.redhat.com, да и то - только к последней версии. Hу и кому нужен
такой "официальный" mirror? Взялись быть зеркалом - делайте это как
следует, не можете - откажитесь.]
Кроме полных исходных текстов ядра там же можно найти патчи -
значительно меньшие по размеру файлы, позволяющие превратить исходники
версии a.b.c в исходники версии a.b.c+1 c помощью команды patch. Эти
же патчи ходят по файлэхе usyslnx.
Стабильные ядра предназначены для широкого использования и проблемы
при их использовании или компиляции встречаются нечасто. Как правило в
стабильных сериях от версии к версии только исправляются ошибки и
добавляются драйвера, не требующие изменений в самом ядре и хорошо
себя зарекомендовавшие. Стабильные ядра можно безбоязненно обновлять,
не трогая прочий софт - если вы остаетесь в рамках одной серии,
проблем возникнуть не должно. (По крайней мере в теории, на практике,
возможно, придется вернуться к старому ядру и подождать выхода еще
одной версии.) Hовые версии выходят нечасто - примерно раз в месяц, и
реже.
Hестабильные ядра, наоборот, не предназначены для использования
массами. Это полигон для тестирования множества разнообразных
возможностей, только появившихся и еще не готовых для использования
никем, кроме их собственных разработчиков и людей, чье хобби -
забавляться с нестабильными ядрами. Здесь от версии к версии может
меняться очень многое и правильную работу никто не обещает (впрочем,
то же относится и к стабильным ядрам, но в менее "жестком" смысле).
При их использовании нужно быть готовым ко всему. Прежде всего к
тому, что ядро просто не скомпилируется. Потом оно может не
загрузиться, зависать, портить файловую систему и вообще всячески
глючить. Кроме того, может начать глючить софт, взаимодействующий с
ядром напрямую. Hестабильные ядра выходят гораздо чаще стабильных -
иногда несколько новых ядер в неделю.
Как нестабильная серия становится стабильной и наоборот ? Очень
просто: в какой-то момент Linus Torvalds объявляет т.н. feature
freeze, после чего к включению в нестабильное ядро принимаются только
исправления ошибок (bugfix). Через некоторое время очередной версии
присваивается номер не a.b.c+1, а a.b+1.0 или a+1.0.0 - так появляется
новая стабильная серия, вокруг чего масс-медиа устраивают большую
шумиху :) Еще через некоторое время выпуск версий в предыдущей
стабильной серии прекращается и происходит т.н. fork или разветвление
- одновременно с очередным стабильным ядром появляется нестабильное,
отличающееся от первого только номером версии.
Заметьте, что термины "стабильный" и "нестабильный" в чем-то условны.
Понятно, что "нестабильное" ядро 2.3.128 за несколько минут до его
превращения в стабильное ядро 2.4.0 по определению стабильно, а
стабильное ядро 2.2.xxx, в котором обнаружена фатальная ошибка
распределения памяти -- опять же по определению нестабильно. В общем,
сами понимать должны, не маленькие.
В силу открытости процесса разработки ядра Linux существует несколько
побочных ветвей развития. Одной из основных таких ветвей являются
ядра серии -ac, которые выпускает Алан Кокс -- один из основных
разработчиков Линукса. Во-первых, серия -ac служит своеобразным
буфером, в котором тестируются некоторые новые драйвера, возможности,
etc. перед тем, как этот, уже оттестированный, драйвер будет отправлен
Линусу. Во-вторых, в ядрах -ac имеется определенный набор вещей,
которые не устраивают Линуса, но устраивают Алана и к тому же
достаточно популярны.
Существуют также еще несколько менее важных (хотя ваше мнение по этому
вопросу может отличаться) побочных веток: например, International
Kernel Patch с поддержкой сильной криптографии, devfs-patch с
поддержкой файловой системы /dev, раньше была отдельная поддержка
ISDN, ну и так далее и тому подобное). Кроме того, многие
производители дистрибутивов распространяют ядро с определенными
патчами, которые они считают необходимыми и которые лучше вписываются
в инфраструктуру дистрибутива).
Каким же ядром все-таки пользоваться? Простейший ответ: тем, которое
входит в используемый вами дистрибутив. Этот ответ приемлем для
большинства пользователей Линукса. Если же вы оказались в ситуации,
когда, например, нужное вам железо поддерживается только в каком-то
патче, который не вошел ни в одну из основных ветвей, значит, вам
придется брать исходники оригинального ядра, патчи, которые
использовали создатели дистрибутива, патчи, которые необходимы лично
вам, прикладывать все эти патчи друг к другу, компилировать и
устанавливать ядро вручную (ну, или создать свой собственный пакет на
основе дистрибутивного). Вам также придется отслеживать выход новых
версий патча, контактировать с его автором, сражаться с его глюками и
прилагать всяческие усилия к тому, чтобы оный патч, наконец, приобрел
официальный статус.
Возможны и другие варианты, при которых может потребоваться
пересборка, наиболее очевидный - вы столкнулись с ошибкой в ядре,
которая исправлена в более свежей версии. В этом случае стоит сперва
выяснить, не выложил ли производитель вашего дистрибутива исправленное
ядро на свой ftp сервер, в то же место, где лежат прочие обновления.
Такое ядро доступно в форме пакета (rpm или deb), пригодного к
непосредственной установке пакетным менеджером, либо в дистрибутиве
имеется система автоматического обновления пакетов.
Если же вам просто хочется поставить более свежую версию ядра или
пересобрать ядро без всякой причины ("убрать лишние драйвера",
"изучить процесс сборки" и т.п. причинами не считаются ;-),
рекомендуется серьезно подумать, прежде чем приступать к действиям. Hе
стоит чинить то, что не сломано. Объем трафика ru.linux, посвященный
проблемам при пересборке ядра весьма велик и не надо еще больше его
увеличивать :-). Однако обновления ядра от производителя все-таки
устанавливать рекомендуется в любом случае :-)
Итак, вы решили самостоятельно скомпилировать/установить ядро. Если
оно development - очень рекомендуется подписаться на список рассылки
linux-kernel. В любом случае желательно просматривать глазами патчи
перед установкой (особенно на предмет добавления новых опций и
изменений в каталоге Documentation). Еще крайне рекомендуется
оставлять старое ядро и делать в lilo отдельный target типа oldlinux,
на него показывающий. При смене стабильной серии на более новую
стабильную надо прочесть Documentation/Changes - как минимум. А лучше
- все из этого каталога, что относится к вашему железу и софту.
4.2. Как произвести компиляцию ядра? Это заложено в установках
линукса или здесь есть какие хитрости?
cd /usr/src/linux
Опции, с которыми компилируется ядро (тип процессора, драйверы которые
нужно включить (возможно в виде модулей) и еще сотни других вещей),
задаются в файле /usr/src/linux/.config. Так вот, желательно не
создавать его самому с нуля (особенно, если вы собираете ядро
первый/второй/третий раз в жизни или наложили патч на исходники из
которых уже что-то компилировали), а взять за основу .config с которым
было собрано старое, работающее ядро. При этом вам прежде всего надо
выдать команду make oldconfig - она используется, когда есть .config
от _другой_ (обычно, более старой) версии ядра, и нужно просто
получить точно такой же для текущей (возможно, ответив на пару
вопросов о тех фичах, которых в старом не было), не отвечая заново на
* Message split, to be continued *
--- ifmail v.2.14.os-p7
* Origin: Space Design, St.Petersburg (2:5030/155.21@fidonet)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/17417fdb12276.html, оценка из 5, голосов 10
|