На главную | Поиск
Вы находитесь в Хранилище файлов Белорусской цифровой библиотеки

FAQ конференции FIDO.RU.Linux


7 Jul 2000. Оригинал этого документа расположен на #www.sensi.org/~ak/linuxfaq/rulinux.faq.html

RU.LINUX Frequently Asked Questions

Alexander Kanavin, ak@sensi.org, 2:5030/155.21

Редакция от 02.07.2000


Сборник часто задаваемых вопросов (с ответами), связанных с ОС Linux.

1. Преамбула

2. Установка и изучение Linux

3. Русификация

4. Системное и сетевое администрирование

5. X Window

6. Прочее


1. Преамбула

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

Этот FAQ list доступен:

для Fidonet FREQ:

2:5030/902 по алиасу LINUXFAQ (по нодлистовому времени)
2:5020/1255 по алиасу NEWFAQ (c 21:00 до ZMH, CM на выходных)
2:5069/11 CM алиас LINUXFAQ
2:5061/108 алиас LINUXFAQ (с 00:00 до 06:00)
2:5045/71   freq alias: LINUXFAQ   worktime: CM
2:450/176.15 freq alias: LINUXFAQ (work time: 21:30-6:30).
Для появления в этом списке необходимо регулярно выкладывать у себя свежую версию FAQ. Пишите мне, если вы получили старье с одного из этих узлов.

а также доступен по FTP или HTTP по следующим URL: #www.sensi.org/~ak/linuxfaq/

Дополнения к FAQ в виде пар вопрос-ответ принимаются на 2:5030/155.21 и ak@sensi.org

Составлено по материалам RU.LINUX (и не только).

(c)Составление - Станислав Корсуков, FidoNet 2:5030/532.

(s)Поддержание - Михаил Браво, mbravo@kronverk.spb.su, до сентября 1999

(s)Поддержание - Aлександр Канавин, FidoNet 2:5030/155.21, ak@sensi.org

Приветствуется выкладывание данного FAQ на ftp/www/etc и прочее распространение. Коммерческое использование возможно лишь с письменного разрешения. (Я рассчитываю на процент :-)

Если вы не нашли ответа на свой вопрос - почитайте руководство к своему дистрибутиву (вообще говоря, к нему надо обращаться прежде всего), faq's из дистрибутива (обычно /usr/doc/faq), HOWTOs и т.п. Попробуйте сделать запрос на #www.deja.com/usenet/. (к сожалению, он воспринимает только латиницу.) Весьма вероятно, что ваша проблема уже обсуждалась - если это так, то вы получите более быстрый и полный ответ, вовсе не написав письмо в конференцию.

Если у вас возникает несколько разных вопросов, лучше напишите одно письмо подлиннее, чем десять однострочных. Если вы задаете вопрос, связанный с вашей конкретной системой, всегда включайте как можно больше деталей - какой дистрибутив, какая версия дистрибутива, какая версия ядра, с какими именно железками у вас проблемы (опять же версии, надписи на микросхемах), и так далее.


2. Установка и изучение Linux

2.1 Я решил поставить Linux...

Прежде всего Вам нужно ответить на один вопрос: для чего Вы собираетесь его использовать ? Если Вы можете дать ответ на него, то нужно быть готовым к следующим вещам:

2.2 * Как поставить Linux, не покупая диски с дистрибутивом и не скачивая дистрибутив из Интернета?

Найдите на #www.lug.ru координаты группы пользователей Linux вашего города. Прийдите на их ближайшую встречу, можно сразу с жестким диском. Попросите на этой встрече кого-нибудь дать вам диск с дистрибутивом на пару дней. Некоторые LUG имеют общую дискотеку (собрание дисков), посмотрите, есть ли в ней что-нибудь подходящее. Подпишитесь на список рассылки LUG вашего города, спросите там "А не перепишет ли мне кто-нибудь на мой винчестер (CD-R) дистрибутив?" Можно задать тот же вопрос в городской эхоконференции Fido, посвященной обмену файлами или Unix/Linux (пример: SPB.LINUX, SPB.FILES). Однако осознайте сразу такую вещь: записать дистрибутив гораздо проще, чем помочь новичку c установкой и настройкой, поэтому не стоит расчитывать, что человек, давший вам дистрибутив в дальнейшем посвятит себя вашему обучению.

2.3 Подскажите, какой дистрибутив выбрать ?

Любой, вышедший менее полугода назад, и купленный не на пиратском лотке, а у официальных дистрибьюторов: #linux.iplabs.ru, #linux.vinchi.ru, #www.linux-ink.ru, #www.mistral.ru, #www.bolero.ru, #www.books.ru.

Жители Украины могут купить лицензионные дистрибутивы на #www.ebuy.dp.ua. Жители Санкт-Петербурга - #www.shopsys.spb.ru.

Отличительными внешними признаками пиратского дистрибутива являются

Если у вас есть знакомый гуру, на помощь которого вы на первых порах рассчитываете, то, в случае, если вы поставите у себя то, что он использует сам, у вас будет больше шансов получить ответы на вопросы о тонкостях настройки.

2.4 * А где в Москве (Петербурге, где-либо еще) можно купить официальные диски с Линуксом?

Петербург: у Михаила Браво mbravo@kronverk.spb.su, в фирме Кронверк (Загородный 68, 110-1303), а также в Доме Книги на Невском пр.

Москва: в Доме Книги на Hовом Аpбате. Hа пеpвом этаже от входа напpаво, фиpма - CompuLink, соответственно, и в дpугих ее филиалах.

Офис IPLabs (адрес и телефон на #linux.iplabs.ru)

Офис Vinchi Group (адрес и телефон на #www.vinchi.ru)

Офис Bolero (ул. Кедрова, 14, вход со двора, этаж 3, комн.319. Телефон 124-6455).

Ростов-на-Дону: диски с дистpибутивами можно купить в фиpме "Proga" - ул. Большая Садовая 188, офис 320. Тел.53-41-22.

Другие города: ?

2.5 Как узнать последнюю версию софта XXX/url его домашней странички ? Мне нужна некая фича, но я не знаю, как называется соответствующий софт, что делать?

#www.freshmeat.net. Там есть все.

На #www.opennet.ru есть целый комплекс средств для отслеживания версий софта ( #www.opennet.ru/lastsoft/ - автоматическая система, #www.opennet.ru/news/ - "ручная")

2.6 У меня стоит <название-дистрибутива> и в нем "`^:,:#`! Как с этим бороться?

Первым делом надо сходить на веб или фтп cайт производителя вашего дистрибутива или его ближайший миррор и посмотреть, нет ли update'а к пакету, вызывающему проблему. Если нет, тогда уже надо искать другие пути решения проблемы. И очень желательно сообщить разработчикам дистрибутива о ней. Для RedHat это можно сделать, зайдя на #bugzilla.redhat.com/bugzilla/

Когда проблемы возникают еще при установке, можно обратиться в службу поддержки производителя дистрибутива (если дистрибутив не пиратский, на нем как правило указываются координаты этой службы) или описать свою проблему в его списке рассылки, на который можно выйти через веб-сайт производителя. Учтите, что в случае, если у вас пиратский дистрибутив, причина проблем может быть в том, что он криво записан на компакт-диск.

2.7 Как научиться линуху, если pядом нет гуpу? (если он есть, то тоже прочтите обязательно)

Прочесть ru.books.computing faq ( #alexm.here.ru/rbcfaq.html).

Посмотреть на книгу "Linux. Руководство по операционной системе". BHV, 1997, ISBN 5-7315-0002-9 , но лучше ее (и в особенности прилагающийся к ней дистрибутив 96го года) не покупать. Для начинающих хорошими книгами являются "Путь к Linux" Владимира Водолазского (печатное издание 99го года, а не электронное 97го) и "UNIX: универсальная среда программирования" Б.Кернигана и Р.Пайка, а для более продвинутых (и желающих таковыми стать) - "UNIX: Руководство системного администратора" Эви Hемет. Кернигана-Пайка можно попробовать найти в библиотеке вашего вуза. Для _пользователей_ (не для чайников!) еще рекомендуется найти кинжку Дж.Армстронга "Секреты UNIX", (первое издание - Киев, Диалектика, 1996, ISBN 966-506-043-0, второе - Вильямс, май 2000). Очень хорошая книжка, только везде, где там написано "unix", надо читать "linux". Автор хотя и гордо демонстрирует останки соляриса на своей машине и вспоминает как в молодости работал с какими-то древними монстрами, но очень хорошо видно, что его познания в настоящих юниксах малость заржавели. Следует серьезно подумать, прежде чем покупать недавно (осень 1999) переведенную "Unix Power Tools" от O'Reilly - единственным известным авторскому коллективу могучим тулзом является shell. Остальное - буквально в трех словах или вовсе проигнорировано. А для заменителя man bash она дороговата.

Обратиться в существующую Linux Users Group, или создать свою. С.-Пб LUG (spblug) доступна через #www.spb.lug.ru/ Московская (mlug) -- через #www.moscow.lug.ru Более подробная информация и полный список lug имеется на htpp://www.lug.ru.

Подписаться на список рассылки, посвященный вашему дистрибутиву. Как правило, этот список ведется производителем дистрибутива, а информация о подписке доступна через веб-сайт производителя

Пpочесть паpу книжек от Linux Documentation Project.

#www.linuxdoc.org

Переводы на русский, возможно, устаревшие, есть на #www.linux.org.ru/books/.

Вот неполный список сайтов с документацией на русском языке:

2.8 Я поставил Red Hat Linux (или RedHat-подобный дистрибутив). Что следует прочесть в первую очередь, чтобы уяснить его специфику?

Начните с Red Hat Reference Guide (/doc/ref-guide на компакт-диске). Особенно стоит обратить внимание на главы Package Management with RPM и System Administration. Также полезно прочесть cодержимое /usr/doc/initscripts-x.xx. Очень многие вопросы, которые сюда стоило бы включить, не включены именно потому, что на них есть ответы там.

Два последних источника являются частичной компенсацией отсутствия Linux-специфичных вещей в книге Немет, издание 94го года.

2.9 А у меня нет интернету, что вы мне тут урлями тычете! Хочу фреков! Это фидошная конференция или где?! (вариант: пришлите мне нетмейлом русскую и подробную доку по ...! Очень надо!)

Linux - система, целиком и полностью разрабатывающаяся в интернете. Поэтому, нравится вам такое положение вещей или нет, но если вы не хотите сидеть на версиях программ, с глюками которых все уже давно позабыли, как бороться, мучаться с поисками документации и платить пиратам и халтурщикам за CD с кучей устаревшего и глючного мусора, то для нормальной жизни в линуксе вам необходимо хоть какое-то интернет-подключение (вполне сгодится, на первое время, и вариант "попросить приятеля скачать что-нибудь нужное" - но чем сложнее этот процесс, тем меньше удовольствия и больше проблем вы получите от линукса). И никто, увы, не жаждет сперва за свои деньги что-то скачивать, а потом выкладывать вам для халявной раздачи. Да, это делалось где-то, когда-то, когда интернет был дорог и малодоступен, а качали все, в общем, одно и то же - но сейчас те, кто этим занимался, давно потеряли и интерес, и технические возможности. Поэтому об'единяйтесь с такими же страдальцами, покупайте интернет вскладчину, публикуйте свои адреса для freq, восстанавливайте файлэхи U*, но не ждите, что кто-то сделает это за вас. Тем не менее, некоторое количество ббс c юниховым софтом существует, они перечиселены в следующем вопросе.

2.10 А у меня нет Интернета, где бы мне найти ... для Линукса?

Желающие могут присылать свои координаты для включения в FAQ.

BBS с софтом для юникса:

В Москве: Quasi-BBS 702-52-49 23:00-08:00

Ultrix BBS, 00:00-07:00, 462-8291, Sysop - Arthur Komarov (5020/943.17) (TNSDrive 2.0b1)

unitrecordHQ, 0:00-7:30, 162-9286, только фреки, sysop - tim kondratyev (2:5020/1989.1)

В Петербурге: 2:5030/902 (по нодлистовому времени)

2:5030/763 TMA BBS, по нодлистовому времени (файл-реквесты).

И станции в Харькове - 2:461/220

Spezvuz BBS CM 0572-123313 Kostya Belous (2:461/1024) (TNSDrive 2.0b1)

2:463/57 в Киеве (только файл-реквесты)

Алма-Ата: ISP BBS CM 3272-638796 Alexander Uskov (2:5083/21) (TNSDrive 2.0b4)

2.11 Программирование - документация

info gcc,libc,gdb

/usr/doc/LDP/lpg и другие книжки от LDP, лежащие на их сайте. ( #www.linuxdoc.org)

Ccылки на гайд по программированию при помощи curses и много другого полезного: #www.linuxprogramming.com/

Раздел "Юниксоидам всех стран" на #lib.ru Обратите внимание на книжку Морриса Баха #lib.ru/BACH/

Она же выходила и в печатном виде. Еще на бумаге издавались:

"Системное программирование на C++ для Unix" Теренс Чан, BHV

"ОС UNIX" Андрея Робачевского - это почти общепризнанно сборник плохих переводов хороших оригиналов. К сожалению, альтернативы этой книге нет, пока не будут переведены и/или (пере)изданы сами оригиналы, перечисленные в конце книжки: Бах, Стивенс, Лефлер. Книгу можно получить бесплатно - взяв в библиотеке вашего вуза.

Вопросы програмирования под Unix обсуждаются в ru.unix.prog.

2.12 Hе могу загpузить Линукс с {тpетьего винта / гигабайтного винта в normal моде / чего-то экзотического } Что делать ?

Если поместить ядpо Линукса на 1-й hd, в пpеделах доступности bios (1024 цилиндpа), то ядpо _гаpантиpованно загpузится_, а остальные части Линукса можно пpоизвольно pазбpосать по pазным дискам/pазделам. Ядpо можно записать в ДОСовский pаздел и загpужать его пpогpаммой loadlin.exe. Также полезно почитать man rdev.

Последние версии lilo умеют загружать ядро и с цилиндров, больших, чем 1024. При этом BIOS должен быть не слишком старым и поддерживать lba32.

2.13 Хочу поставить на один винт несколько операциононок: Linux, Windows NT, Windows 9?. Как лучше сделать это ?

Прежде всего: другую операционку, в особенности win'95/98 или dos, очень желательно ставить первой, а значит, начальное разбиение диска проводить ее средствами. Дело в том, что в некоторых случаях (в каких - выяснить пока не удалось) этим ОС или их инсталляторам не нравится MBR, созданный средствами Linux.

Затем вам нужно решить: что вы будете использовать в качестве основного загрузчика ? Если NT Loader, то этот вариант подробно расписан в HOWTO/mini/Linux+NT-loader. Если LILO, то нужно учесть следующие вещи:

  1. LILO обязательно должен быть в MBR.
  2. Еще и по этой причине Windows 9? нужно ставить первой - ее инсталлятор переписывает загрузчик из MBR.
  3. NT Loader должен обязательно находиться на hda1 или hda2, причем, на fat16 разделе.
  4. Если вы хотите грузить 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-у каждой ОС. А потом уже продолжать инсталляцию.

2.14 А давайте спортируем DN под Linux, FAR под Linux, допишем mc, чтобы он был не хуже DN, есть ли приличный файловый менеджер для Linux (mc не предлагать) etc etc

( Andrey Terebecky) Hужно начать с того, что задуматься каких функций из DN, FAR, etc - Вам не хватает в MC. После этого внимательно изучить все, что mc рассказывает по клавише F1 (документация идущая с ним довольно скудная), обычно это решает большинство вопросов. Hе нужно искать функции типа CD-проигрывателя, запуска нескольких копий редактора в разных окнах - таких возможностей в MC нет. В DN эти функции введены для преодоления недостатков операционной системы (однозадачность, однопользовательность, отсутствие нужных утилит). Линукс таких недостатков лишен и поэтому такими вещами занимаются внешние программы, а MC это просто файловый менеджер.

Строго говоря, MC и ему подобные программы в Unix\Linux вообще не нужны. Все их функции обычно решаются гораздо быстрее с помощью shell (zsh, tcsh, bash, etc). Конечно для этого потребуется достаточно подробно изучить документацию к Вашему любимому shell и приобрести некоторые навыки работы с ним, но результат себя оправдает. В защиту MC часто говорят, что в shell не удобно работать с архивами - возможно это действительно так, а возможно говорящие это, никогда не видели AVFS ( #www.inf.bme.hu/~mszeredi/avfs/)

В Unix\Linux есть и аналоги MC - deco ( ftp://ftp.cronyx.ru/cronyx/), а также его модификация от Nickolay N. Parfenov ( #usrsrc.chat.ru), VFU ( #www.biscom.net/~cade/vfu), ytree ( #www.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 - просто заплатка, которой времени уделено не больше, чем всем остальным компонентам. Такова цена интегрирования.

2.15 А вот ответьте мне нетмейлом на такой вопрос: ... ?

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

2.16 У меня совсем чайниковый вопрос...

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


3. Русификация

Значительная часть этого раздела написана Alexander Voropay.

3.1 У меня проблемы с русским в...

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

Все эти части настраиваются по-отдельности.

Довольно подробно все описано в Cyrillc-HOWTO, однако он довольно долго не обновлялся, поэтому отнеситесь к нему критически (Last version : v4.0, 23 January 1998 ) #linuxdoc.org/HOWTO/Cyrillic-HOWTO.html, перевод: #www.linux.org.ru/books/HOWTO/Cyrillic-HOWTO.html.

Лучше всего сперва искать решение проблемы здесь и лишь потом - в Cyrillic-HOWTO. Практически все, что написано ниже, написано в том числе и потому, что соответствующий раздел в Cyrillic-HOWTO либо отсутствует, либо дает устаревшие или неправильные рекомендации.

3.2 Русификация консоли.

В системе Linux существуют два конкурирующих пакета управления шрифтами и клавиатурой : kbd и consoletools.

ftp://ftp.win.tue.nl/pub/linux/utils/kbd/ или ftp://ftp.kernel.org/pub/linux/utils/kbd/

#www.altern.org/ydirson/en/lct/

В разных дистрибутивах применяются или один, или другой. Например, в RedHat 4.х и 5.x для русификации консоли применялся пакет kbd. Однако в RedHat 6.x применяется уже другой пакет - consoletools.

Есть еще русский пакет Easy-Cyrillic. #www.compulink.ru/cdrom/unix/download/easy-cyrillic.html. Используйте Easy-Cyrillic осторожно, во время инсталляции он меняет довольно много файлов.

Существует Keyboard-and-Console-HOWTO, автор этого HOWHO является также автором пакета kbd, поэтому естественно, всех склоняет к использованию kbd. ;-) #linuxdoc.org/HOWTO/Keyboard-and-Console-HOWTO.html

На "низком уровне" для русификации консоли достаточно выполнить следующие команды (пакет kbd):

$ setfont Cyr_a8x16
$ mapscrn koi2alt
$ echo -ne "\033(K"
$ loadkeys ru1
См. man на соответствующие команды и 'man console_codes'. Если поставлены console-tools -- man loadkeys, man consolechars. Описание, что есть что, у console-tools в /usr/doc/console-tools*, довольно внятное.

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

К сожалению, в Linux только один загружаемый фонт на все виртуальные консоли.

3.3 Мне говорят "Настрой локаль!" Что это значит ?

Речь идет о настройке системной 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
В RedHat-based дистрибутивах это делается путем редактирования файла /etc/sysconfig/i18n где, кроме прочего, должна быть строчка
LANG=ru_RU.KOI8-R

3.4 Как настроить locale ? Я установил LANG, но русских дат нет. Как отключить вывод сообщений на русском ?

Прежде всего - подробная дока о locale имеется на #www.sensi.org/~alec/locale. Обращайтесь туда, если вам нужны нестандартные варианты (например, отключение русскоязычного интерфейса с сохранением правильной сортировки и т.д.)

Доки по иксовой locale (XLOCALE) - #www.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/share/locale
$ mv ru_RU.koi8r ru_RU.KOI8-R
Некоторые дистрибутивы неправильно включают
LANG=ru
LC_ALL=ru_RU.KOI8-R
Это НЕПРАВИЛЬНО. Лучше не устанавливать переменную окружения LC_ALL вообще (достаточно полного LANG= ). Подробнее смотрите на #www.sensi.org/~alec/locale/ в главе "Как включить..."

3.5 Я настроил locale и русский в консоли, но bash все равно не вводит русские буквы, пищит.

Хотя для большинства программ вполне достаточно установки LANG=ru_RU.KOI8-R чтобы начать распознавать русские буквы, многие программы, основанные на библиотеке readline (например bash), все равно считают символы с кодами больше 128 особыми META-символами (пищит при вводе).

Чтобы отучить библиотеку readline от этого, необходимо определить переменную

INPUTRC=/etc/inputrc
Кроме того, создать файл /etc/inputrc
set meta-flag on
set convert-meta off
set output-meta on
После этого библиотека readline (и bash) начнет воспринимать русские буквы.

Еще один вариант : Не задавать INPUTRC=, а прописать те же значения в файл ~/.inputrc (в home-каталоге). Но тогда придется заводить такой файл в домашнем каталоге каждого пользователя.

См. man readline.

3.6 RedHat и русификация

Cоздаем файлик /etc/sysconfig/i18n. Внутри должно быть что-то вроде:

SYSFONT=Cyr_a8x16
SYSFONTACM=koi2alt.trans
LANG=ru_RU.KOI8-R
Раскладка клавиатуры выбирается утилитой kbdconfig и прописывается в файл /etc/sysconfig/keyboard, в виде:
KEYTABLE=ru1
Эти файлы используются в скриптах /etc/rc.d/rc.sysinit, /sbin/setsysfont. Ознакомьтесь с ними, а также с /usr/doc/initscripts-x.xx/, если возникли вопросы или проблемы.

3.7 Как сделать так, чтобы в иксах при русификации через xkb, русские буквы вводились везде ?

Прочтите #www.tsu.ru/~pascal/other/xkb/, особенно последний раздел.

3.8 Как cмонтировать диск, чтобы русские имена файлов были видны ?

Для vfat примерно так (cтрочка из /etc/fstab/):

/dev/hda5 /mnt/d vfat noexec,rw,umask=002, codepage=866, iocharset=koi8-r,
gid=100 0 0
(в одну строчку)

Потом mount /mnt/d. Еще в ядро (>=2.0.36) должны быть включены соответствующие кодовые страницы (возможно, в виде модулей /lib/modules/`uname -r`/fs/nls_*) - CP866 и KOI8-R, так что возможно (хотя скорее всего нет) ядро придется перекомпилировать.

Для CD, содержащего файлы с русскими именами:

$ mount -t iso9660 -o iocharset=koi8-r  /dev/cdrom  /mnt/cdrom
Параметр codepage для isofs не нужен, в файловой системе JOLIET имена файлов хранятся в UNICODE.

Смысл этих опций можно узнать в 'man mount' или в документации исходников ядра /usr/src/linux/Documentation/filesystems/ или /usr/doc/kernel/filesystems/

3.9 * Как перекодировать из DOS/Win кодировки в KOI8-R ?

Перекодировщиков CP1251 и CP866 --> KOI8-R просто огромное количество. Не надо писать новых ;-) Наиболее широко распространены iconv (входит в поставку glibc) и GNU recode ( ftp://prep.ai.mit.edu/pub/gnu/recode/)

$ iconv -f866 -tKOI8-R -o<outfile> infile
$ recode CP1251..KOI8-R  winfile.html
Еще один URL для recode - #www.iro.umontreal.ca/~pinard/recode/.

В конце концов сгодится обычный lynx :

$ lynx -assume_local_charset cp866  file.html

3.10 Как прикрутить к Golded/LNX почтовую базу в 866 кодировке ?

Во-первых, нужно взять GoldEd+ c #asa.i-connect.ru. Библиотека uulib, необходимая для его сборки, лежит на #www.uni-frankfurt.de/~fp/uudeview/

Кроме того, нужно взять таблицы перекодировки (например из пакета русификации, проходившего по файлэхе aftnged и лежащего на #collage.etel.ru/fileechos/ftn/ и прописать их в golded.cfg, примерно так:

AREAPATH /mnt/c/fido/fecho/
AREAFILE FastEcho

XLATPATH /home/ak/.golded/chars
XLATLOCALSET KOI8
XLATIMPORT IBMPC
XLATEXPORT IBMPC
XLATCHARSET KOI8 IBMPC koi_866.chs
XLATCHARSET IBMPC KOI8 866_koi.chs
IGNORECHARSET

3.11 Можно ли в mc увидеть pусские буквы?

Можно. F9 - options - display bits - Full 8 bit Кроме этого, могут оказаться необходимыми еще некоторые действия.

Просмотр файлов в mc запускается через nroff (по крайней мере, в mc, идущем с Slackware'96). В неправленном файле /usr/lib/mc/mc.ext мы имеем запуск nroff'а с ключами -Tascii В Slackware'96 при таком положении вещей русских букв вы не увидите, а вот если исправить на -Tlatin1 тогда увидите.

Та же проблема и с man'ом. Если у меня есть файл с русскими буквами, то вызов, скажем man ar приводит к ерунде на экране несмотря на LESSCHARSET=koi8-r. Приходится править /usr/lib/man.config

3.12 less

Yuriy.Kaminskiy@p21.f517.n5020.z2.fidonet.org пишет:

при настроенной локали указывать LESSCHARSET _HЕ HАДО_. Более того, в ~/.lesskey надо добавить

#env
LESSCHARSET=
чтобы он игнорировал установку LESSCHARSET= глупыми программами (к примеру, man :) [после этого надо запустить lesskey для получения бинарного файла ~/.less] В противном случае он не будет вызывать setlocale(LC_CTYPE,"") и, как следствие, не будет icase search для русских букв.

3.13 * telnet

Если возникают проблемы с вводом русских символов, надо написать файлик ~/.telnetrc со следующей строкой:

DEFAULT set outbinary
Вы можете встретить проблемы при работе в кодировке Win-1251 -- не передается маленькая русская буква "я" 0xff. У протокола TELNET 0xff -- это первый символ управляющей последовательности. Дабы передать собственно "я", нужно его удваивать : 0xff, 0xff. В KOI8-R такой проблемы нет.

3.14 Что делать, если "слетела" консоль ?

Скорее всего на консоль был скопирован какой-то двичный файл, где случайно встретилась переключающая ESC-последовательность. Тогда :

Сброс терминала :

$ echo -ne "\033c"
набрать вслепую, или с работающей консоли :
# echo -ne "\033c" >/dev/ttyX
Переключение на downloaded font

$ echo -ne "\033(K"
(возможно, еще прйдется перегрузить фонты, но это смотря как консоль сорвало...)

Если вывалилась какая-то программа, которая использует curses, то проще

$ stty sane
В RedHat все это делают reset; setsysfont <ctrl-j>

reset - из ncurses

См. 'man console_codes' и 'man stty'

3.15 Как русифицировать TeX под koi-8?

Есть пакет для KOI8 pуссификации TeTeXа, лежит на ftp://shade.msu.ru. Надо бpать 2 файла - один с собственно pуссификацией (скpипты+конфиги), дpугой со шpифтами. Занимает все удовольствие меньше 1мег.

В Debian 2.1 и, если не ошибаюсь, в Mandrake 5.3 TeX русифицирован out-of-box. Признаком русифицированности TeX'а out-of-box является наличие директории $TEXMF/tex/latex/t2, $TEXMF обычно равно /usr/lib/texmf. Русификация, как нетрудно догадаться, T2.

Alex Nikiforov:

Если уж о последних версиях, то в RH-6.0 с tetex 0.9 у меня получилось так:

$ texconfig
выбрать
hyphenation -> latex
раскомментировать russian

Добавить в LaTeX файлах

\usepackage[T2A]{fontenc}
\usepackage[koi8-r]{inputenc}
\usepackage[english,russian]{babel}
и в файле можно переключаться между русским и английским командами \Russian и \Engish

Что бы добавить форматы из cyrplain набора в texconfig выбрать FORMATS и добавить

cyrtxinf      tex             language.dat    cyrtxinf.ini
для русского texinfo. Аналогично для cyrblue и cyramstx.

Что бы добавить формат cyrtex ( русский TeX ) проще в каталоге web2c выполнить:

initex '\input cyrtex.ini \dump'
и бросить символическую ссылку с именем cyrtex на tex ( например в /usr/bin )

Что бы переключится на русский в этих plain форматах использовать команду

\language N
где N - номер, под которым числится русский язык в получившейся раскладке.

В принципе можно заменить в конфигурации ruhypen на ruenhyp и оставить только совместные русско-английские правила переноса, но детально это не проверял и подробно описать не могу.

Все вопросы по TeX рекомендуется задавать в ru.tex

3.16 Где взять русские Type1 ps фонты в KOI8-R?

Современные Type1 фонты поддерживают UNICODE и содержат русские символы с именами глифов типа "afii10049".

К сожалению, многие приложения видят только первые 256 символов Type1 шрифта (Latin1 или ISO_8859-1). Именно для таких приложений нужны "отхаканные" шрифты, где в дипазоне 0-255 расположены символы KOI8-R. Взять можно например с :

ftp://ftp.kapella.gpi.ru/pub/cyrillic/psfonts/

Прочитайте README.

"Нормальные" Type1 шрифты есть в Adobe Type Manager (ATM) или в поставке OS/2.

3.17 Где найти хорошие русские шрифты для иксов?

#www.ice.ru/lists/cyrfonts

#www.inp.nsk.su/~bolkhov/files/fonts/cyr-rfx/

3.18 Emacs/XEmacs

Берем iso8859-5 шрифты с #www.inp.nsk.su/~bolkhov/files/fonts/cyr_rfx/. Подключаем их к иксам, и выбираем в меню Mule нужную кодировку.

Очень благородные изовые шрифты можно взять на любом зеркале GNU в каталоге intlfonts. конкретно, например, ftp://ftp.chg.ru/pub/gnu/intlfonts/intlfonts-1.2-split/European.tar.gz (131Кб). В Debian они уже есть.

3.19 Как pусифициpовать dosemu ?

Клавиатуpа - любым досовым pусификатоpом. Фонты : в консольном dosemu тем же pусификатоpом, в X-овом - поставить фонт с 866-ой кодиpовкой. Взять можно фонт от pедактоpа ted, напpимеp по адpесу ftp://lpcs.math.msu.ru/pub/ran/Xfonts/tedx11.cp866.bdf.tgz (пришлите пожалуйста новую ссылку, эта не работает).

Там же вы найдете и фонт с "правильным" для dosemu именем - vga.pcf

3.20 А как русифицировать StarOffice (там же - а почему он у меня не ставится и т.п.

Почитайте замечательную страничку Леона Кантера по адресу - #www.blackcatlinux.com/StarOffice/

3.21 Как русифицировать Netscape/научить его понимать win-кодировку ?

3.22 Как мне заставить приложение для иксов использовать шрифты с koi8-r, а не iso8859-1 ?

а) Метод грубого хака. Нужно взять русские шрифты с ftp://ftp.relcom.ru/pub/x11/cyrillic/fonts/, там есть шрифты adobe-*-koi8-1 (c fonts.alias, делающим из них -iso8859-1), но реально содержащие кириллицу в кои8-р.

При этом шрифты с теми же именами и настоящими символами iso8859-1 становятся недоступны. Стандартных шрифтов из XFree86-cyrillic-fonts недостаточно.

Кроме того, пути к русским шрифтам в конфиге иксов или фонт-сервера должны быть впереди всех прочих.

б) Постарайтесь выяснить, откуда приложение берет название шрифта. Часто оно прописывается в конфиг-файле, иногда можно выяснить через man (ищите слова font, resources). Загляните в /usr/X11R6/lib/X11/app-defaults. Русификация GNOME/Gtk таким способом описана чуть ниже.

3.23 Почему в 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
Подробности см. #www.gtk.org/tutorial/gtk_tut-21.html, а также #www.linux.org.ru/gnome/

3.24 Как увидеть русские буквы в именах файлов на диске Samba?

Добавить в /etc/smb.conf


[global]
character set = koi8-r
client code page = 866
preserve case = yes
short preserve case = yes

4. Системное и сетевое администрирование

4.1 А какие бывают версии ядра Линукса ? А почему при апгрейде/компиляции ядра у меня #$@#$#@%@#$%@#$? А что такое девелопмент-ядра и вообще, почему говорят, что новая версия ядра - 2.2.x вышла вчера, когда я месяц назад скачал 2.3.какую-то ? Каким ядром лучшепользоваться ?

(Alex Kanavin, адрес выше, Alexey Mahotkin)

Начнем с официальной серии ядер, выпускаемых непосредственно Линусом Торвальдсом. Прежде всего, надо разобраться, что такое стабильные и нестабильные ядра (stable и development) и как они нумеруются. Пусть имеется ядро версии a.b.c

Официальные ядра в виде исходных текстов можно скачать с ftp://ftp.kernel.org и его многочисленных мирроров (российский: ftp://ftp.ru.kernel.org, но он весьма крив, см. чуть ниже). Кроме полных исходных текстов ядра там же можно найти патчи - значительно меньшие по размеру файлы, позволяющие превратить исходники версии a.b.c в исходники версии a.b.c+1 c помощью команды patch. Эти же патчи ходят по файлэхе usyslnx.

Стабильные ядра предназначены для широкого использования и проблемы при их использовании или компиляции встречаются нечасто. Как правило в стабильных сериях от версии к версии только исправляются ошибки и добавляются драйвера, не требующие изменений в самом ядре и хорошо себя зарекомендовавшие. Стабильные ядра можно безбоязненно обновлять, не трогая прочий софт - если вы остаетесь в рамках одной серии, проблем возникнуть не должно. (По крайней мере в теории, на практике, возможно, придется вернуться к старому ядру и подождать выхода еще одной версии.) Новые версии выходят нечасто - примерно раз в месяц, и реже.

Нестабильные ядра, наоборот, не предназначены для использования массами. Это полигон для тестирования множества разнообразных возможностей, только появившихся и еще не готовых для использования никем, кроме их собственных разработчиков и людей, чье хобби - забавляться с нестабильными ядрами. Здесь от версии к версии может меняться очень многое и правильную работу никто не обещает (впрочем, то же относится и к стабильным ядрам, но в менее "жестком" смысле). При их использовании нужно быть готовым ко всему. Прежде всего к тому, что ядро просто не скомпилируется. Потом оно может не загрузиться, зависать, портить файловую систему и вообще всячески глючить. Кроме того, может начать глючить софт, взаимодействующий с ядром напрямую. Нестабильные ядра выходят гораздо чаще стабильных - иногда несколько новых ядер в неделю.

Как нестабильная серия становится стабильной и наоборот ? Очень просто: в какой-то момент 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, ну и так далее и тому подобное). Кроме того, многие производители дистрибутивов распространяют ядро с определенными патчами, которые они считают необходимыми и которые лучше вписываются в инфраструктуру дистрибутива).

Каким же ядром все-таки пользоваться? Простейший ответ: тем, которое входит в используемый вами дистрибутив. Этот ответ приемлем для большинства пользователей Линукса. Если же вы оказались в ситуации, когда, например, нужное вам железо поддерживается только в каком-то патче, который не вошел ни в одну из основных ветвей, значит, вам придется брать исходники оригинального ядра, патчи, которые использовали создатели дистрибутива, патчи, которые необходимы лично вам, прикладывать все эти патчи друг к другу, компилировать и устанавливать ядро вручную (ну, или создать свой собственный пакет на основе дистрибутивного). Вам также придется отслеживать выход новых версий патча, контактировать с его автором, сражаться с его глюками и прилагать всяческие усилия к тому, чтобы оный патч, наконец, приобрел официальный статус. Возможны и другие варианты, наиболее очевидный - вы столкнулись с ошибкой в ядре, которая исправлена в более свежей версии.

Итак, вы решили самостоятельно скомпилировать/установить ядро. Если оно 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 и исправьте те опции, ради которых вы собственно и решили пересобрать ядро.

Если вы используете RedHat и хотите воспользоваться теми .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 - и есть свежесобранное ядро. Его теперь можно поинсталировать на место старого. Хотя лучше сначала попробовать, работает ли оно. Нужно добавить в lilo.conf еще один выбор - например, linux.test, - который берет ядро прямо из /usr/src/linux/arch/i386/boot/zImage.

( Valentin Nechayev)

Я пpедлагаю дpугой метод - пpовеpен только для RedHat'а.

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 просто нет параметра EXTRAVERSION) и, по крайней мере теоретически, может "сломать" чей-нибудь автоконфигуратор, рассчитывающий на n.n.nn по uname -r.
(Alexander Pevzner, 2:5020/59.9)

Тем, кто отважился на сборку ядра лично под себя, советуем обратить внимание на следующие факты:

4.3 Как изменить максимальное количество открытых файлов?

В ядрах 2.2.10 и более новых:

echo 30000 > /proc/sys/fs/file-max
echo 30000 > /proc/sys/fs/inode-max
и сделать ulimit -n 2000 перед запуском нужного демона. Цифры подбираются под задачу.

(Yuriy Kaminsky 2:5020/517.21)

И не забыть, что если программа использует select, то будет большой-большой облом. Вплоть до затирания стека и падения (at least glibc-2.0 - см. /usr/include/gnu/types.h - и иже с ним; исправления

#define __FD_SETSIZE    1024
на нужное число и пересборки всех приложений и библиотек , которые могут заюзать select для дескрипторов выше 1024 будет достаточно [т.е., скажем, если X'овому приложению нужно открывать более 1024 файлов, то необходимо пересобирать Xlib и Xt как минимум]; ах, да, саму libc пересобирать, вроде, не нужно).

4.4 Подскажите, pls, www/ftp где можно получить доку по администрированию Linux'а.

#www.linuxdoc.org Hа русском языке - посмотрите на #xtalk.price.ru/linux

4.5 Q/A: development site для libc, binutils, ld.so

ftp://ftp.yggdrasil.com/private/hjl - если кому-то понадобилась тухлятина. В частности, именно там надо искать libc5 последних версий) Сейчас все это лежит на ftp://ftp.kernel.org/pub/linux/software/ и его локальных миррорах. [а теперь все дружно: ftp://ftp.ru.kernel.org и ftp://ftp.chg.ru - У-Р-О-Д-Ы! Поскольку не миррорят .bz2 архивы, а многое из этого в .gz не выкладывается. Ребята - может, мне вам винт на несчастный гигабайт подкинуть, на бедность? Взялись быть русским миррором - так делайте это как следует. Hе можете - откажитесь, по крайней мере, майнтейнеры не будут ошибочно уверены, что в России нормальный миррор. (Alex Korchmar) Добавка от Alex Kanavin: если уж вы миррорите, например, redhat, то делайте это целиком и каждый день, а не раз в месяц кусочками. А то апдейты у вас появляются через месяц после того, как они были выложены на ftp.redhat.com, да и то - только к последней версии. Ну и кому нужен такой "официальный" mirror? ]

4.6 * Как загружается система?

Очень коротко, подробнее можно прочесть в вышеназванных источниках: ядро монтирует корневую файловую систему, и запускает первый процесс init, разыскав его исполняемый файл в нескольких стандартных местах. Этот процесс читает свой конфигурационный файл /etc/inittab (man inittab) и запускает все остальные процессы согласно инструкциям из этого файла. Обычно в inittab прописывается запуск процессов *getty, управляющих терминалами, виртуальными консолями и последовательными линиями (то есть именно *getty ответственны за запуск login (сравниваюий имя и пароль, указанные пользователем, с тем, что прописано в /etc/passwd и в случае успеха запускающего соотв. shell), pppd, ifcico и т.д., что именно запускается и в каком случае - зависит от конкретного getty, наиболее универсальным считается mgetty).

Кроме того, здесь же прописываются скрипты, запускающиеся на различных т.н. "уровнях выполнения", из которых в свою очередь запускаются все остальные системные сервисы, осуществляется настройка сети, проверка файловой системы и т.д. Существует два подхода к организации этих уровней и скриптов: BSD и SysV. Оба они описаны в книжке Э. Немет (см. выше), а про SysV можно еще прочесть на #www.sensi.org/~alec/unix/redhat/sysv-init.html.

4.7 Hадоело запускать ppp (slip) руками. Хочу чтобы сам звонил, когда надо.

Медленно и печально идем на #diald.sourceforge.net, сливаем diald, разворачиваем, читаем README, совершаем _минимальные_ телодвижения на предмет конфигурации и инсталляции, и получаем эмулятор выделенной линии. Как только требуется выйти во внешний мир, diald дозванивается до провайдера, устанавливает роутинг и можно работать. Внимание: учтите, что с ядрами 2.2.x нормально работает diald-1.99 и выше. 0.16, лежащий везде, в том числе и в некоторых дистрибутивах, предназначен только для 2.0. (почему-то эта информация пропущена в Changes) Да, еще... Рекомендации лучших линуксоводов: в файле /etc/resolv.conf надо размножить строчки nameserver xxx.xxx.xxx.xxx раза по три, чтобы он по таймауту не отваливался раньше, чем diald дозвонится. Полезно также удалить default route на eth0.

А еще можно так: в diald.rc пишем

ip-up "cp /etc/resolv.conf.connected /etc/resolv.conf"
ip-down "cp /etc/resolv.conf.local /etc/resolv.conf",
где в resolv.conf.connected написано:
search yourdomain
nameserver xxx.xxx.xxx.xxx (я предпочитаю 127.0.0.1)
а в resolv.conf.local написано:
domain yourdomain
Хорошо настроить и использовать локальный DNS-cервер в режиме caching-only. Его можно поднимать и опускать через ip-up и ip-down как сказано чуть выше, или через /etc/ppp/ip-up.local и ip-down.local. Как его настроить: раньше вариант был только один - почитать книжку и настроить таки bind. Теперь есть более простой вариант: к редхату прилагаются готовые настройки для cache-only bind'а (в пакете caching-nameserver)

А еще можно сходить посмотреть на #alexm.here.ru

4.8 После удаления /var/log/syslog и /var/log/messages и пеpезагpузки эти файлы не пополняются и некотоpые сообщения идут на консоль. Как пpавильно чистить log-и?

Логи могут быть от syslog'а и от отдельных демонов. syslog'овые логи чистятся так:

mv $log ${log}.old (или rm если не нужен, но лучше сохpанить)
touch $log
kill -1 `cat /var/run/syslogd.pid`
Процесс автоматизируется с помощью logrotate.

Как чистить не-syslog'овые логи - только RTFM на конкpетную тулзу и никак иначе.

4.9 В BSD с помощью su рутом может становиться только user, пpописанный в гpуппе wheel, а в Linux'е - кто угодно. Hехоpошо это как-то. Может быть, есть путь это испpавить?

Надо ставить su не из gnu sh_util, которая в принципе этого не умеет (RTFmanpage на предмет, по чьей милости), а какую-нибудь другую. Но ежели su пользует pam (в RedHat, напpимеp и основанных на нем дистрибутивах, а также в Debian 2.2), подобное поведение достигается добавлением стpочки:

su      auth     required       pam_wheel.so
в /etc/pam.conf, если pam дpевний, или:
auth     required       pam_wheel.so
в /etc/pam.d/su, если поновее.

Такой механизм получше будет, поскольку поведение можно ваpьиpовать на ходу. Hапpимеp, манипулиpуя паpаметpами 'group' и 'deny', pазpешить это делать всем, кpоме одной гpуппы:

pam_wheel.so group=guest deny
Пpавда, модуль этот стpанный, забывает смотpеть на gid, а смотpит только на groups... А может так и надо...

В Debian 2.1 надо поставить пакетик secure-su и посмотреть на файл suauth.

В Slackware от 3.3 (гаpантиpовано) это pешается путем pедактиpования /etc/login.defs Hужно, что бы было

SU_WHEEL_ONLY   yes
тогда su смогут использовать только входящие в гpуппу root. В слаквари от 3.4 (до 4.0, где su опять из другой банки) лучше прочесть сперва man 5 suauth - там возможна гораздо более гибкая настройка su, чем тупая "группа ноль".

Если память не вpет, то это же спpаведливо в SuSe 6.x. В SuSE 5.3 su из sh_util, со всеми вытекающими. К сожалению, su, понимающая login.defs и suauth, страдает другими болезнями - в частности, не имеет удобных ключиков -m и -s. Если секьюрити важнее удобства...

4.10 Кaк можно остaвлять в системе кaкое-то количество виртуaльной пaмяти в зaрезервировaнном состоянии (если зaдaчa зaпущенa не из-под root'a), или вообще лимитировaть пaмять для кaждого пользовaтеля?

man setrlimit

4.11 BSD'шный sed еще под Linux не отнесли ?

Я так понимаю, что вполне отнесли, но в стандаpтных набоpах, как пpавило, дают гнусный. Если кто хочет себе gated собpать, то хоpошо бы ему пеpед этим поставить bsd-шный sed.

Или его безумную конфигуpу пеpеписать, что ИМХО пpавильнее будет. Если sed запускать не с дикой цепочкой -е '...', а по-человечески -- с пpогpаммой в file, то он не фоpкуется, а все исполняет в одном пpоцессе. Патч для последней ноpмальной веpсии gated-R3_5Beta4 для сбоpки под линукс лежит на ftp://ftp.redline.ru/pub/linux/net/ Что до sed-а -- если много памяти и свопа, то можно и обычным линуксовым sed-ом собpать.

4.12 Как сделать так, чтобы программы XXXX и YYYY могли одновременно использовать модем или еще что-то на терминальном порту?

Во-первых, они должны использовать одно и то же имя файла для доступа к порту, скажем, /dev/modem. Если одна программа использует /dev/ttyS0, а другая /dev/cua0 (а третья -- /dev/modem, который линк на один из этих двух :), - то они точно передерутся.

Во-вторых, они должны использовать механизм lock-файлов. Hаверное, все известные программы его используют, но все же.

В-третьих, они должны видеть локи друг друга. То есть, в их конфигурации должен быть указан один и тот же каталог для создания локов, они должны использовать один и тот же формат имен файлов (обычно LCK..<имя файла порта>), один и тот же формат самих файлов (обычно десять символов -- PID программы в ASCII), и иметь привилегии, достаточные для создания и удаления своих лок-файлов.

4.13 В чем pазница между /dev/cua* и /dev/ttyS*?

Hе надо пользовать cua*. То есть вообще. Они в ядре - только для обратной совместимости со схемой, принятой в BSD. В BSD /dev/cuXX -- это "Call Up" порты, т.е. для исходящих звонков -- на них всегда есть CD. В Linux /dev/cuaXX не применяется и новые ядра даже выдают предупреждение.

4.14 Как правильно настроить время на машине с Linux? Как синхронизировать его с Интернетом? Как синхронизировать клиентов с сервером?

Для установки времени в CMOS используется утилита hwclock из свежего комплекта util-linux.

Если на вашей машине стоит только Linux, то очень удобно записать в CMOS время по Гринвичу, а в одном из стартовых скриптов сказать

        /sbin/hwclock --hctosys --utc
Если на машине стоит, кроме Linux, какая-то другая операционная система, то в CMOS пишется местное время, а в стартовом скрипте пишется просто
        /sbin/hwclock --hctosys
Для того, чтобы программы правильно определяли местное время (с учетом летнего времени и тому подобных обстоятельств), надо: В RedHat-based системах параметр utc задается в файле /etc/sysconfig/clock. Непосредственно редактировать стартовые скрипты не нужно. Кроме того, этот параметр и timezone можно задать с помощью утилиты timeconfig.

Проверить правильность задания времени можно, запустив сначала ``date'' (должна показать правильное местное время), а затем ``date --utc'' (должна показать правильное время по Гринвичу).

Для того, чтобы синхронизировать время с часовыми серверами в Internet, сходите на #www.ntp.org. Там раздается пакет xntpd и приведен список публично доступных часовых серверов в Интернете. Из всего комплекта xntpd вам потребуется лишь программа ntpdate. Периодически, например, при каждом звонке провайдеру, выполняйте, например, такую команду:

        /usr/local/bin/ntpdate ntp1.gamma.ru
Если на вашей машине под Linux установлена Samba, то клиенты под MS Windows могут синхронизировать время с этой машиной с помощью команды
        C:\> NET TIME \\LINUXBOX /SET /YES
( Alexey Mahotkin)

4.15 Hадо заставить uucico ходить на телнетовский порт, а в логах наблюдается откровенный мусор: \177}\030\177} \177}#\177}

     port type pipe
     port command /bin/telnet -8E hostname

4.16 А как смонтировать дискету если я не root?

Попробуйте fdmount /dev/fd[0-9] mountpoint, ну и не забыть почитать man fdmount, или root мог написать 'user' в /etc/fstab, и обычный пользователь может говорить "mount <mountpoint>". man 8 mount. Еще лучше вовсе не монтировать дискеты, а пользоваться mtools.

4.17 Отчего кое-кто (INN, SENDMAIL) так долго думает при старте?

Hадо заглянyть в директорию /var/log и посмотреть, нет ли в логах сообщений от этой программы. Для sendmail - 99% воплей пpо долгое думанье объясняется попыткой pезолвинга адpесов локальных интеpфейсов. Hадо эти адpеса занести в /etc/hosts. Альтеpнативный ваpиант - O DontProbeInterfaces=True в /etc/sendmail.cf.

4.18 Пpинтеpы расшаpены чеpез самбу, но после отпечатывания стpаницы (или задания) пpобpасывается N листов впустую. HP пpокpучивает один лист, а Epson два. Как лечить?

PRINTCAP / Begin
 my_favourite_printer:\
 lp=/dev/lp1:\
 sd=/var/spool/lpd/my_favourite_printer:\
 sh:lf=/dev/tty10:ff=:
PRINTCAP / End

4.19 Как подружить Самбу и 1С ?

(Zahar Kiselev, 2:5030/382)

Вот что достаточно сделать чтобы работало:

Взять вот этот патч. Взять ядро 2.0.38 с ftp.kernel.org - он к нему подходит без исправлений. Прочитать текст внутри самого патча на предмет команда echo в некие файлики в файловой системе /proc. Патч применить, командочки вписать куда-нибудь в старовый скрипт.

Version 8.04.2 - for linux-2.0.37

This patch (and it's updates are available from #www.linux.org.za/filehandle.patch.linux and ftp://ftp.is.co.za/linux/local/kernel/filehandle.patch.linux The following patch allows you to increase the maximum number of files/network sockets openable to any number. The default kernel only allows 256 filehandles

Если у кого-то руки чешутся использовать ядро 2.2 (а зачем?), то пойти на dejanews и рыться в архиве ру.линукс за прошедшее лето (1999) - тут пробегали несколько рецептов переделки лимита в этом ядре, причем один был весьма корректный, а другой, наиболее понятный для повторения, проходил 4 августа.

Взять Самбу >=2.0.5a, вожно, чтобы она понимала параметр в smb.conf "ole lock compatible", установить его в "no". Остальное настроить в соответствии с любой из многочисленных рекомендаций по установке Самбы, главное - не запрещать ей работать с блокировками(я знаю одного человека, который до этого додумался). Запустить и все будет работать. Чтобы несколько пользователей могли лезть в одну базу - поместить их в одну юниксовую группу и поставить права на файлы так, чтобы был доступ на запись для группы. Вобщем-то по-моему все. Остальные настройки Самбы влияют только на скорость, и то незначительно. Да, если кто-то решит собирать Самбу из исходников, например чтобы отучить ее от авторизации через PAM, то могут вылезти две вещи - в зависимости от версии GCC возможно придется выключить оптимизацию(изничтожить как минимум из двух мест флажок -O, на скорость работы 1С это не влияет - проверено), и проверить что написало configure в файле config.h - оно там любит почему-то некоторые системные типы (ino_t,pid_t,еще штук пять) переопределять по-своему - после этого у меня вылез интересный эффект - все файлы на самбовом диске были видны с длинной 4к :) Признаком этого явления могут служить предупреждения, выдаваемые при сборке относительно empty declarations. Закомментировать эти определения - и все собирается нормально.

Если кто-нибудь все вышесказанное повторит и у него не заработает - можно спросить у меня что еще может влиять. Я на своей машине конфигурацию системы полностью руками ставил, причем давно, так что могут быть какие-то мелкие особенности. Hапример Самба при работе хочет создать файлики browse.dat, wins.dat - так вот надо поставить права так, чтобы она могла их читать в том числе и тогда, когда работает от имени виндового пользователя - иначе могут быть большие таймауты при выполнении команды net use в виндах, и может не работать столь любимое многими чайниками "сетевое окружение".

4.20 Как бороться с Intel EtherExpress (PCI)?

Поставить ядро поновее. Помогает еще от тридцати болезней.

4.21 У меня проблемы с распознаванием IDE CD-ROMа

Сообщите вашему ядру (через командную строку или конфигурационный файл LILO) следующие параметры (замените hdc на правильное устройство для вашего CD-ROMа): hdc=cdrom hdc=noprobe

4.22 А чего бы такого крутого предпринять по части безопасности системы?

Для начала прочтите /usr/doc/HOWTO/Security-HOWTO.

#www.openwall.com можно найти патч Solar Designer-а, который помогает от исполняемого стека и еще восмидесяти восьми болезней. Кроме того, рекомендуется придирчиво изучать #rootshell.com #packetstorm.securify.com, #www.linuxsecurity.com , и подписаться на списки рассылки bugtraq, linux-security, и список по безопасности того дистрибутива, которым вы пользуетесь. Еще одна, хотя и несколько радикальная ссылка: #www.infowar.co.uk/thc/files/thc/anonymous-unix.html

4.23 Хочу скопировать один диск на другой. Как?

4.24 Зачем нужны странные права доступа на каталогах, например, sticky или setgid bit?

Sticky bit (chmod +t) на каталоге означает, что файлы в этом каталоге могут стирать только их владельцы или суперпользователь. Обычно на /tmp и /var/tmp этот бит включен.

Setgid бит (chmod +g) на каталоге означает, что файлы, созданные в этом каталоге, будут иметь ту же группу-владельца, что и сам этот каталог. Также, если в setgid-каталоге создаются другие каталоги, то они также будут иметь setgid-бит.

По словам ДиДжея Бернстайна, "есть три метода задания групп-владельцев файлов: BSD-шный, бесполезный и SVR4-й. При BSD-шном методе файлы всегда получают ту же группу-владельца, что и каталог, в котором они были созданы. Это очень удобно с точки зрения администратора.(*) При бесполезном методе новые файлы принадлежат основной группе, на правах которой выполняется текущий процесс. Этот случай моментально приводит к настоящему кошмару. SVR4-й метод почти совпадает с бесполезным, но если на каталоге есть setgid-бит, то включается BSD-шный метод."

Заметьте, что с помощью флага монтирования bsdgroups можно включить BSD-шный метод работы с группами-владельцами. Подробности -- mount(8).

(*) Объяснение, почему удобно, можно найти в руководстве RedHat - rhref/s1-sysadmin-usr-grps.htm, Users, Groups and User-Private Groups)

4.25 Есть ли такая пpогpама для Linux, чтобы в сети Netware обойтись без tcpip - чтобы был только ipx?

Есть mars -- netware server для линукса (эмуляция нетваpевского сеpвеpа) ipx*, ncp*, nw* (из дистpибутива mars) - клиент.

Посмотрите Caldera Open Linux ( #www.caldera.com) - компания Caldera владеет исходными текстами Novell и переносит их на Linux. Netware for Linux - #www.calderasystems.com/support/docs/netware/.

4.26 После пересборки ядра пpи загpузке cиcтемы пpоcкакивают сообщения modprobe: Can't locate module net-pf-4 modprobe: Can't locate module net-pf-5 cat: proc/scsi/scsi: No such file or directory

Первые два устраняются добавлением в /etc/conf.modules строчек

alias net-pf-4 off
alias net-pf-5 off
Последнее - см. стартовые скрипты на предмет удаления/комментирования строки cat /proc/scsi/scsi.

4.27 При подъеме ppp в /var/log/messages появляются такие строчки: modprobe: Can't locate module ppp-compress-21 modprobe: Can't locate module ppp-compress-24 modprobe: Can't locate module ppp-compress-26

Добавьте в /etc/conf.modules:

alias ppp-compress-21 bsd_comp
alias ppp-compress-24 ppp_deflate
alias ppp-compress-26 ppp_deflate

4.28 Имеется сеть из PC + Linux, телефонная линия на Linux-e. Хотелось бы: с любого рабочего места отправить факс. Какой софт под Linux для этого существует в природе ?

hylafax - есть все, что в подобных случаях может понадобиться и сказано, где взять "клиентов" под DOS, Windows, etc. HО! принимать по одной линии (тел) и факсы и фидо не получится. :( Можно использовать mgetty, но факс-сервер придется делать самому, как делать можно подглядеть в hylafax. :)

4.29 * Q. Как натроить PPTP на Linux ?

#www.moretonbay.com/vpn/pptp.html

4.30 * Имеется сетка из машин под NT, Win95, и DOS, в ней же есть Linux с диалапным PPP к провайдеру. Как сделать так, чтобы все пользователииз локалки могли ходить по интернету?

Нужно настроить маскарадинг. Предположим, что внутренняя локалка имеет адреса 192.168.0.0 (как и положено по RFC-1918). Тогда :

#!/bin/sh

/sbin/insmod ip_masq_autofw
/sbin/insmod ip_masq_user
/sbin/insmod ip_masq_cuseeme
/sbin/insmod ip_masq_ftp
/sbin/insmod ip_masq_irc
/sbin/insmod ip_masq_mfw
/sbin/insmod ip_masq_portfw
/sbin/insmod ip_masq_quake
/sbin/insmod ip_masq_raudio
/sbin/insmod ip_masq_vdolive

/sbin/ipchains -F

/sbin/ipchains -P forward DENY

/sbin/ipchains -A forward -j MASQ -s 192.168.0.0/16 -d 0.0.0.0/0
Если Linux имеет адрес 192.168.0.1, то этот ip должен быть определен на хостах внутренней сети как default gateway.

Также полезно прочитать HOWTOs:

Firewall #linuxdoc.org/HOWTO/Firewall-HOWTO.html

IPCHAINS #linuxdoc.org/HOWTO/IPCHAINS-HOWTO.html

IP-Masquerade #linuxdoc.org/HOWTO/IP-Masquerade-HOWTO.html

Русская дока есть на #www.fima.net/masquerade.html

В 2.0 ядрах вместо ipchains используется ipfwadm, в 2.4 - netfilter, про который также есть HOWTO на #netfilter.kernlenotes.org

Если ничего не работает - проверьте, что находится в /proc/sys/net/ipv4/ip_forward :

$ echo "1" > /proc/sys/net/ipv4/ip_forward
(в Red Hat 6.2 и выше - не забудьте поправить /etc/sysctl.conf)

Утилиты для графического управления firewall-ом : fBuilder #www.innertek.com/ Mason #users.dhp.com/~whisper/mason/

4.31 Как настроить socks5 ?

Cофт лежит на #www.socks.nec.com

Предположим, что у вас есть машина с двумя интерфейсами (PPP/Ethernet или Ethernet/Ethernet). На внутреннем Ethernet-e адрес : 192.168.0.1. Самый простой вариант - аутентификация клиентов локалки только по адресу.

/etc/socks5.conf

permit - - 192.168.0. - - -
set SOCKS5_BINDINTFC 192.168.0.1:1080
set SOCKS5_NOIDENT
ICQ 99/2000 работает. Подробнее 'man socks5', 'man socks5.conf', #www.socks.nec.com. [там есть FAQ]

4.32 Как вырезать баннеры из веб-страниц?

Простейший способ - занесение соответствующих хостов - поставщиков рекламы в /etc/hosts с фиктивными ip адресами.

Более сложный, но и более гибкий - при помощи прокси-сервера Squid. Чаще всего для фильтрации используют ACL (Access Control List) типа "url_regex" (squid.conf, раздел ACCESS CONTROLS) типа:

acl Reclama_Banners url_regex ^#www1\.reklama\.ru/cgi-bin/banner/*
http_access deny Reclama_Banners
Или из файла :
acl Banners url_regex "/etc/squid/banners"
http_access deny Banners
В /etc/squid/banners вписываешь своих врагов (в виде регулярных выражений), например:
^#banners\.rambler\.ru/advert/.*\.gif
^#kulichki.rambler.ru/reklama/banners/.*\.gif
^#www.*\.yandex\.ru/cgi-bin/banner/*
^#www1\.reklama\.ru/cgi-bin/banner/*
^#www\.reklama\.ru/cgi-bin/banner/*
^#www\.reklama\.ru/cgi-bin/href/*
^#www\.100mb\.net/images/ban/banner.*\.gif
^#www\.bizlink\.ru/cgi-bin/irads\.cgi.*
^#www\.linkexchange\.ru/cgi-bin/rle\.cgi
^#www\.linkexchange\.ru/users/.*/goto\.map
^#www\.netcq\.com/banners/banner\.gif
^#1000\.stars\.ru/cgi-bin/1000\.cgi
А для вставки заглушки (скажем, прозрачного gif'а размером 1x1) можно использовать опцию deny_info.

Еще лучше с задачей фильтрации справляется специальная программа-фильтр squidguard #www.squidguard.org, ставится в дополнение к squid.

Более полный список баннеродержателей можно получить на #pail.pu.ru/

Можно сделать Transparent Proxy #www.lexa.ru/lexa/transparent-proxy.html



5. X Window

5.1 Как заставить pаботать в иксах <cупер-новую карточку> ?

Поискать название вашей карточки в #www.xfree86.org/FAQ/ или /usr/X11R6/lib/X11/doc/

Взять последнюю версию иксов, собранную производителем вашего дистрибутива, или, если производитель ее еще не собрал, то на ftp://ftp.xfree86.org. Стоит сперва ограничиться _только_сервером_ под эту самую карточку, и, как правило, лучше на этом и остановиться (вот если он работает, но ищет конфиги где-нибудь не там, где они у вас лежат - можно подумать о замене всего остального.) Hамек: если вы не видите сервера с именем вашей карты - проверьте, не поддерживает ли ее сервер SVGA. Он не так прост, как можно подумать по названию. В XFree 4 остался единственный сервер, а поддержка конкретных карточек вынесена в подгружаемые модули. Поэтому (теоретически), если у вас четвертые иксы, то нужно найти только модуль для вашей карточки.

5.2 Как рассчитать Modeline под требуемую частоту развертки?

По идее, если вы правильно указали максимальные возможности вашего монитора в утилите настройки иксов (XF86Config, xf86setup, Xconfigurator), то эта утилита должна сама прописать в файле конфигурации ModeLine, выжимающий максимум из вашего монитора. Если вы не хотите полагаться на ее интеллект, то можно посмотреть готовые стандартные Modeline через strings `which xf86setup` и найти подходящую. Если по каким-то причинам с этой ModeLine возникают проблемы, то вопсользуйтесь советом от Alexei Dets:

Для начала находите Modeline с требуемым вам разрешением, но не устраивающей вас частотой, т.е. слишком низкой, например. Hайти такую строчку можно, например, в XF86Config, сгенеренным инсталлятором дистрибутива.

Проверяете работоспособность данного видеорежима на вашем мониторе. Если видеорежим устанавливается, пусть даже с некоторым смещением картинки от центра экрана, чуть-чуть другим размером и т.п. можно идти дальше. Иначе рекомендуется выбрать другую Modeline или подогнать эту при помощи xvidtune. Скажем, у нас имеется строчка:

Modeline "640x480"     25.175 640  664  760  800   480  491  493  525
Какая здесь сейчас установлена частота развертки?

Ответ: 25175000/800/525=59,9 Гц.

Т.е. необходимо первую цифру, умноженную на миллион, разделить на пятую и на последнюю. Соответственно, как получить требуемые нам, например, 120 Гц?

Ответ: 800x525x120/1000000=50,4

Соответственно, результирующая строчка:

Modeline "640x480"     50.4 640  664  760  800   480  491  493  525
Можете пробовать :-) Скорее всего, картинка будет неправильно центрирована и будет иметь неверный размер, но это легко лечится при помощи xvidtune. Полученная при помощи него строчка будет уже окончательной. Владельцы современных мониторов могут просто подстроить размеры и центровку из меню :-)

Примечание: все данное "шаманство" подробно объяснено в /usr/X11R6/lib/X11/doc/VideoModes.doc или на русском в #knot.pu.ru/faq/xfaq.html.

Примечание 2 от Alex Kanavin: в XFree86 4.x произошли некоторые изменения. Во-первых, в X cервере теперь определен набор стандартных VESA режимов, из которых подбирается оптимальный, исходя из параметров конфигурационного файла HorizSync и VertRefresh. То есть очень возможно, что вы получите наилучший результат, вовсе не прописывая ModeLine в конфиге, но только если интересующая вас частота развертки - одна из 60, 70, 75, 85 Hz. Имена у этих режимов традиционные - "640x480" и т.д., вплоть до "1920x1444" :-)

Во-вторых, в будущем X сервер сможет получать информацию о возможностях монитора непосредственно от него самого через VESA DDC. Для некоторых чипсетов она печатается при загрузке сервера, но пока не используется. Неясно также, как можно будет выбирать из режимов с одинаковым разрешением, не полагаясь на интеллект сервера.

5.3 * Как переключать глубину цвета, не выходя из иксов?

При работающем X сервере уже не переключиться, но можно запустить рядышком еще один - если это XFree, а не какой-нибудь коммерческий сервер (через startx -- :1 -bpp 8 или добавив аналогичную строку в /etc/X11/xdm/Xserver, если используется xdm). В XFree 4 глубину цвета можно переключать на лету через DGA2, но подробности пока неизвестны.

5.4 Разница между иксовыми сервером и клиентом

X, XF86_SVGA и т.п. - скорее сервер, чем клиент. Клиенты - это xterm, xeyes, netscape и т.п. Запускают их как обычные программы, т.е. с командной строки, из midnight comander'а и т.п. Можешь еще попросить свой window manager, чтобы он сочинил тебя на экране такую штуку с иконками, в которую тыкаешь и запускаются новые иксовые програмки. Кстати, они не обязаны быть иксовыми. В юниксе нет такого жесткого деления между графическими и текстовыми программами, как в Windows или OS/2. С точки зрения системы нет разницы между иксовой программой и обычной. Иксовая программа сама коннектится к X-серверу (через TCP/IP в общем случае, и через локальный сокет в частном, когда X-сервер и X-клиент живут на одной машине). Делает она это не с помощью специальных отношений с системой, а обычными вызовами socket(), connect() etc. Занимается всем этим библиотека xlib, которая линкуется к каждому иксовому клиенту. Все, что ей надо от жизни, это знать, где искать x-сервер (для этого используется либо переменная environment'а DISPLAY, либо опция в командной строке). Более того, существуют даже программы, которые умеют работать и с x-сервером и с обычным текстовым терминалом (например - emacs) и сами разбираются при старте, как именно им работать в данном случае.

5.5 Возможно ли одновpеменно pаботать в full screen и в X Window и пеpеключаться между ними? Если да, то как?

Да, Ctrl-Alt-F# (из иксов в текстовый режим) или Alt-F# (обратно, только нужно найти первую свободную от getty консоль, обычно седьмую).

5.6 Как установить глубину цвета по умолчанию?

man XF86Config на предмет DefaultColorDepth

5.7 * Как сделать так, чтобы иксы автоматически стартовали при загрузке компьютера? (и регистрация пользователей осуществлялась бы уже в них?) Наоборот, как отключить такую загрузку и получить обычный текстовый режим?

Нужно запустить (запретить запуск) Display Manager, например xdm (поставляется с cамими иксами), gdm (из GNOME), kdm (из KDE). Он может запускаться из rc скриптов или как сервис SysV, но чаще всего его прописывают в /etc/inittab:

x:5:respawn:/etc/X11/xdm -nodaemon
Поэтому там же нужно поменять runlevel по умолчанию:
id:3:initdefault:
В RedHat display manager грузится на пятом runlevel, а обычный "текстовый" runlevel - 3, в других дистрибутивах это может быть не так. Изучите содержимое /etc/inittab, прочтите man inittab и действуйте по обстоятельствам.

Display manager можно настроить так, чтобы он позволял входить не только в локальную систему, но и в удаленные, если там также работает Display Manager, отвечающий по протоколу xdmcp - получается эмуляция аппаратного икс-терминала. Подробности в man xdm.

5.8 Какой Window Manager выбрать?

#www.themes.org

5.9 * Где найти X Server для Windows ?

5.10 Как прикрутить TrueType шрифты к иксам ?

Hаиболее оптимальным решением является установка патченого XFree86 со встроенной поддержкой TrueType шрифтов. В последнее время большинство дистрибутивов поставляется именно с таким вариантом XFree. Вы можете и сами собрать для себе патченные X-сервер и фонт-сервер, для этого вам необходим набор патчей xfsft ( #www.dcs.ed.ac.uk/home/jec/programs/xfsft/). Единственным отличием TrueType шрифтов от остальных в данном случае является то, что файл fonts.dir генерится при помощи программы ttmkfdir, а не mkfontdir.

В случае, если у вас нет возможности или желания доставать новый X-сервер или исходники XFree, то неплохим вариантом является использование сервера шрифтов xfstt. Подробная документация по его использованию есть в его исходниках. Hедостатком данного подхода является отсутствие поддержки fonts.alias.

Оба варианта отлично работают как с обычными, так и с юникодными TrueType шрифтами.

5.11 А будет ли в иксах поддержка font antialiasing?

Будет. Вот подробности от Ivan Pascal

Если посмотреть по исходникам XFree86 4.0, то можно заметить, что

Вот только по умолчанию ни серверная часть ни библиотека не компилируется. В коментариях сказано - "это пока бросим, по крайней мере временно".

5.12 * А почему в иксах так медленно проигрываются мпеги? Подскажите нетормозящую проигрывалку mpeg/videoCD, умеющую fullscreen, etc

Попробуйте запустить top во время проигрывания - увидите, что очень много ресурсов отъедают сами иксы, то есть программно выполняется гораздо больше операций чем в Windows. Дело в том, что до недавнего времени в иксах отсутствовала поддержка двух совершенно необходимых для качественного вопроизведения видео вещей - прямого доступа к видеопамяти и аппаратного масштабирования и сглаживания. В XFree 4 появились расширения, обеспечивающие эти функции - DGA2 и Xv. Поэтому для качественного вопроизведения мпегов необходимы следующие условия:

(данный ответ не претендует на истину в последней инстанции, пожалуйста уточните его, если Вы в большей степени в курсе дела)

6. Прочее

6.1 Как прочесть документы Microsoft Word?

#www.ice.ru/~vitus/catdoc/

#www.csn.ul.ie/~caolan/docs/MSWordView.html

word2x про неанглийские языки ничего не знает.

6.2 Как отключить linux single в lilo ?

man lilo.conf на предмет password и restricted.

6.3 <Шибко-умная-программа> затерла мне lilo, cтоявший в mbr. Как мне его восстановить?

Берете ближайшее ядро и загружаете его с параметром root=устройство-где-у-вас-корневой-раздел. Входите в систему как root и выдаете команду lilo.

6.4 Как мне заставить работать WinModem ?

(Совместный ответ Alexander Pevzner и Alex Korchmar)

  1. Раздобудьте спецификацию V42 и V34. Это всего $80, afair. ("синяя" книжка) А теперь попробуйте по этой спецификации написать что-нибудь работающее.
  2. Что, не получилось? Тогда выбросьте свою железяку в ведро и ставьте нормальный модем.

Если вам это удастся (вдруг ;) - имейте в виду, вы собираетесь выкинуть в free source то, за что многие производители не-вынь модемов платят мегабаксы. Я очень сильно подозреваю, что на свете существует ровно одна хоть за дикие деньги продающаяся реализация v.42/42bis и ровно четыре не продающихся ни за какие деньги реализации v.34. (авторы драйверов под вынь, скорее всего, получают только .obj без права лазить внутрь, так что не думайте, что они писали код с нуля или хотя бы имели к нему доступ - это противоречит самой идее "дешевых" модемов)

Обращайтесь на #www.linmodems.org за более подробной информацией.

6.5 Как настроить USB устройство?

#www.linux-usb.org/USB-guide/book1.html

6.6 Мне нужна прога под Linux для вытягивания файлов, поддерживающая докачку/прога типа Teleport Pro для вытягивания веб-сайтов...

Прога называется wget

6.7 А как настроить фидо под Linux ?

Фидософту под юниксы посвящена отдельная эха ru.unix.ftn. Полный список этого фидософта c URL появляется там, в ru.linux и в ru.unix (ищите по словам FidoSoft URL Mini-FAQ), а также лежит на #www.sensi.org/download/fidosoft.html. Готовые пакеты лежат на #donlug.dn.ua/~aks/.

Есть несколько вариантов:

  1. Можно настроить dosemu и читать фидо и/или запускать мейлер под ним.
  2. Если вам нужен именно линуксовый мейлер, то нужно использовать ifcico из пакета ifmail, qico или binkleyforce, которые сами по себе, для модемных соединений и binkd для BinkP-шных. ifmail берется на ftp://oskin.macomnet.ru или #www.average.org/ifmail/, qico - на #www.yasp.com/~pqr, bikleyforce - #adb.newmail.ru, binkd - #www.corbina.net/~maloff/binkd/.
  3. В качестве тоссеров можно использовать hpt ( #www.tichy.de) или Crashmail ( #www.freshmeat.net).
  4. В качестве читалки можно использовать GoldEd для Linux. Его русификация описана в разделе "Русификация".
  5. Cамый идеологически правильный вариант - настроить гейтование эх в ньюсы и обратно. Вариант ifmail+inn+sendmail довольно неплохо описан в #howto.id.ru Этой же теме посвящен отдельный faq, который появляется здесь, в ru.linux (ищите по словам fido unix faq) и лежит на #www.cityline.ru/~jav/linux/ или #lnx.net.ru. Вместо cтандартного гейтователя из ifmail можно использовать пакет fidogate. ( #www.fido.de/fidogate/) Про него также есть русскоязычный faq, который ищется в ru.linux по словам fidogate faq. Полезно заглянуть и на #f1838.euro.ru/fidogate/.
  6. Hоды могут использовать passthrough тоссер SqWish. При этом для passthrough почты не будет выполняться ненужного гейтования туда-сюда, а сам нод может читать/писать почту с поинтового адреса. Берется в фэхах AFTNMISC, DFTNSQSH. Вам нужен файл SQW-X2ES.ZIP.

6.8 Как мне настроить звук ?

Если у вас RedHat-based система, то можно запусить утилиту sndconfig. Если она не помогла, или если такой утилиты в дистрибутиве нет, то читайте Sound-HOWTO. Многие новые карточки можно заставить работать с помощью драйверов ALSA #www.alsa-project.org

6.9 Проблемы при настройке ppp

Читайте #www.nitek.ru/~igor/pppd/ или #nitek.east.ru/~igor/pppd/.

6.10 Как смонтировать ext2fs не под Linux ?

Информация с #www.penguin.cz/~mhi/fs/Filesystems-HOWTO/Filesystems-HOWTO-6.html

Windows NT: (read/write) #www.chat.ru/~ashedel

Windows 9x: (r/o) #www.yipton.demon.co.uk

Windows 95/98/NT/2000: (write experimental): #uranus.it.swin.edu.au/~jn/linux/

OS/2: (R/W) на хоббесах, ext2_240.zip

6.11 * Где найти ssh клиент под Windows ?

#www.datafellows.com

Все остальное не умеет соединяться с серверами версии 2 (которыми лучше не пользоваться из-за лицензии и сырости).

Но если на той стороне стоит сервер первой версии, то лучше взять TeraTerm ( #www.vector.co.jp/authors/VA002416/teraterm.html) с ssh-пагином ( #www.zip.com.au/~roca/download.html), а еще лучше PuTTY ( #www.chiark.greenend.org.uk/~sgtatham/putty/, умеет делать перекодировку KOI8-R --> Win-1251, с исходными текстами, в комплект входит scp).

6.12 Где взять Java Development Kit for Linux?

#www.blackdown.org/ там же можно найти и некоторые средства разработки и прикладные программы на Java

Сравнение benchmarks JAVA: #www.volano.com/report.html

6.13 Можно ли работать под линуксом с Ораклом?

На все вопросы по ораклу под линуксом отвечают в fido7.ru.rdbms.oracle. Еще есть замечательный список рассылки ORACLE-LINUX@fatcity.com

6.14 Чем посмотреть/сыграть ...?

Еще рекомендуется пойти на #www.freshmeat.net -> application index -> multimedia... Сразу с последними версиями и кнопкой download.

6.15 Игры под Linux

#www.linuxgames.org.ru

#happypenguin.org

#www.linuxgames.com

6.16 Почему пpи запуске только что откомпилиpованного a.out и вообще некотоpых пpогpамм пpямо из bash или csh выдается ...not found, а пpи запуске из mc все ноpмально ?

В юниксоподобных операционках текущий каталог отнюдь не является путем поиска по умолчанию. Можно или набирать что-нибудь вроде ./a.out, или добавить '.' к $PATH, хотя для пользователя root наличие текущего каталога в пути является опасным. (а для всех остальных - нежелательным)

6.17 Почему при запуске графических программ получается сообщение "Not running in graphics-capable console..." ?

Hадо выйти из mc перед тем как.

6.18 Как подключить УК-НЦ в качестве терминала к Линуксу?

#www.chat.ru/~uk_nc/

6.19 А существует ли софт для записи CD-R под Linux?

Да. В простейшем случае - сочетание mkisofs и cdwrite или cdrecord. Если нужна графическая оболочка - xcdroast или BurnIT. Существует также соответсвующий HOWTO.

6.20 RPM и написание .spec

Начните с #www.rpm.org

в качестве образца для .spec очень хорошо подходит авторский .spec от nmap. если вы хотите сделать binary rpm не пересборкой из source, а имея в руках дерево уже установленной программы - просто напишите spec из одних %files - rpm достаточно сообразителен, чтобы не делать install, если нет %install. наиболее простой способ сгенерить список для %files -

find /usr/src/test-install -type d \! -path \*/usr \! -path \*/usr/local \
        \! -path \*/usr/local/bin \! -path \*/usr/local/sbin | \
        sed -e 's|^/usr/src/test-install/|%dir /|' >> file.spec
find /usr/src/test-install -type f | sed -e 's|^/usr/src/test-install/|/| >>
                file.spec
естественно, если ты ставился в /usr/local/эта-программа а не использовал BuildRoot, то извращения с sed не нужны, если запускал make install от рута - то не нужна возня с %attr, и, наконец, %files умеет -f. (извращения с -path - чтобы не включать не относящиеся к твоему пакету каталоги /usr, /usr/local и т.д. Hа самом деле там гораздо больше)

ну и rpm -bb этот.spec в зубы. (результат найдешь в $RPMROOT/RPMS/${ARCH}/ )

6.21 Написание/произношение некоторых слов.

X Window System пишется именно так. Никакой s в слове Window нет и пишется оно отдельно от X. Другие варианты написания - man X. Услышать, как Linus Torvalds произносит свое имя и cлово Linux, можно, сгрузив файл english.au или swedish.au с ftp://ftp.funet.fi/pub/Linux/PEOPLE/Linus/SillySounds/ Этот же файл проигрывается при настройке звуковой карты с помощью sndconfig.

6.22 Что такое "бНОПНЯ" ?

Это "Вопрос" в виндовой кодировке. Насколько мне (ak) известно, это cлово первым употребил Владимир Бутенко.



Last-modified: Fri, 07 Jul 2000 04:21:12 GMT
World LibraryРеклама в библиотекеБиблиотека не предназначена для детей! Проект Либмонстра, партнеры БЦБ - Украинская цифровая библиотека и Либмонстр Россия https://database.library.by