18-10-2003, 00:00.

Составлено по материалам RU.LINUX (и не только). (c)Составление - Станислав Корсуков, FidoNet 2:5030/532. (s)Поддержание - Михаил Браво, mailto:mbravo@kronverk.spb.su" name="mbravo@kronverk.spb.su, до сентября 1999 (s)Поддержание - Aлександр Канавин, mailto:ak@sensi.org" name="ak@sensi.org Приветствуется выкладывание данного FAQ на ftp/www/etc и прочее распространение. Пожалуйста, не забывайте давать ссылку на оригинал. Коммерческое использование возможно лишь с письменного разрешения. (Я рассчитываю на процент :-)


18-10-2003, 00:00.

Hовые вопросы и вопросы с обновленными ответами отмечены *


18-10-2003, 00:00.

Дайте составителю вопрос и ответ, пригодные к включению в FAQ методом copy-and-paste. (Alex Kanavin)


18-10-2003, 00:00.

Дополнения к FAQ в виде пар вопрос-ответ принимаются на mailto:ak@sensi.org" name="ak@sensi.org


18-10-2003, 00:00.

Внимание: ищутся желающие написать следующие ответы для FAQ.

SSL (openssl). VPN. Kerberos.

обзор сред, методов и идеологий разработки программ Годятся и интернетовские ссылки на статьи, описывающие эти вещи - но они должны быть на русском языке и технически грамотными. Ищу человека, готового перевести и поддерживать раздел "Русификация" на английском языке.


18-10-2003, 00:00.

Этот FAQ list доступен по следующим URL: sensi.org/~ak/linuxfaq/" name="http://www.sensi.org/~ak/linuxfaq/


18-10-2003, 00:00.

Прежде всего: другую операционку, в особенности win-95/98 или dos, очень желательно ставить первой, а значит, начальное разбиение диска проводить ее средствами. Дело в том, что в некоторых случаях (в каких - выяснить пока не удалось) этим ОС или их инсталляторам не нравится MBR, созданный средствами Linux. Затем вам нужно решить: что вы будете использовать в качестве основного загрузчика ? Если NT Loader, то этот вариант подробно расписан в HOWTO/mini/Linux+NT-loader. Если LILO, то нужно учесть следующие вещи:

LILO может быть в MBR или в начале активного Primary linux раздела, тогда в MBR должно быть нечто, способное его загрузить, например стандартный загрузчик MS-DOS (записывается путем fdisk /mbr).

Как бы вы ни ставили Windows 9?, до или после линуха, помните что ее инсталлятор независимо от вашего желания записывает в MBR свой стандартный загрузчик, который умеет только передавать управление на первый сектор активного раздела. В таблице разделов инсталлятор ставит признак активности на свой раздел. Что делать после этого - смотрите в разделе "Прочее". Установщики Windows NT и 2000 загрузчик из MBR не трогают, но Windows NT трогает MBR при первом запуске Disk Administrator - он спрашивает, можно ли записать Disk signature (это нечто 32-битное вроде контрольной суммы), пишется оно в MBR и по слухам прибивает LILO.

NT Loader должен обязательно находиться на hda1 или hda2, причем, на fat16 разделе.

Если вы хотите грузить Win 9? непосредственно из lilo, а не из NT Loader, то добавьте в lilo.conf:
    other = /boot/bootsect.dos label = win
bootsect.dos берется из корневого каталога того диска, на котором стоит NT Loader
Методы решения проблем и варианты с другими операционками/загрузчиками подробно расписаны в /usr/doc/HOWTO/[mini/]Linux+{другая ОС} (Alexander Pevzner, 2:5020/59.9) IMHO, в сомнительных и сложных случаях лучше вообще сначала раздать каждой операционке по партиции, причем начиная не с линуха и доверяя откусывание места на диске собственному fdisk-у каждой ОС. А потом уже продолжать инсталляцию.


18-10-2003, 00:00.

Hужно начать с того, что задуматься каких функций из DN, FAR, etc - Вам не хватает в MC. После этого внимательно изучить все, что mc рассказывает по клавише F1 (документация идущая с ним довольно скудная), обычно это решает большинство вопросов. Hе нужно искать функции типа CD-проигрывателя, запуска нескольких копий редактора в разных окнах - таких возможностей в MC нет. В DN эти функции введены для преодоления недостатков операционной системы (однозадачность, однопользовательность, отсутствие нужных утилит). Линукс таких недостатков лишен и поэтому такими вещами занимаются внешние программы, а MC это просто файловый менеджер. Строго говоря, MC и ему подобные программы в UnixLinux вообще не нужны. Все их функции обычно решаются гораздо быстрее с помощью shell (zsh, tcsh, bash, etc). Конечно для этого потребуется достаточно подробно изучить документацию к Вашему любимому shell и приобрести некоторые навыки работы с ним, но результат себя оправдает. В защиту MC часто говорят, что в shell не удобно работать с архивами - возможно это действительно так, а возможно говорящие это, никогда не видели AVFS (inf.bme.hu/~mszeredi/avfs/) В UnixLinux есть и аналоги MC - X Northern Captain (xnc.dubna.su), deco (ftp://ftp.cronyx.ru/cronyx/), а также его модификация от "Nickolay N. Parfenov" mailto:nik@eastsoft.saratov.su (usrsrc.chat.ru), VFU (biscom.net/~cade/vfu), ytree (han.de/~werner/). Если же Вы и после этого убеждены в необходимости DN, FAR под Linux - портируйте если можете. Hо помощников в этом будет найти сложно, те кто могут - не захотят это делать по выше перечисленным причинам, а те кто захочет скорее всего не смогут. (Viktor Krapivin 2:450/102.1 и Dmitry Chernyak 2:503/983.998) В самом начале 90х был такой теpмин - "интегpатоp". Вот DN им и является (почти). А полуночный командиp - нет. Точно так же, как XEmacs пpетендует на это же "звание", а вот vim - нет 8-) Гpань тонка, но она есть. И дело не в набоpе всякого баpахла. "Интеграторы" имели смысл в однозадачном ДОСе, отсутствие необходимости выходить из редактора, чтобы потаскать файлы было их основным достоинством. В многозадачном юниксе "интегрирование" может быть с успехом заменено использованием нескольких консолей, телнетов, команд bg/fg, программы screen и, наконец, X-Window. Кроме того, мало кому нужен такой "интегрированный редактор", который не дотягивает до уровня vi. А он никогда до него не дотянет, просто потому, что vi - _редактор_, а "редактор" в DN - просто заплатка, которой времени уделено не больше, чем всем остальным компонентам. Такова цена интегрирования.


18-10-2003, 00:00.

Borland Kylix borland.com/kylix/ mailto:vitus@communiware.ru" name="Victor Wagner А как же. xwpe (очень похожа именно на Turbo C++), rhide, motor, KDevelop, Glade, Source Navigator Hо все они до жути неудобные. По той простой причине, что ни один квалифицированный программист с ними не связывается. Это софт, написанный чайниками и для чайников. Потому что те, кто более-менее разбирается в идеологии *nix прекрасно понимают, что практически любой проект надо разрабоатывать не на одном языке, а на нескольких разного уровня (критические по скорости части - на C, интерфейс - на perl/tcl/python/slang, работу с данными на SQL и так далее). Между прочим, большинство из выше упомянутых оболочек расчитаны на работу с несколькими языками. Hо все равно они хуже, чем обыкновенный мощный редактор. Благо, все мощные редакторы под эхотаг умеют вызывать внешние программы, и анализировать их выдачу. Поэтому рекомендуется освоить один из двух наиболее распространенных редакторов - vim или emacs, и пользоваться для разработки им. Благо такие вещи как подсветка синтаксиса, вызов make прямо из редактора, и позиционирование курсора на строку, про которую компилятор выругался, в них обоих есть. (от Alex Kanavin: намного более подробно все это объясняется в книжке The Art of Unix Programming, которую я рекомендую прочесть всем, кто начинает программировать под Unix - она очень хорошо помогает осознать идеологию Unix и избавиться от предрассудков, свойственных Windows-программистам. Книжка лежит здесь: tuxedo.org/~esr/writings/taoup/


18-10-2003, 00:00.

Программирования "под Linux" не бывает. Бывает программировние под *nix. И ему посвящена эха news:fido7.ru.unix.prog.


18-10-2003, 00:00.

Как заметил Victor Wagner, написание писем в эху есть самовыражение, написание писем нетмейлом есть техническая поддержка. Первое бесплатно, второе платно. Подумайте об этом.


18-10-2003, 00:00.

Обратитесь в RU.LINUX.CHAINIK. Правда, при этом есть риск получить совсем чайниковый ответ.


18-10-2003, 00:00.

Значительная часть этого раздела написана mailto:alec@sensi.org" name="Alexander Voropay.


18-10-2003, 00:00.

Проблему русификации можно разделить на несколько частей :

русификацию консоли

установку системной (libc) locale

русификацию системы X Window - шрифты и клавиатура

включение поддержки русского в конкретных программах

печать Все эти части настраиваются по-отдельности. Существует Cyrillc-HOWTO ibiblio.org/pub/Linux/docs/HOWTO/unmaintained/Cyrillic-HOWTO, однако он довольно долго не обновлялся и больше не поддерживается, поэтому отнеситесь к нему критически (Last version : v4.0, 23 January 1998), перевод: inp.nsk.su/~baldin/Cyrillic-HOWTO-russian-old/Cyrillic-HOWTO.html. Евгений Балдин создал новую версию Cyrillic-HOWTO на русском (версия не имеет английского перевода и не включена в официальную базу HOWTO). Доступна здесь : inp.nsk.su/~baldin Лучше всего сперва искать решение проблемы здесь и лишь потом - в Cyrillic-HOWTO (англоязычном).


18-10-2003, 00:00.

В системе Linux существуют два конкурирующих пакета управления шрифтами и клавиатурой : kbd и consoletools. ftp://ftp.win.tue.nl/pub/linux/utils/kbd/ или ftp://ftp.kernel.org/pub/linux/utils/kbd/ lct.sourceforge.net В разных дистрибутивах применяются или один, или другой. Например, в Red Hat 4.х и 5.x для русификации консоли применялся пакет kbd. Однако в Red Hat 6.x и выше применяется уже другой пакет - consoletools. Существует Keyboard-and-Console-HOWTO, автор этого HOWTO является также автором пакета kbd, поэтому естественно, всех склоняет к использованию kbd. ;-) linuxdoc.org/HOWTO/Keyboard-and-Console-HOWTO.html На "низком уровне" для русификации консоли достаточно выполнить следующие команды (пакет kbd):
    $ setfont Cyr_a8x16 $ mapscrn koi2alt $ echo -ne "33(K" $ loadkeys ru1
Если используется пакет console-tools:
    $ consolechars -f UniCyr_8x16 -m koi8-r $ echo -ne "33(K" $ loadkeys ru1
См. man на соответствующие команды и -man console_codes-. Описание, что есть что, у console-tools в /usr/doc/console-tools*, довольно внятное. NB! К сожалению, в пакете console-tools некоторые русские фонты не содержат UNICODE screen-font map (SFM) и в таком виде попадают во многие дистрибутивы. Исправленные фонты живут в пакете console-tools-cyrillic: ftp://ftp.ice.ru/pub/fonts/linux/ Как правило, настройка шрифтов и клавиатуры скрыта среди стартовых скриптов, а ключевые управляющие параметры вынесены в отдельные файлики. Иногда существуют даже специальные программы настройки. "Идеологически правильно" не нарушать системную архитектуру дистрибутива, а всего лишь поменять настройки в этих файликах. К сожалению, в Linux только один загружаемый фонт на все виртуальные консоли. Если вы хотите видеть русские буквы и рамки (например в mc) на консоли одновременно, используйте только TERM=linux . У вас будут проблемы при работе консоли в CP-866 из-за того, что некоторые русские буквы в этой кодировке совпадают со "старшими" управляющими кодами C1, например буква "Ы" 0x9B совпадает со старшим ESC (CSI). Работайте в KOI8-R.


18-10-2003, 00:00.

Речь идет о настройке системной locale. Проверить установки можно, просто сказав locale:
    $ locale LANG=ru_RU.KOI8-R LC_CTYPE="ru_RU.KOI8-R" LC_NUMERIC="ru_RU.KOI8-R" LC_TIME="ru_RU.KOI8-R" LC_COLLATE="ru_RU.KOI8-R" LC_MONETARY="ru_RU.KOI8-R" LC_MESSAGES="ru_RU.KOI8-R" LC_ALL= $
Если результат именно такой, значит настроена русская locale (ru_RU) в кодировке KOI8-R. Проверить можно командами -cal- или -date- - даты должны быть на русском. На самом деле, для настройки locale достаточно всего лишь установить переменную окружения LANG= из стартовых скриптов (например /etc/profile) или руками.
    $ export LANG=ru_RU.KOI8-R
В Red Hat-based дистрибутивах это делается путем редактирования файла /etc/sysconfig/i18n где, кроме прочего, должна быть строчка
    LANG=ru_RU.KOI8-R


18-10-2003, 00:00.

Прежде всего - подробная дока о locale имеется на sensi.org/~alec/locale. Обращайтесь туда, если вам нужны нестандартные варианты (например, отключение русскоязычного интерфейса с сохранением правильной сортировки и т.д.) Система X-Window и библиотеки Xlib и Xt имеют собственные механизмы локализации (XLC_LOCALE) которые являются "надстройкой" над системной locale. Подробности: {X11Root}/doc/i18n (в RedHat: /usr/share/Xfree86-doc/i18n). Документация в .PS tsu.ru/~pascal/x_locale/. Хотя в принципе допустимо задавать короткое именование, вроде LANG=ru_RU или даже LANG=ru, лучше использовать _полное_ имя : LANG=ru_RU.KOI8-R . Совершенно недопустимо задавать LANG=ru_SU, такой страны больше нет :-) К сожалению, не все дистрибутивы "от рождения" позволяют использовать ru_RU.KOI8-R . Воспользуйтесь -locale -a- для получения списка допустимых значений. Если в списке нет значения ru_RU.KOI8-R, его нужно добавить, а то LANG= будет указывать "в пустоту" :
    $ localedef -c -i ru_RU -f KOI8-R ru_RU.KOI8-R Computing table size for character classes might take a while... done Computing table size for collation information might take a while... done $ $ cd /usr/lib/locale $ mv ru_RU.koi8r ru_RU.KOI8-R
(в старых версиях - /usr/share/locale) NB! Утилита localedef фомирует "сжатое" (mangled) имя кодировки, так что имя превращается в "ru_RU.koi8r". Это приводит в замешательство некоторые программы. Но к счастью, все же можно установить полное имя LANG="ru_RU.KOI8-R" и благодаря mangling-у все будет работать и программы будут счастливы. Еще один вариант -- переименовать каталог. Некоторые дистрибутивы неправильно включают
    LANG=ru LC_ALL=ru_RU.KOI8-R
Это НЕПРАВИЛЬНО. Лучше не устанавливать переменную окружения LC_ALL вообще (достаточно полного LANG=, а все переменные LC_xxxx "унаследуются" от него). Подробнее смотрите на sensi.org/~alec/locale/ в главе "Как включить..."


18-10-2003, 00:00.

Нужно определить переменные окружения :
    LANGUAGE=en_US LC_MESSAGES=en_US
В RedHat эти строки можно вписать прямо в /etc/sysconfig/i18n .

Если Вы обнаружите в опубликованных документах ошибки, опечатки, несоответствия и неточности - сообщите о них.