Главная страница


ru.linux

 
 - RU.LINUX ---------------------------------------------------------------------
 From : FAQ Robot                            2:5030/155.21  11 Apr 2001  02:00:17
 To : All
 Subject : [part 2] FAQ - вторая часть из четырех
 -------------------------------------------------------------------------------- 
 
 .RFC-X-Complaints-To: news@cave.localdomain
 .RFC-NNTP-Posting-Date: 10 Apr 2001 22:00:17 GMT
  * Continuation 1 of a split message *
 
      русифицировать не надо. Брать его желательно у производителя вашего
      дистрибутива.  (при настроенной локали, 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.26.  Как мне заставить приложение для иксов использовать шрифты с
   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 таким способом описана чуть ниже.
 
   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.27.  Почему в 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.28.  * Как русифицировать KDE?
 
   <http://www.kde.org/international/russia/localization.html>
 
   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/>).  Кроме полных исходных
   текстов ядра там же можно найти патчи - значительно меньшие по размеру
   файлы, позволяющие превратить исходники версии 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
   от _другой_ (обычно, более старой) версии ядра, и нужно просто
   получить точно такой же для текущей (возможно, ответив на пару
   вопросов о тех фичах, которых в старом не было), не отвечая заново на
   все три сотни вопросов.  Затем выдайте make menuconfig и исправьте те
   опции, ради которых вы собственно и решили пересобрать ядро.
 
   Если вы используете Red Hat и хотите воспользоваться теми .config, c
   помощью которых были собраны ядра в этом дистрибутиве, то возьмите их
   из kernel-sources-*.i386.rpm/usr/src/linux/configs/
 
   Затем:
 
   make dep
   make clean
   make zImage (make bzImage для ядер версий > 2.2)
   make modules
   Если у вас раньше стояла эта же версия ядра, то удалите старые модули
   от этого ядра (/lib/modules/версия).
 
   make modules_install
   /usr/src/linux/arch/i386/boot/(b)zImage - и есть свежесобранное ядро.
   Его теперь можно поинсталировать на место старого. Хотя лучше сначала
   попробовать, работает ли оно. Hужно добавить в lilo.conf еще один
   выбор - например, linux.test, - который берет ядро прямо из
   /usr/src/linux/arch/i386/boot/zImage.
 
   (Valentin Nechayev <mailto:nnlx@nn.kiev.ua>)
 
   Я пpедлагаю дpугой метод - пpовеpен только для Red Hat'а.
 
   cd /usr/src/linux-нужная_веpсия
   vi Makefile и заменить extraversion на свой - напpимеp,
   EXTRAVERSION = -vasya1
   после этого все то же самое, но
 
   1. make modules_install поставится в свой отдельный каталог
 
   2. установка (пpавильная!) ядpа в /boot сделается сама чеpез make
      install
 
   3. это работает только с ядрами 2.2.x (у 2.0 просто нет параметра
 
  * Message split, to be continued *
 --- ifmail v.2.14.os-p7
  * Origin: Space Design, St.Petersburg (2:5030/155.21@fidonet)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 [part 2] FAQ - вторая часть из четырех   FAQ Robot   11 Apr 2001 02:00:17 
Архивное /ru.linux/17417d15cd002.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional