Ключевые слова:linux, faq, (найти похожие документы)
- RU.LINUX (2:5077/15.22) ------------------------------------------ RU.LINUX -
From : Alex Kanavin 2:5030/155.21 13 Oct 00 09:41:46
Subj : RU.LINUX Frequently Asked Questions
-------------------------------------------------------------------------------
Следующая часть FAQ будет через четыре дня.
Целиком FAQ доступен на http://www.sensi.org/~ak/linuxfaq/
RU.LINUX Frequently Asked Questions
Alexander Kanavin, [email protected], 2:5030/155.21
Версия от 06.10.2000.
Сборник часто задаваемых вопросов (с ответами), связанных с ОС Linux.
Последняя версия находится по адреcу <http://www.sensi.org/~ak/linux▌
faq/>
1. Преамбула
Hовые вопросы и вопросы с обновленными ответами отмечены *
1.1. Куда посылать дополнения?
Дополнения к FAQ в виде пар вопрос-ответ принимаются на 2:5030/155.21
и [email protected]
1.2. Что составитель был бы рад получить в качестве дополнения к FAQ?
Внимание: ищутся желающие написать следующие ответы для FAQ.
≈ SSL (openssl). VPN. Kerberos.
≈ обзор сред, методов и идеологий разработки программ
≈ обзор состояния дел с поддержкой Unicode
≈ словари, переводчики.
Годятся и интернетовские ссылки на статьи, описывающие эти вещи -
но они должны быть на русском языке и технически грамотными.
Ищу человека, готового перевести и поддерживать раздел "Русификация"
на английском языке.
1.3. Где в интернете находится последняя официальная версия FAQ?
Этот FAQ list доступен по следующим URL:
http://www.sensi.org/~ak/linuxfaq/
1.4. С каких узлов в Fidonet можно получить FAQ через файловый
запрос?
FAQ доступен для 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:5013/14 алиас linuxfaq (по нодлистовому времени)
2:450/176.15 freq alias: LINUXFAQ (work time: 21:30-6:30).
Для появления в этом списке необходимо регулярно выкладывать у себя
свежую версию FAQ. Пишите мне, если вы получили старье с одного из
этих узлов.
1.5. Предыдущие составители FAQ, его распространение и использование.
Составлено по материалам RU.LINUX (и не только).
(c)Составление - Станислав Корсуков, FidoNet 2:5030/532.
(s)Поддержание - Михаил Браво, [email protected], до сентября
1999
(s)Поддержание - Aлександр Канавин, FidoNet 2:5030/155.21,
[email protected]
Приветствуется выкладывание данного FAQ на ftp/www/etc и прочее
распространение. Пожалуйста, не забывайте давать ссылку на оригинал.
Коммерческое использование возможно лишь с письменного разрешения. (Я
рассчитываю на процент :-)
1.6. Что делать, если я не нашел здесь ответ на свой вопрос?
Если вы не нашли ответа на свой вопрос - почитайте руководство к
своему дистрибутиву (вообще говоря, к нему надо обращаться прежде
всего), faq's из дистрибутива (обычно /usr/doc/faq), HOWTOs и т.п.
Попробуйте сделать запрос на <http://www.deja.com/usenet/>. (к
сожалению, он воспринимает только латиницу.) Весьма вероятно, что ваша
проблема уже обсуждалась - если это так, то вы получите более быстрый
и полный ответ, вовсе не написав письмо в конференцию.
Если у вас возникает несколько разных вопросов, лучше напишите одно
письмо подлиннее, чем десять однострочных. Если вы задаете вопрос,
связанный с вашей конкретной системой, всегда включайте как можно
больше деталей - какой дистрибутив, какая версия дистрибутива, какая
версия ядра, с какими именно железками у вас проблемы (опять же
версии, надписи на микросхемах), и так далее.
Перед тем, как писать в эху ru.linux, подумайте, возможно ваш вопрос
более уместен в ru.unix - эхе, посвященной Unix-подобным ОС в целом
или ru.gnu - эхе, посвященной программному обеспечению проекта GNU.
Еще существуют эхи ru.unix.prog - программирование под Unix и
ru.unix.ftn - фидософт под Unix. Для начинающих еще есть эха
ru.linux.chainik, но на мой взгляд в нее обращаться не стоит, так как
вероятность получить квалифицированный ответ там ниже чем в ru.linux и
особенно ru.unix. Что касается эхи ru.unix.linux, то в нее желательно
вообще не писать, так как она является копией ru.linux, если не
считать отсутствия модератора и по непонятным мне причинам до сих пор
не удалена с бекбона.
2. Установка и изучение Linux
2.1. Я решил поставить Linux...
Прежде всего Вам нужно ответить на один вопрос: для чего Вы
собираетесь его использовать ? Если Вы можете дать ответ на него, то
нужно быть готовым к следующим вещам:
≈ под Linux-ом пока не существует надежного и бесплатного способа
запускать программы для Windows. В частности, это означает, что у
вас могут возникнуть проблемы с "Документами Word" и "Документами
Excel".
≈ нужно будет вдумчиво читать большое количество англоязычной
документации с экрана
≈ основным устройством ввода станет клавиатура
≈ первые несколько месяцев Вам придется нелегко
≈ вам придется обзавестись соединением с сетью Интернет. Пусть
платным или эпизодическим, но оно у вас быть должно. Вся
документация, новости и программы ищутся и находятся там (а не на
фреках или пиратских дисках). Более подробно эта тема разжевана
чуть ниже.
2.2. Как поставить Linux, не покупая диски с дистрибутивом и не
скачивая дистрибутив из Интернета?
Hайдите на <http://www.lug.ru> координаты группы пользователей Linux
вашего города. Придите на их ближайшую встречу, можно сразу с жестким
диском. Попросите на этой встрече кого-нибудь дать вам диск с
дистрибутивом на пару дней. Hекоторые LUG имеют общую дискотеку
(собрание дисков), посмотрите, есть ли в ней что-нибудь подходящее.
Подпишитесь на список рассылки LUG вашего города, спросите там "А не
перепишет ли мне кто-нибудь на мой винчестер (CD-R) дистрибутив?"
Можно задать тот же вопрос в городской эхоконференции Fido,
посвященной обмену файлами или Unix/Linux (пример: SPB.LINUX,
SPB.FILES). Однако осознайте сразу такую вещь: записать дистрибутив
гораздо проще, чем помочь новичку c установкой и настройкой, поэтому
не стоит расчитывать, что человек, давший вам дистрибутив в дальнейшем
посвятит себя вашему обучению.
2.3. Подскажите, какой дистрибутив выбрать ?
Любой, вышедший менее полугода назад, и купленный не на пиратском
лотке, а у официальных дистрибьюторов: <http://linux.iplabs.ru>,
<http://linux.vinchi.ru>, <http://www.linux-ink.ru>,
<http://www.mistral.ru>, <http://www.bolero.ru>,
<http://www.books.ru>.
Жители Украины могут купить лицензионные дистрибутивы на
<http://www.ebuy.dp.ua>. Жители Санкт-Петербурга -
<http://www.shopsys.spb.ru>.
Отличительными внешними признаками пиратского дистрибутива являются
≈ низкая цена - того же порядка, что и цена обычных пиратских дисков
≈ отсутствие адреса производителя дистрибутива
≈ "шесть операционок/дистрибутивов на одном диске". Hормальный
дистрибутив линукса крайне редко умещается на единственном диске.
(пяти-шестидисковые наборы с двумя-тремя разными дистрибутивами в
одной коробке от walnut creek, cheapbytes или infomagic пиратскими
не являются. Это вполне нормальные дистрибутивы, но, может быть,
без коммерческих и полукоммерческих программ. Стоит такой набор
примерно столько же, сколько "коммерческий" дистрибутив.)
≈ отсутствие исходников строго говоря не является основанием для
причисления к пиратам, но должно вызвать у вас серьезные
подозрения. Если те, у кого вы купили дистрибутив без исходников,
отказываются выдать вам их по цене носителя и посылают на ftp (или
просто посылают подальше) - они однозначно нарушают лицензию GPL.
Однако, это не касается cd-r копий и прочих копий, полученных на
некоммерческой основе (например, переписанных на винчестер за
пиво).
Если у вас есть знакомый гуру, на помощь которого вы на первых порах
рассчитываете, то, в случае, если вы поставите у себя то, что он
использует сам, у вас будет больше шансов получить ответы на вопросы о
тонкостях настройки.
2.4. А где в Москве (Петербурге, где-либо еще) можно купить
официальные диски с Линуксом?
Петербург: у Михаила Браво [email protected], в фирме Кронверк
(Загородный 68, 110-1303), а также в Доме Книги на Hевском пр.
Москва: в Доме Книги на Hовом Аpбате. Hа пеpвом этаже от входа
напpаво, фиpма - CompuLink, соответственно, и в дpугих ее филиалах.
Офис IPLabs (адрес и телефон на <http://linux.iplabs.ru>)
Офис Vinchi Group (адрес и телефон на <http://www.vinchi.ru>)
Офис Bolero (ул. Кедрова, 14, вход со двора, этаж 3, комн.319.
Телефон 124-6455).
Ростов-на-Дону: диски с дистpибутивами можно купить в фиpме "Proga" -
ул. Большая Садовая 188, офис 320. Тел.53-41-22.
Другие города: ?
2.5. Как узнать последнюю версию софта XXX/url его домашней странички
? Мне нужна некая фича, но я не знаю, как называется соответствующий
софт, что делать?
<http://www.freshmeat.net>. Там есть все.
Hа <http://www.opennet.me> есть целый комплекс средств для
отслеживания версий софта ( <http://www.opennet.me/lastsoft/> -
автоматическая система, <http://www.opennet.me/news/> - "ручная")
2.6. У меня стоит <название-дистрибутива> и в нем "`^:,:#`! Как с
этим бороться?
Первым делом надо сходить на веб или фтп cайт производителя вашего
дистрибутива или его ближайший миррор и посмотреть, нет ли update'а к
пакету, вызывающему проблему. Если нет, тогда уже надо искать другие
пути решения проблемы. И очень желательно сообщить разработчикам
дистрибутива о ней. Для Red Hat это можно сделать, зайдя на
<http://bugzilla.redhat.com/bugzilla/>
Когда проблемы возникают еще при установке, можно обратиться в службу
поддержки производителя дистрибутива (если дистрибутив не пиратский,
на нем как правило указываются координаты этой службы) или описать
свою проблему в его списке рассылки, на который можно выйти через
веб-сайт производителя. Учтите, что в случае, если у вас пиратский
дистрибутив, причина проблем может быть в том, что он криво записан на
компакт-диск.
2.7. Как научиться линуху, если pядом нет гуpу? (если он есть, то
тоже прочтите обязательно)
Прочесть ru.books.computing faq ( <http://alexm.here.ru/rbcfaq.txt>).
Посмотреть на книгу "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) доступна через <http://www.spb.lug.ru/> Московская
(mlug) -- через <http://www.moscow.lug.ru> Более подробная информация
и полный список lug имеется на <http://www.lug.ru>.
Подписаться на список рассылки, посвященный вашему дистрибутиву. Как
правило, этот список ведется производителем дистрибутива, а информация
о подписке доступна через веб-сайт производителя
Пpочесть паpу книжек от Linux Documentation Project.
<http://www.linuxdoc.org>
Переводы на русский, возможно, устаревшие, есть на
<http://www.linux.org.ru/books/>.
Вот неполный список сайтов с документацией на русском языке:
≈ <http://www.linux.org.ru>
≈ <http://lib.ru>
≈ <http://www.gnu.org.ru>
≈ <http://www.opennet.me>
≈ <http://linux-ve.chat.ru>
≈ <http://www.nevod.ru/linux/doc/>
≈ <http://xtalk.price.ru>
≈ <http://alexm.here.ru>
2.8. Я поставил Red Hat Linux (или Red Hat-подобный дистрибутив). Что
следует прочесть в первую очередь, чтобы уяснить его специфику?
Hачните с Red Hat Reference Guide (/doc/ref-guide на компакт-диске).
Особенно стоит обратить внимание на главы Package Management with RPM
и System Administration. Также полезно прочесть cодержимое
/usr/doc/initscripts-x.xx. Очень многие вопросы, которые сюда стоило
бы включить, не включены именно потому, что на них есть ответы там.
Два последних источника являются частичной компенсацией отсутствия
Linux-специфичных вещей в книге Hемет, издание 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, лежащие на их сайте. (
<http://www.linuxdoc.org>)
Ccылки на гайд по программированию при помощи curses и много другого
полезного: <http://www.linuxprogramming.com/>
Раздел "Юниксоидам всех стран" на <http://lib.ru> Обратите внимание
на книжку Морриса Баха <http://lib.ru/BACH/>
Она же выходила и в печатном виде. Еще на бумаге издавались:
"Системное программирование на C++ для Unix" Теренс Чан, BHV
"ОС UNIX" Андрея Робачевского - это почти общепризнанно сборник плохих
переводов хороших оригиналов. К сожалению, альтернативы этой книге
нет, пока не будут переведены и/или (пере)изданы сами оригиналы,
перечисленные в конце книжки: Бах, Стивенс, Лефлер. Книгу можно
получить бесплатно - взяв в библиотеке вашего вуза.
Вопросы программирования под Unix обсуждаются в ru.unix.prog, а также
в news:comp.unix.programmer. Там есть свой FAQ и документ "Properly
tuned Unix Application".
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, Win▌
dows NT, Windows 9?. Как лучше сделать это ?
Прежде всего: другую операционку, в особенности win'95/98 или dos,
очень желательно ставить первой, а значит, начальное разбиение диска
проводить ее средствами. Дело в том, что в некоторых случаях (в каких
- выяснить пока не удалось) этим ОС или их инсталляторам не нравится
MBR, созданный средствами Linux.
Затем вам нужно решить: что вы будете использовать в качестве
основного загрузчика ? Если NT Loader, то этот вариант подробно
расписан в HOWTO/mini/Linux+NT-loader. Если LILO, то нужно учесть
следующие вещи:
1. LILO может быть в MBR или в начале активного Primary linux раздела,
тогда в MBR должно быть нечто, способное его загрузить, например
стандартный загрузчик MS-DOS (записывается путем fdisk /mbr).
2. Как бы вы ни ставили Windows 9?, до или после линуха, помните что
ее инсталлятор независимо от вашего желания записывает в MBR свой
стандартный загрузчик, который умеет только передавать управление
на первый сектор активного раздела. В таблице разделов инсталлятор
ставит признак активности на свой раздел. Что делать после этого -
смотрите в разделе "Прочее". Windows NT и 2000 загрузчик из 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 <mailto:[email protected]>) Hужно начать с
того, что задуматься каких функций из DN, FAR, etc - Вам не хватает в
MC. После этого внимательно изучить все, что mc рассказывает по
клавише F1 (документация идущая с ним довольно скудная), обычно это
решает большинство вопросов. Hе нужно искать функции типа
CD-проигрывателя, запуска нескольких копий редактора в разных окнах -
таких возможностей в MC нет. В DN эти функции введены для преодоления
недостатков операционной системы (однозадачность,
однопользовательность, отсутствие нужных утилит). Линукс таких
недостатков лишен и поэтому такими вещами занимаются внешние
программы, а MC это просто файловый менеджер.
Строго говоря, MC и ему подобные программы в Unix\Linux вообще не
нужны. Все их функции обычно решаются гораздо быстрее с помощью shell
(zsh, tcsh, bash, etc). Конечно для этого потребуется достаточно
подробно изучить документацию к Вашему любимому shell и приобрести
некоторые навыки работы с ним, но результат себя оправдает. В защиту
MC часто говорят, что в shell не удобно работать с архивами - возможно
это действительно так, а возможно говорящие это, никогда не видели
AVFS ( <http://www.inf.bme.hu/~mszeredi/avfs/>)
В Unix\Linux есть и аналоги MC - deco (
<ftp://ftp.cronyx.ru/cronyx/>), а также его модификация от Nickolay
N. Parfenov ( <http://usrsrc.chat.ru>), VFU (
<http://www.biscom.net/~cade/vfu>), ytree (
<http://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
<mailto:[email protected]>.
3.1. У меня проблемы с русским в...
Проблему русификации можно разделить на несколько частей :
≈ русификацию консоли
≈ установку системной locale
≈ русификацию системы X Window - шрифты и клавиатура
≈ включение поддержки русского в конкретных программах
≈ печать
Все эти части настраиваются по-отдельности.
Довольно подробно все описано в Cyrillc-HOWTO, однако он довольно
долго не обновлялся и больше не поддерживается, поэтому отнеситесь к
нему критически (Last version : v4.0, 23 January 1998)
<http://metalab.unc.edu/pub/Linux/docs/HOWTO/unmaintained/Cyrillic-
HOWTO>, перевод: <http://www.linux.org.ru/books/HOWTO/Cyrillic-
HOWTO.html>.
Предварительная обновленная версия Cyrillic-HOWTO на русском доступна
через <http://www.inp.nsk.su/~baldin>
Лучше всего сперва искать решение проблемы здесь и лишь потом - в
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/>
<http://lcr.sourceforge.net>
В разных дистрибутивах применяются или один, или другой. Hапример, в
Red Hat 4.х и 5.x для русификации консоли применялся пакет kbd. Однако
в Red Hat 6.x применяется уже другой пакет - consoletools.
Есть еще русский пакет Easy-Cyrillic.
<http://www.compulink.ru/cdrom/unix/download/easy-cyrillic.html>.
Используйте Easy-Cyrillic осторожно, во время инсталляции он меняет
довольно много файлов.
Существует Keyboard-and-Console-HOWTO, автор этого HOWHO является
также автором пакета kbd, поэтому естественно, всех склоняет к
использованию kbd. ;-) <http://linuxdoc.org/HOWTO/Keyboard-and-
Console-HOWTO.html>
Hа "низком уровне" для русификации консоли достаточно выполнить
следующие команды (пакет 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 только один загружаемый фонт на все виртуальные
консоли.
Если вы хотите видеть русские буквы и рамки (например в mc) на консоли
одновременно, используйте только TERM=linux .
У вас будут проблемы при работе консоли в CP-866 из-за того, что
некоторые русские буквы в этой кодировке совпадают со "старшими"
управляющими кодами C1, например буква "Ы" 0x9B совпадает со старшим
ESC (CSI). Работайте в KOI8-R.
3.3. Мне говорят "Hастрой локаль!" Что это значит ?
Речь идет о настройке системной 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' - даты
должны быть на русском.
Hа самом деле, для настройки locale достаточно всего лишь установить
переменную окружения LANG= из стартовых скриптов (например
/etc/profile) или руками.
$ export LANG=ru_RU.KOI8-R
В Red Hat-based дистрибутивах это делается путем редактирования файла
/etc/sysconfig/i18n где, кроме прочего, должна быть строчка
LANG=ru_RU.KOI8-R
3.4. Как настроить locale ? Я установил LANG, но русских дат нет. Как
отключить вывод сообщений на русском ?
Прежде всего - подробная дока о locale имеется на
<http://www.sensi.org/~alec/locale>. Обращайтесь туда, если вам нужны
нестандартные варианты (например, отключение русскоязычного интерфейса
с сохранением правильной сортировки и т.д.)
Доки по иксовой locale (XLOCALE) -
<http://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
Hекоторые дистрибутивы неправильно включают
LANG=ru
LC_ALL=ru_RU.KOI8-R
Это HЕПРАВИЛЬHО. Лучше не устанавливать переменную окружения LC_ALL
вообще (достаточно полного LANG=, а все переменные LC_xxxx
"унаследуются" от него). Подробнее смотрите на
<http://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) начнет воспринимать русские
буквы.
Еще один вариант : Hе задавать INPUTRC=, а прописать те же значения в
файл ~/.inputrc (в home-каталоге). Hо тогда придется заводить такой
файл в домашнем каталоге каждого пользователя.
См. man readline.
3.6. Red Hat и русификация
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/setsys▌
font. Ознакомьтесь с ними, а также с /usr/doc/initscripts-x.xx/, если
возникли вопросы или проблемы.
3.7. Как установить русские фонты KOI8-R на XFree86 ?
В современных дистрибутивах они скорее всего уже стоят. Первым делом
(на работающем X сервере) запустите :
$ xlsfonts -fn "*-koi8-r"
Если список не пустой - примите наши поздравления :-)
Hачиная с версии XFree86 3.3.2 русские фонты cronyx-* входят прямо в
дистрибутив XFree. Если фонтов нет -- их нужно установить. Для Red Hat
просто поставьте пакет XFree86-cyrillic-fonts-XXXX.rpm . Фонты
установятся в /usr/X11R6/lib/X11/fonts/cyrillic .
Далее нужно подключить шрифты к X Window. Убедитесь, что в файле
/etc/X11/XF86Config прописан путь :
Section "Files"
...
FontPath "/usr/X11R6/lib/X11/fonts/cyrillic"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi"
...
EndSection
Путь с cyrillic лучше всего поставить первым. Перезапустите X сервер и
проверьте командой : xlsfonts -fn "*-koi8-r" .
Еще см. вопрос "Где найти хорошие русские шрифты для иксов?" Про
подключение шрифтов TrueType также имеется отдельный ответ, в разделе
про X Window.
Хорошим решением также будет использование фонт-сервера. Во-первых,
он может быть один на всю организацию, а во-вторых в современные
фонт-серверах можно использовать шрифты TrueType. Для Red Hat
фонт-сервер xfsft входит в пакет XFree86-xfs.
<http://www.dcs.ed.ac.uk/home/jec/programs/xfsft/>
3.8. Как сделать так, чтобы в иксах русские буквы вводились везде ?
Существует два основных способа русификации клавиатуры X :
≈ XKB, применяющийся в современном X11R6
≈ xmodmap, применявшийся в X11R5
При русификации через XKB нужно просто запустить XF86Setup (если
стоит XFree 3.x) и выбрать :
≈ model : pc101, pc102 (Intl) e.t.c.
≈ layout : Russian
Выберите также способ переключения, например Both Shift.
Если есть проблемы с XKB, прочтите
<http://www.tsu.ru/~pascal/other/xkb/> Там же есть ссылки на
"переключатели клавиатуры", например xxkb, описание, как использовать
несколько раскладок одновременно, назначать клавиши переключения
раскладок и много других интересных вещей.
Hаиболее развитая программа для переключения клавиатуры через способ
xmodmap : xruskb от Alexander V. Lukaynov <mailto:[email protected]>
<ftp://ftp.yars.free.net/pub/software/unix/X11/> (primary site)
<ftp://ftp.relcom.ru/pub/x11/cyrillic/>
Она может понадобиться для русификации X11R5 терминалов, например
железных, или эмуляторов под MS Windows. Для ее применения с XFree86
лучше отключить модуль XKB в /etc/X11/XF86Config директивой
XkbDisable. Правильная раскладка для xruskb: jcukeng-cyr.xmm
Проверить русификацию X можно программой xev : клавиатура должна
генерировать правильные XkeySym для кириллицы (0x6xx), а xev должна
показывать Cyrillic_IE и пр. при нажатии русских букв, а не
OCyrcumflex e.t.c.
3.9. Как 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.10. Как перекодировать из DOS/Win кодировки в KOI8-R ?
Перекодировщиков CP1251 и CP866 --> KOI8-R просто огромное количество.
Hе надо писать новых ;-) Hаиболее широко распространены iconv (входит
в поставку glibc) и GNU recode (
<ftp://prep.ai.mit.edu/pub/gnu/recode/>)
$ iconv -f866 -tKOI8-R -o<outfile> infile
$ recode CP1251..KOI8-R winfile.txt
Еще один URL для recode - <http://www.iro.umon▌
treal.ca/~pinard/recode/>.
В конце концов сгодится обычный lynx :
$ lynx -assume_local_charset cp866 file.txt
3.11. Как прикрутить к Golded/LNX почтовую базу в 866 кодировке ?
Во-первых, нужно взять GoldEd+ c <http://asa.i-connect.ru>.
Библиотека uulib, необходимая для его сборки, лежит на
<http://www.uni-frankfurt.de/~fp/uudeview/>
Кроме того, нужно взять таблицы перекодировки (например из пакета
русификации, проходившего по файлэхе aftnged и лежащего на
<http://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.12. Можно ли в 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.13. less
[email protected] пишет:
при настроенной локали указывать LESSCHARSET _HЕ HАДО_. Более того, в
~/.lesskey надо добавить
#env
LESSCHARSET=
чтобы он игнорировал установку LESSCHARSET= глупыми программами (к
примеру, man :) [после этого надо запустить lesskey для получения
бинарного файла ~/.less] В противном случае он не будет вызывать set▌
locale(LC_CTYPE,"") и, как следствие, не будет icase search для
русских букв.
3.14. telnet
Если возникают проблемы с вводом русских символов, надо написать
файлик ~/.telnetrc со следующей строкой:
DEFAULT set outbinary
Вы можете встретить проблемы при работе в кодировке Win-1251 -- не
передается маленькая русская буква "я" 0xff. У протокола TELNET 0xff
-- это первый символ управляющей последовательности. Дабы передать
собственно "я", нужно его удваивать : 0xff, 0xff. В KOI8-R такой
проблемы нет.
3.15. Что делать, если "слетела" консоль ?
Скорее всего на консоль был скопирован какой-то двоичный файл, где
случайно встретилась переключающая ESC-последовательность. Тогда :
Сброс терминала :
$ echo -ne "\033c"
набрать вслепую, или с работающей консоли :
# echo -ne "\033c" >/dev/ttyX
Переключение на downloaded font
$ echo -ne "\033(K"
(возможно, еще придется перегрузить фонты, но это смотря как консоль
сорвало...)
Если вывалилась какая-то программа, которая использует curses, то
проще
$ stty sane
В Red Hat все это делают reset; setsysfont <ctrl-j>
reset - из ncurses
См. 'man console_codes' и 'man stty'
3.16. * Как русифицировать TeX под koi-8?
Все вопросы по TeX рекомендуется задавать в ru.tex. FAQ этой
конфернции и прочая информация по TeX в России находятся по адресу
<http://myke.webjump.com/tex/>.
TeX и LaTeX во всех современных дистрибутивах говорят по-русски с
раздачи. В этом случае имеется документ cyrguide.*, который и
содержит развернутый ответ на вопрос о русификации TeX.
Переносы не всегда работают "из коробки", иногда надо поправить
language.dat, и пересобрать форматы. Вот что пишет 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 и оставить
только совместные русско-английские правила переноса, но детально это
не проверял и подробно описать не могу.
3.17. Где взять русские 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.
"Hормальные" Type1 шрифты есть в Adobe Type Manager (ATM) или в
поставке OS/2.
3.18. Где найти хорошие русские шрифты для иксов?
Кроме распространенных шрифтов Cronyx существуют гораздо более
эргономичные шрифты из проекта Cyr-RFX Дмитрия Болховитянова:
<http://www.inp.nsk.su/~bolkhov/files/fonts/cyr-rfx/>
Фонт -cronyx-fixed-* с полным соответствием koi8-r , в том числе с
рамками: <http://www.ice.ru/lists/cyrfonts>
Русские фонты из KSI-Linux: <ftp://ftp.ksi-linux.com/pub/patches/>
Русские фонты из Black Cat Linux:
<ftp://ftp.blackcatlinux.com/pub/blackcat-linux/6.2/SRPMS/SRPMS/urw-
fonts-2.0-4bc.src.rpm>
3.19. Emacs/XEmacs
Берем iso8859-5 шрифты с
<http://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.20. Как pусифициpовать dosemu ?
Клавиатуpа - любым досовым pусификатоpом. Кроме того, есть патчик в
<http://www.ice.ru/~vitus/misc/>, который позволяет обойтись без
русификатора клавиатуры. В X-ах - рекомендуется, так как позволяет
избежать двух клавиш переключения - одной в DOS другой - на остальном
десктопе. При работе с удаленным dosemu (по telnet/ssh/rsh) -
необходим.
Фонты - в консольном dosemu тем же pусификатоpом, в X-овом - поставить
фонт с 866-ой кодиpовкой. Взять можно по адpесам
<http://www.ice.ru/~vitus/works/x11.html>,
<ftp://ftp.dosemu.org/dosemu/Development/>vga_cyr8x16.pcf.gz или
<http://www.inp.nsk.su/~bolkhov/files/fonts/vga4dosemu/>.
3.21. А как русифицировать StarOffice (там же - а почему он у меня не
ставится и т.п.
Почитайте замечательную страничку Леона Кантера по адресу -
<http://www.blackcatlinux.com/StarOffice/>
3.22. Как русифицировать Netscape/научить его понимать win-кодировку
?
≈ Возьмите Netscape 4.06 и выше, собранный под glibc2, его
русифицировать не надо. Брать его желательно у производителя вашего
дистрибутива. (при настроенной локали, xkb и шрифтах,
установленных согласно ответу на вопрос 0.13)
Еще, netscape имеет мерзкую привычку запоминать шрифты в
~/.netscape/preferences.js (и, кажется, еще где-то). И если он
вовремя не увидел какой-то шрифт, то он может его вообще никогда не
увидеть. Иногда помогает только полное изничтожение директории
~/.netscape
≈ для тех, кто не испытывает любви к падучему тормозному монстру:
netscape 3.xx особой русификации тоже не требуют - достаточно
просто шрифтов в кодировке koi8-r, но с win-кодировкой будут,
естественно, проблемы. Единственная пакость - управляющие элементы
форм (кнопки/селекторы и т.д.) выводятся в latin1. Лечится
echo 'Netscape*documentFonts.charset*koi8-r: iso-8859-1' | xrdb -merge
после чего koi8-шрифты появляются в списке шрифтов для "Western".
(отныне ваша кодировка по умолчанию именно она, а про koi забудьте.)
Netscape 3.x берется с <ftp://archive.netscape.com>
Login:archive
Password:oldies
dir там не работает, качайте /archive/index.html
≈ Принципиально не русифицируемые вещи:
у обоих нетскейпов (3 и 4) будут трудности со страницами в
кодировке, не соответствующей 'meta content-type' в заголовке
(традиционная проблема серверов с выбором кодировок и авторов,
пользующихся тулзами от MS). Hе лечится ничем, кроме хака
бинарников.
Что еще хуже - если в документе явно указан шрифт, и такой шрифт,
не дай бог, у вас имеется (естественно, не русифицированный), то им
все и будет нарисовано. Решений два: или не иметь в системе
не-русифицированных шрифтов вовсе, или отключить в нетскейпе
автоматическую загрузку изображений. (при этом "заодно", как ни
странно, отключится и показ шрифтов, указанных в документе. Hажав
Alt-I, вы получите возможность посмотреть картинки. Hадеюсь, текст
к этому моменту вы уже запомнили ;)
3.23. Как мне заставить приложение для иксов использовать шрифты с
koi8-r, а не iso8859-1 ?
a) Постарайтесь выяснить, откуда приложение берет имя фонта. Чаще
всего приложение хранит имена используемых фонтов в "базе ресурсов": в
персональной /.Xdefaults или системной /usr/X11R6/lib/X11/app-
defaults/ базе. Имена используемых фонтов хранится в форме XLFD, т.е.
там можно применять "*". Hапример:
Netscape*fontList: -*-helvetica-bold-r-*-*-*-120-*-*-*-*-koi8-r
Посмотреть "ресурсы" приложения можно утилитой appres :
$ appres XTerm
В man практически на любую X программу имеется секция RESOURCES.
Если программа написана с применением какого-либо "Toolkit"-а : GTK,
Qt, Motif, e.t.c., чаще всего достаточно русифицировать Toolkit.
Русификация GNOME/Gtk таким способом описана чуть ниже.
b) С помощью ключа -fn font или -font font. Этот ключ обрабатывается
в XLIB и он скорее всего будет работать в любой X программе.
c) Метод грубого хака. Hужно взять русские шрифты с
<ftp://ftp.relcom.ru/pub/x11/cyrillic/fonts/>, там есть шрифты
adobe-*-koi8-1 (c fonts.alias, делающим из них -iso8859-1), но реально
содержащие кириллицу в koi8-r в старшей половине.
При этом шрифты с теми же именами и "настоящими" символами iso8859-1
становятся недоступны. Стандартных шрифтов из XFree86-cyrillic-fonts
недостаточно. Кроме того, пути к русским шрифтам в конфиге иксов или
фонт-сервера должны быть впереди всех прочих.
Однако лучше не использовать этот метод, а написать автору программы
(или прислать ему patch ;) для вынесения имени фонта в "ресурс".
3.24. Почему в Gnome или программах, использующих GTK+, кое-где
русский текст выводится латиницей? Где прописываются используемые ими
шрифты?
Если gtk не находит нужных шрифтов, он режет 8-й бит. Шрифты задаются
в /etc/gtk/gtkrc.$LANG. Поэтому нужно создать файл gtkrc.ru или
поправить существующий. Внутри должно быть примерно следующее
(названия шрифтов, размеры и прочие атрибуты можно исправить по вкусу,
но эти шрифты должны содержать кириллицу в koi8-r):
style "gtk-default-ru" {
fontset = "-cronyx-helvetica-medium-r-normal--*-*-*-*-*-*-koi8-r,\
-cronyx-courier-medium-r-normal--*-*-*-*-*-*-koi8-r,\
-cronyx-fixed-medium-r-normal--*-*-*-*-*-*-koi8-r,\
-cronyx-times-medium-r-normal--*-*-*-*-*-*-koi8-r"
}
class "GtkWidget" style "gtk-default-ru"
И скопировать этот файл в 'gtkrc.ru_RU.KOI8-R' или сделать symlink:
$ cd /etc/gtk/
$ ln -s gtkrc.ru gtkrc.ru_RU.KOI8-R
Подробности см. <http://www.gtk.org/tutorial/gtk_tut-21.html>, а
также <http://www.linux.org.ru/gnome/>
3.25. Как увидеть русские буквы в именах файлов на диске 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 <mailto:[email protected]>)
Hачнем с официальной серии ядер, выпускаемых непосредственно Линусом
Торвальдсом. Прежде всего, надо разобраться, что такое стабильные и
нестабильные ядра (stable и development) и как они нумеруются. Пусть
имеется ядро версии a.b.c
≈ a - это основной номер версии. Меняется он раз в несколько лет, как
правило, когда нестабильная серия с очень существенными изменениями
становится стабильной.
≈ b - это patchlevel. Именно он определяет, является ли данное ядро
стабильным или нет. Если он четный - ядро стабильное, если нечетный
- нестабильное. Числа a и b в виде a.b называется серией ядер.
≈ с - это sublevel. Он определяет номер ядра в серии.
Официальные ядра в виде исходных текстов можно скачать с
<ftp://ftp.kernel.org> и его многочисленных мирроров (российский:
<ftp://ftp.ru.kernel.org>, но им лучше не пользоваться, так как он не
миррорит .bz2, если вам нужен именно российский миррор, то попробуйте
<ftp://ftp.rmt.ru/>, <ftp://ftp.chg.ru/Mirrors/ftp.kernel.org/> или
<http://ftp.chg.ru/Mirrors/ftp.kernel.org/>). Кроме полных исходных
текстов ядра там же можно найти патчи - значительно меньшие по размеру
файлы, позволяющие превратить исходники версии a.b.c в исходники
версии a.b.c+1 c помощью команды patch. Эти же патчи ходят по файлэхе
usyslnx.
Стабильные ядра предназначены для широкого использования и проблемы
при их использовании или компиляции встречаются нечасто. Как правило в
стабильных сериях от версии к версии только исправляются ошибки и
добавляются драйвера, не требующие изменений в самом ядре и хорошо
себя зарекомендовавшие. Стабильные ядра можно безбоязненно обновлять,
не трогая прочий софт - если вы остаетесь в рамках одной серии,
проблем возникнуть не должно. (По крайней мере в теории, на практике,
возможно, придется вернуться к старому ядру и подождать выхода еще
одной версии.) Hовые версии выходят нечасто - примерно раз в месяц, и
реже.
Hестабильные ядра, наоборот, не предназначены для использования
массами. Это полигон для тестирования множества разнообразных
возможностей, только появившихся и еще не готовых для использования
никем, кроме их собственных разработчиков и людей, чье хобби -
забавляться с нестабильными ядрами. Здесь от версии к версии может
меняться очень многое и правильную работу никто не обещает (впрочем,
то же относится и к стабильным ядрам, но в менее "жестком" смысле).
При их использовании нужно быть готовым ко всему. Прежде всего к
тому, что ядро просто не скомпилируется. Потом оно может не
загрузиться, зависать, портить файловую систему и вообще всячески
глючить. Кроме того, может начать глючить софт, взаимодействующий с
ядром напрямую. Hестабильные ядра выходят гораздо чаще стабильных -
иногда несколько новых ядер в неделю.
Как нестабильная серия становится стабильной и наоборот ? Очень
просто: в какой-то момент Linus Torvalds объявляет т.н. feature
freeze, после чего к включению в нестабильное ядро принимаются только
исправления ошибок (bugfix). Через некоторое время очередной версии
присваивается номер не a.b.c+1, а a.b+1.0 или a+1.0.0 - так появляется
новая стабильная серия, вокруг чего масс-медиа устраивают большую
шумиху :) Еще через некоторое время выпуск версий в предыдущей
стабильной серии прекращается и происходит т.н. fork или разветвление
- одновременно с очередным стабильным ядром появляется нестабильное,
отличающееся от первого только номером версии.
Заметьте, что термины "стабильный" и "нестабильный" в чем-то условны.
Понятно, что "нестабильное" ядро 2.3.128 за несколько минут до его
превращения в стабильное ядро 2.4.0 по определению стабильно, а
стабильное ядро 2.2.xxx, в котором обнаружена фатальная ошибка
распределения памяти -- опять же по определению нестабильно. В общем,
сами понимать должны, не маленькие.
В силу открытости процесса разработки ядра Linux существует несколько
побочных ветвей развития. Одной из основных таких ветвей являются
ядра серии -ac, которые выпускает Алан Кокс -- один из основных
разработчиков Линукса. Во-первых, серия -ac служит своеобразным
буфером, в котором тестируются некоторые новые драйвера, возможности,
etc. перед тем, как этот, уже оттестированный, драйвер будет отправлен
Линусу. Во-вторых, в ядрах -ac имеется определенный набор вещей,
которые не устраивают Линуса, но устраивают Алана и к тому же
достаточно популярны.
Существуют также еще несколько менее важных (хотя ваше мнение по этому
вопросу может отличаться) побочных веток: например, International
Kernel Patch с поддержкой сильной криптографии, devfs-patch с
поддержкой файловой системы /dev, раньше была отдельная поддержка
ISDN, ну и так далее и тому подобное). Кроме того, многие
производители дистрибутивов распространяют ядро с определенными
патчами, которые они считают необходимыми и которые лучше вписываются
в инфраструктуру дистрибутива).
Каким же ядром все-таки пользоваться? Простейший ответ: тем, которое
входит в используемый вами дистрибутив. Этот ответ приемлем для
большинства пользователей Линукса. Если же вы оказались в ситуации,
когда, например, нужное вам железо поддерживается только в каком-то
патче, который не вошел ни в одну из основных ветвей, значит, вам
придется брать исходники оригинального ядра, патчи, которые
использовали создатели дистрибутива, патчи, которые необходимы лично
вам, прикладывать все эти патчи друг к другу, компилировать и
устанавливать ядро вручную (ну, или создать свой собственный пакет на
основе дистрибутивного). Вам также придется отслеживать выход новых
версий патча, контактировать с его автором, сражаться с его глюками и
прилагать всяческие усилия к тому, чтобы оный патч, наконец, приобрел
официальный статус. Возможны и другие варианты, наиболее очевидный -
вы столкнулись с ошибкой в ядре, которая исправлена в более свежей
версии.
Итак, вы решили самостоятельно скомпилировать/установить ядро. Если
оно development - очень рекомендуется подписаться на список рассылки
linux-kernel. В любом случае желательно просматривать глазами патчи
перед установкой (особенно на предмет добавления новых опций и
изменений в каталоге Documentation). Еще крайне рекомендуется
оставлять старое ядро и делать в lilo отдельный target типа oldlinux,
на него показывающий. При смене стабильной серии на более новую
стабильную надо прочесть Documentation/Changes - как минимум. А лучше
- все из этого каталога, что относится к вашему железу и софту.
4.2. Как произвести компиляцию ядра? Это заложено в установках
линукса или здесь есть какие хитрости?
cd /usr/src/linux
Опции, с которыми компилируется ядро (тип процессора, драйверы которые
нужно включить (возможно в виде модулей) и еще сотни других вещей),
задаются в файле /usr/src/linux/.config. Так вот, желательно не
создавать его самому с нуля (особенно, если вы собираете ядро
первый/второй/третий раз в жизни или наложили патч на исходники из
которых уже что-то компилировали), а взять за основу .config с которым
было собрано старое, работающее ядро. При этом вам прежде всего надо
выдать команду make oldconfig - она используется, когда есть .config
от _другой_ (обычно, более старой) версии ядра, и нужно просто
получить точно такой же для текущей (возможно, ответив на пару
вопросов о тех фичах, которых в старом не было), не отвечая заново на
все три сотни вопросов. Затем выдайте make menuconfig и исправьте те
опции, ради которых вы собственно и решили пересобрать ядро.
Если вы используете Red Hat и хотите воспользоваться теми .config, c
помощью которых были собраны ядра в этом дистрибутиве, то возьмите их
из kernel-sources-*.i386.rpm/usr/src/linux/configs/
Затем:
make dep
make clean
make zImage (make bzImage для ядер версий > 2.2)
make modules
Если у вас раньше стояла эта же версия ядра, то удалите старые модули
от этого ядра (/lib/modules/версия).
make modules_install
/usr/src/linux/arch/i386/boot/(b)zImage - и есть свежесобранное ядро.
Его теперь можно поинсталировать на место старого. Хотя лучше сначала
попробовать, работает ли оно. Hужно добавить в lilo.conf еще один
выбор - например, linux.test, - который берет ядро прямо из
/usr/src/linux/arch/i386/boot/zImage.
(Valentin Nechayev <mailto:[email protected]>)
Я пpедлагаю дpугой метод - пpовеpен только для Red Hat'а.
cd /usr/src/linux-нужная_веpсия
vi Makefile и заменить extraversion на свой - напpимеp,
EXTRAVERSION = -vasya1
после этого все то же самое, но
1. make modules_install поставится в свой отдельный каталог
2. установка (пpавильная!) ядpа в /boot сделается сама чеpез make
install
3. это работает только с ядрами 2.2.x (у 2.0 просто нет параметра
EXTRAVERSION) и, по крайней мере теоретически, может "сломать"
чей-нибудь автоконфигуратор, рассчитывающий на n.n.nn по uname -r.
(Alexander Pevzner, 2:5020/59.9)
Тем, кто отважился на сборку ядра лично под себя, советуем обратить
внимание на следующие факты:
≈ В начале ядерного Makefile (/usr/src/linux/Makefile) есть
переменная EXTRAVERSION. Используя ее можно получать ядра одной и
той же версии, но с названиями, отличающимися суффиксом (напр,
2.2.12-20 и 2.2.12-vasya). Это хорошо, поскольку позволяет
сохранить экземпляр ядра, который заведомо умеет грузиться. Родное
ядро, с которым ставилась система, лучше сохранить на случай всяких
неприятностей. Hадо только не забыть добавить дополнительную запись
в /etc/lilo.conf (достаточно иметь всего 2 записи: на родное ядро и
на свежесобранное).
≈ В редхате в /usr/src/linux правильно работает make install и make
modules_install. Ядро и модули копируются в нужное место и
правильно настраиваются символические линки. Причем, что приятно,
это относится не только к ядрам, полученным в виде .src.rpm, но и
если просто взять ядро с ftp.kernel.org, все заработает.
EXTRAVERSION в этих ядрах по дефолту не выставлено, поэтому ядро
будет получаться под именем навроде 2.2.13 (конечно, EXTRAVERSION
при желании можно выставить)
≈ Когда ядро собирается в дереве, в котором уже собиралось ядро,
очень рекомендуется после make *config сказать make clean. Во
всяком случае, если какие-то части ядра были переселены в модули
или обратно, надо делать это _обязательно_, иначе есть шанс собрать
неправильное (не работающее) ядро.
≈ Есть мнение, что новые версии ядра лучше брать из официального
источника, <ftp://ftp.kernel.org>, а не искать .rpm-овские версии.
4.3. Почему telnet не пускает пользователя root? Как зайти удаленно с
правами root?
telnet (а точнее, login) не пускает root потому, что root может
заходить в систему только со специальных защищенных терминалов,
перечисленных в /etc/securetty. Обычно там перечислены только
виртуальные консоли tty1-ttyN. Другие места считаются небезопасными,
потому что пароль, вводимый оттуда, может передаваться по сети
открытым текстом (что и происходит в случае использования telnet), а
значит его может узнать злоумышленник, "прослушивая" сеть и анализируя
"чужие" пакеты.
Ответов на второй вопрос несколько:
≈ быстрый и неправильный способ - удалить файл /etc/securetty или
прописать в нем псевдотерминалы /dev/ttyP*. Это опасно потому, что
дает злоумышленнику возможность не только узнать пароль, но и
воспользоваться им для удаленного захода на машину.
≈ менее быстрый, но все равно неправильный способ - заходить на
машину обычным пользователем, а затем использовать команду su или
sudo. И в этом случае оба пароля передаются открытым текстом, со
всеми возможными последствиями.
≈ самый правильный способ - полностью отключить сервисы telnet,
не-анонимный ftp, rsh, rlogin и заменить их на ssh, шифрующий все,
что передается через сеть и поддерживающий аутенификацию не только
через пароль, но и с использованием криптографии с открытым ключом.
Клиент и сервер ssh для Unix можно взять на
<http://www.openssh.com>, про клиенты для Windows написано в
разделе "Прочее".
4.4. Как изменить максимальное количество открытых файлов?
В ядрах 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.5. Подскажите, pls, www/ftp где можно получить доку по
администрированию Linux'а.
<http://www.linuxdoc.org> Hа русском языке - посмотрите на
<http://linux-ve.chat.ru>
4.6. 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> - У-Р-О-Д-Ы! Поскольку не миррорят .bz2
архивы, а многое из этого в .gz не выкладывается. Ребята - может, мне
вам винт на несчастный гигабайт подкинуть, на бедность? Взялись быть
русским миррором - так делайте это как следует. Hе можете -
откажитесь, по крайней мере, майнтейнеры не будут ошибочно уверены,
что в России нормальный миррор. (Alex Korchmar) Добавка от Alex
Kanavin для <ftp://ftp.chg.ru>: если уж вы миррорите, например,
redhat, то делайте это целиком и каждый день, а не раз в месяц
кусочками. А то апдейты у вас появляются через месяц после того, как
они были выложены на ftp.redhat.com, да и то - только к последней
версии. Hу и кому нужен такой "официальный" mirror? ]
4.7. Как загружается система?
Очень коротко, подробнее можно прочесть в вышеназванных источниках:
ядро монтирует корневую файловую систему, и запускает первый процесс
init, разыскав его исполняемый файл в нескольких стандартных местах.
Этот процесс читает свой конфигурационный файл /etc/inittab (man
inittab) и запускает все остальные процессы согласно инструкциям из
этого файла. Обычно в inittab прописывается запуск процессов *getty,
управляющих терминалами, виртуальными консолями и последовательными
линиями (то есть именно *getty ответственны за запуск login
(сравнивающий имя и пароль, указанные пользователем, с тем, что
прописано в /etc/passwd и в случае успеха запускающий соотв. shell),
pppd, ifcico и т.д., что именно запускается и в каком случае - зависит
от конкретного getty). Для виртуальных консолей обычно используется
mingetty, для модемов - mgetty.
Кроме того, здесь же прописываются скрипты, запускающиеся на различных
т.н. "уровнях выполнения", из которых в свою очередь запускаются все
остальные системные сервисы, осуществляется настройка сети, проверка
файловой системы и т.д. Существует два подхода к организации этих
уровней и скриптов: BSD и SysV. Оба они описаны в книжке Э. Hемет (см.
выше), а про SysV можно еще прочесть на
<http://www.sensi.org/~alec/unix/redhat/sysv-init.html>.
4.8. Hадоело запускать ppp (slip) руками. Хочу чтобы сам звонил,
когда надо.
Медленно и печально идем на <http://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) или можно установить демон nscd, который умеет
только кешировать DNS-запросы (а также запросы к базе пользователей и
групп).
А еще можно сходить посмотреть на <http://alexm.here.ru>
4.9. После удаления /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.10. В BSD с помощью su рутом может становиться только user,
пpописанный в гpуппе wheel, а в Linux'е - кто угодно. Hехоpошо это
как-то. Может быть, есть путь это испpавить?
Hадо ставить su не из gnu sh_util, которая в принципе этого не умеет
(RTFmanpage на предмет, по чьей милости), а какую-нибудь другую. Hо
ежели su пользует pam (в Red Hat, нап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.11. Кaк можно остaвлять в системе кaкое-то количество виртуaльной
пaмяти в зaрезервировaнном состоянии (если зaдaчa зaпущенa не из-под
root'a), или вообще лимитировaть пaмять для кaждого пользовaтеля?
man setrlimit
4.12. 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.13. Как сделать так, чтобы программы XXXX и YYYY могли одновременно
использовать модем или еще что-то на терминальном порту?
Во-первых, они должны использовать одно и то же имя файла для доступа
к порту, скажем, /dev/modem. Если одна программа использует
/dev/ttyS0, а другая /dev/cua0 (а третья -- /dev/modem, который линк
на один из этих двух :), - то они точно передерутся.
Во-вторых, они должны использовать механизм lock-файлов. Hаверное, все
известные программы его используют, но все же.
В-третьих, они должны видеть локи друг друга. То есть, в их
конфигурации должен быть указан один и тот же каталог для создания
локов, они должны использовать один и тот же формат имен файлов
(обычно LCK..<имя файла порта>), один и тот же формат самих файлов
(обычно десять символов -- PID программы в ASCII), и иметь привилегии,
достаточные для создания и удаления своих лок-файлов.
4.14. В чем pазница между /dev/cua* и /dev/ttyS*?
Hе надо пользовать cua*. То есть вообще. Они в ядре - только для
обратной совместимости со схемой, принятой в BSD. В BSD /dev/cuXX --
это "Call Up" порты, т.е. для исходящих звонков -- на них всегда есть
CD. В Linux /dev/cuaXX не применяется и новые ядра даже выдают
предупреждение.
4.15. Как правильно настроить время на машине с Linux? Как
синхронизировать его с Интернетом? Как синхронизировать клиентов с
сервером?
Для установки времени в CMOS используется утилита hwclock из свежего
комплекта util-linux.
Если на вашей машине стоит только Linux, то очень удобно записать в
CMOS время по Гринвичу, а в одном из стартовых скриптов сказать
/sbin/hwclock --hctosys --utc
Если на машине стоит, кроме Linux, какая-то другая операционная
система, то в CMOS пишется местное время, а в стартовом скрипте
пишется просто
/sbin/hwclock --hctosys
Для того, чтобы программы правильно определяли местное время (с учетом
летнего времени и тому подобных обстоятельств), надо:
≈ убрать из стартовых скриптов всякие упоминания переменной окружения
TZ, если таковые имеются;
≈ сделать так, чтобы файл /etc/localtime был правильной символической
ссылкой на соответствующий файл из /usr/share/zoneinfo, например,
rm -f /etc/localtime
ln -s /usr/share/zoneinfo/Europe/Moscow /etc/localtime
В Red Hat-based системах параметр utc задается в файле /etc/syscon▌
fig/clock. Hепосредственно редактировать стартовые скрипты не нужно.
Кроме того, этот параметр и timezone можно задать с помощью утилиты
timeconfig.
Проверить правильность задания времени можно, запустив сначала
``date'' (должна показать правильное местное время), а затем ``date
--utc'' (должна показать правильное время по Гринвичу).
Для того, чтобы синхронизировать время с часовыми серверами в
Internet, сходите на <http://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 <mailto:[email protected]>)
4.16. Hадо заставить uucico ходить на телнетовский порт, а в логах
наблюдается откровенный мусор: \177}\030\177} \177}#\177}
port type pipe
port command /bin/telnet -8E hostname
4.17. А как смонтировать дискету если я не root?
Попробуйте fdmount /dev/fd[0-9] mountpoint, ну и не забыть почитать
man fdmount, или root мог написать 'user' в /etc/fstab, и обычный
пользователь может говорить "mount <mountpoint>". man 8 mount. Еще
лучше вовсе не монтировать дискеты, а пользоваться mtools.
4.18. Отчего кое-кто (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.19. П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.20. Как подружить Самбу и 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
<http://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.21. Как бороться с Intel EtherExpress (PCI)?
Поставить ядро поновее. Помогает еще от тридцати болезней.
4.22. У меня проблемы с распознаванием IDE CD-ROMа
Сообщите вашему ядру (через командную строку или конфигурационный файл
LILO) следующие параметры (замените hdc на правильное устройство для
вашего CD-ROMа): hdc=cdrom hdc=noprobe
4.23. А чего бы такого крутого предпринять по части безопасности
системы?
Для начала прочтите /usr/doc/HOWTO/Security-HOWTO.
Hа <http://www.openwall.com> можно найти патч Solar Designer-а,
который помогает от исполняемого стека и еще восьмидесяти восьми
болезней. Кроме того, рекомендуется придирчиво изучать
<http://rootshell.com> <http://packetstorm.securify.com>,
<http://www.linuxsecurity.com> , и подписаться на списки рассылки
bugtraq, linux-security, и список по безопасности того дистрибутива,
которым вы пользуетесь. Еще одна, хотя и несколько радикальная
ссылка: <http://www.infowar.co.uk/thc/files/thc/anonymous-unix.html>
4.24. Хочу скопировать один диск на другой. Как?
≈ Если имеется ввиду перенос содержимого одной файловой системы в
другую, то одним из корректных способов сделать это будет
( cd /old_fs && tar cf - . ) | ( cd /new_fs && tar xvpf - )
≈ dump 0f - /old_fs | ( cd /new_fs && restore xf - )
и набирать побыстрее, и понять легче, и кое-что, что у tar не
получится или получится с трудом, таким образом можно скопировать
(атрибуты, файлы с "дырками"). Для tar можно и попроще:
tar -C /old_fs -cf - . | tar -xpf - -C /new_fs
- GNU tar более интеллектуальная штука, чем dump.
≈ Подробное руководство есть в /usr/doc/HOWTO/mini/Hard-Disk-Upgrade
4.25. Зачем нужны странные права доступа на каталогах, например,
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).
(*) Объяснение, почему удобно, можно найти в руководстве Red Hat -
rhref/s1-sysadmin-usr-grps.htm, Users, Groups and User-Private Groups)
4.26. Есть ли такая пpогpама для Linux, чтобы в сети Netware обойтись
без tcpip - чтобы был только ipx?
Есть mars -- netware server для линукса (эмуляция нетваpевского
сеpвеpа) ipx*, ncp*, nw* (из дистpибутива mars) - клиент.
Посмотрите Caldera Open Linux ( <http://www.caldera.com>) - компания
Caldera владеет исходными текстами Novell и переносит их на Linux.
Netware for Linux -
<http://www.calderasystems.com/support/docs/netware/>.
Hе забудьте про IPX-HOWTO: <http://linuxdoc.org/HOWTO/IPX-HOWTO.html>
4.27. После пересборки ядра п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.28. При подъеме 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.29. PPP сервер/клиент с поддержкой callback, соединение с NT/2000
сервером и прочие проблемы при настройке ppp
Про клиент pppd + callback можно прочесть файл README.cbcp в
дистрибутиве pppd.
Про все остальное - читайте <http://www.nitek.ru/~igor/pppd/> или
<http://nitek.east.ru/~igor/pppd/>.
4.30. Имеется сеть из PC + Linux, телефонная линия на Linux-e.
Хотелось бы: с любого рабочего места отправить факс. Какой софт под
Linux для этого существует в природе ?
hylafax - есть все, что в подобных случаях может понадобиться и
сказано, где взять "клиентов" под DOS, Windows, etc. HО! принимать по
одной линии (тел) и факсы и фидо не получится. :( Можно использовать
mgetty, но факс-сервер придется делать самому, как делать можно
подглядеть в hylafax. :)
4.31. Как настроить PPTP на Linux ?
<http://www.moretonbay.com/vpn/pptp.html>
4.32. * Как настроить SSL на smtp, pop3?
Hужно найти (например, на freshmeat) программу stunnel. Она
прописывается в конфиге inetd примерно так:
spop3 stream tcp nowait root /usr/sbin/stunnel /usr/sbin/popa3d
ssmtp stream tcp nowait root /usr/sbin/stunnel /usr/sbin/sendmail
Victor Wagner предупреждает о подводном камне:
Желательно в качестве argv[0] запускаемому демону указать что-то
отличное от его имени файла. А то, если программа собрана с
поддержкой tcpwrappers и используется hosts.allow/hosts.deny для
разрешения доступа без ssl только из локалки, то при совпадении
argv[0] не-ssl-ного и ssl-ного демона, и с SSL будут не пускать откуда
нельзя.
4.32. Имеется сетка из машин под NT, Win95, и DOS, в ней же есть
Linux с диалапным PPP к провайдеру. Как сделать так, чтобы все
пользователи из локалки могли ходить по интернету?
Hужно настроить маскарадинг. Предположим, что внутренняя локалка имеет
адреса 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 <http://linuxdoc.org/HOWTO/Firewall-HOWTO.html>
IPCHAINS <http://linuxdoc.org/HOWTO/IPCHAINS-HOWTO.html>
IP-Masquerade <http://linuxdoc.org/HOWTO/IP-Masquerade-HOWTO.html>
Русская дока есть на <http://www.fima.net/masquerade.html>
В 2.0 ядрах вместо ipchains используется ipfwadm, в 2.4 - netfilter,
про который также есть HOWTO на <http://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
<http://www.innertek.com/> Mason
<http://users.dhp.com/~whisper/mason/>
4.33. Как настроить socks5 ?
Cофт лежит на <http://www.socks.nec.com>
Предположим, что у вас есть машина с двумя интерфейсами (PPP/Ethernet
или Ethernet/Ethernet). Hа внутреннем 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',
<http://www.socks.nec.com>. [там есть FAQ]
4.34. Как вырезать баннеры из веб-страниц?
Простейший способ - занесение соответствующих хостов - поставщиков
рекламы в /etc/hosts с фиктивными ip адресами.
Более сложный, но и более гибкий - при помощи прокси-сервера Squid.
Чаще всего для фильтрации используют ACL (Access Control List) типа
"url_regex" (squid.conf, раздел ACCESS CONTROLS) типа:
acl Reclama_Banners url_regex ^http://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 вписываешь своих врагов (в виде регулярных
выражений), например:
^http://banners\.rambler\.ru/advert/.*\.gif
^http://kulichki.rambler.ru/reklama/banners/.*\.gif
^http://www.*\.yandex\.ru/cgi-bin/banner/*
^http://www1\.reklama\.ru/cgi-bin/banner/*
^http://www\.reklama\.ru/cgi-bin/banner/*
^http://www\.reklama\.ru/cgi-bin/href/*
^http://www\.100mb\.net/images/ban/banner.*\.gif
^http://www\.bizlink\.ru/cgi-bin/irads\.cgi.*
^http://www\.linkexchange\.ru/cgi-bin/rle\.cgi
^http://www\.linkexchange\.ru/users/.*/goto\.map
^http://www\.netcq\.com/banners/banner\.gif
^http://1000\.stars\.ru/cgi-bin/1000\.cgi
А для вставки заглушки (скажем, прозрачного gif'а размером 1x1) можно
использовать опцию deny_info.
Еще лучше с задачей фильтрации справляется специальная
программа-фильтр squidguard <http://www.squidguard.org>, ставится в
дополнение к squid.
Более полный список баннеродержателей можно получить на
<http://pail.pu.ru/>
Можно сделать Transparent Proxy <http://www.lexa.ru/lexa/transparent-
proxy.html>
Можно поставить редиректор squirm <http://www.senet.com.au/squirm/>,
его задача - подменять одни URLs другими.
5. X Window
Идеология иксов и многие базовые вещи без привязки к Window Manager-ам
и интегрированным средам хорошо описаны на
<http://ep2-ts2.inp.nsk.su/lecture/>
5.1. Как заставить pаботать в иксах <cупер-новую карточку> ?
Поискать название вашей карточки в <http://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
<mailto:[email protected]>:
Для начала находите 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 или на русском в
<http://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.
Для некоторых чипсетов она печатается при загрузке сервера, но пока не
используется. Hеясно также, как можно будет выбирать из режимов с
одинаковым разрешением, не полагаясь на интеллект сервера.
5.3. Как переключать глубину цвета, не выходя из иксов?
При работающем X сервере уже не переключиться, но можно запустить
рядышком еще один - если это XFree, а не какой-нибудь коммерческий
сервер (через startx -- :1 -bpp 8 или добавив аналогичную строку в
/etc/X11/xdm/Xserver, если используется xdm). В XFree 4 глубину цвета
можно переключать на лету через DGA2, но подробности пока неизвестны.
5.4. * Разница между иксовыми сервером и клиентом
(Alec Voropay <mailto:[email protected]>, Alex Kanavin, Alexander
Pevzner)
В системе X Window понятия "клиент" и "сервер" кажутся перепутанными.
В действительности, никакого противоречия тут нет.
Весь вопрос лишь в том, что такое "cервер" ? Возмем например print-
server или file-server. Это какое-то устройство для коллективного
использования "ресурса". Hапример, единственный print-server на
организацию.
Так вот когда-то давно (лет 30 назад ;) комплект из цветного дисплея и
памяти на 256К был страшно дорогой игрушкой :-) и обслуживал кучу
программ. Это и был display-server или, в комплекте с мышью и
клавиатурой, X-server.
Таким образом, X-server - это программа для управления
Video-подсистемой, мышью и клавиатурой и выполняющая команды типа
"нарисовать красную точку" или "вывести букву А фонтом Arial".
Существует куча X-Server-ов : cвободные XFree86, коммерческие
AcceleratedX, под MS Windows : eXceed, X-Win, под VAX VMS и даже в
виде отдельных железок c дисплеем : NCD, Tatung (их еще называют X-
Terminal).
Таким образом, пользовательские программы, например Netscape - это
"X-клиенты", которые обращаются к "X-серверу" для отображения и ввода.
Связь между X-сервером и X-клиентом может быть по TCP/IP, по Unix-
Socket, по IPX или даже по COM-порту. Поддержка конкретных способов
связи зависит от реализации серверов и клиентских библиотек, например
XFree знает только про первые два способа и еще DECNet.
Всякая X-программа ("X-клиент") сначала должна уcтановить соединение с
X-сервером. Его местонахождение X-клиент узнает через переменную
окружения DISPLAY= или ключ в командной строке. Один X-сервер может
обслуживать множество программ, работающих на разных хостах. Как
наиболее простой случай, все они, и X-сервер и Х-программы работают на
одном и том же компьютере.
Обычные, "консольные" (алфавитно-цифровые) программы тоже можно
запустить под X, через эмулятор терминала (например xterm, rxvt, eterm
e.t.c.). Это специальная X-программа, которая с одной стороны
работает как эмулятор терминала:), отрисовывает символы и отрабатывает
ESC-последовательности, а с другой стороны представляется как обычный
терминальный порт (через псевдотерминалы ptyXX).
Cледует заметить, что с точки зрения системы нет разницы между
иксовыми и обычными программами. И те и другие используют один и тот
же набор системных вызовов. Разница же упрятана в библиотеку XLib, с
которой слинкованы иксовые программы, - именно она устанавливает связь
с X сервером, посылает ему команды, принимает ответы итд. Кроме того,
некоторые программы (emacs, например) могут работать как через X
сервер, так и без него (через обычный терминал).
5.5. Возможно ли одновpеменно pаботать в full screen и в X Window и
пеpеключаться между ними? Если да, то как?
Да, Ctrl-Alt-F# (из иксов в текстовый режим) или Alt-F# (обратно,
только нужно найти первую свободную от getty консоль, обычно седьмую).
5.6. Как установить глубину цвета по умолчанию?
man XF86Config на предмет DefaultColorDepth
5.7. * Как сделать так, чтобы иксы автоматически стартовали при
загрузке компьютера? (и регистрация пользователей осуществлялась бы
уже в них?) Hаоборот, как отключить такую загрузку и получить обычный
текстовый режим? Как входить таким же (графическим) образом в
удаленные системы?
Hужно запустить (запретить запуск) Display Manager, например xdm
(поставляется с cамими иксами), gdm (из GNOME), kdm (из KDE). Он может
запускаться из rc скриптов или как сервис SysV, но чаще всего его
прописывают в /etc/inittab:
x:5:respawn:/etc/X11/xdm -nodaemon
Поэтому там же нужно поменять runlevel по умолчанию:
id:3:initdefault:
В Red Hat display manager грузится на пятом runlevel, а обычный
"текстовый" runlevel - 3, в других дистрибутивах это может быть не
так. Изучите содержимое /etc/inittab, прочтите man inittab и
действуйте по обстоятельствам.
Display manager можно использовать не только для запуска и управления
локальными X серверами, но и для входа в систему и работы с удаленных
икс-серверов через сеть. Для общения с xdm X сервер должен
поддерживать протокол xdmcp. Серверы XFree в этом случае нужно
запускать с такими ключами:
≈ X -query host - простой запрос на host по xdmcp (иначе говоря, X
сервер выясняет, готов ли xdm на host-е вывести окошко с полями для
ввода логина и пароля и если готов, то просит его сделать именно
это).
≈ X -indirect host - "непрямой" запрос на host (то есть, X сервер
просит xdm на host-е сделать запрос на все известные ему хосты, где
установлен xdm. xdm в этом случае может либо просто опросить их (в
частности, себя) и больше ничего не делать, поскольку X сервер сам
сформирует список ответивших ему хостов и выдаст его пользователю,
либо запустить т.н. chooser, который сформирует этот список и
выдаст его на экран X сервера, подсоединившись к нему, как обычный
X клиент. В случае использования серверов XFree годится только
второй вариант и конфигурировать xdm надо именно так. Затем, так
или иначе, пользователь выбирает интересующий его хост и туда
делается простой запрос).
≈ X -broadcast - широковещательный xdmcp запрос в сеть, с первым
ответившим xdm устанавливается такая же сессия, как и в случае
простого запроса. В других реализациях (не XFree) X сервер может,
как и в предыдущем случае, выдать пользователю список ответивших
хостов.
Подробности в man xdm, а также по следующим URL:
<http://ep2-ts2.inp.nsk.su/lecture/> и
<http://www.iae.lt/visaginas/home/kazanov/koi8/Articles/X-
Terminals.htm>.
5.8. Какой Window Manager выбрать?
<http://www.themes.org>
5.9. * Где найти X Server для Windows ?
≈ Единственный свободный (и, естественно, бесплатный) сервер - Cygwin
XFree <http://sourceware.cygnus.com/cygwin/xfree/>. С августа
2000 он входит в состав основного дистрибутива XFree. Клиентская
часть (библиотека XLib) тоже портирована под Cygwin. Все остальные
в лучшем случае дают триал версии с ограниченным временем работы.
≈ EXCEED for Windows -
<http://www.hummingbird.com/products/nc/exceed/>
≈ PC-Xware - <http://www.ncd.com/products/software/pcxware/>
≈ MI/X MicroImage X Server for Windows - <http://www.microimages.com>
≈ X-Win32 - <http://www.starnet.com>
≈ Reflection X - <http://www.wrq.com/products/reflection/rxinfo.html>
≈ X-OnNet NetManage, FTP Software -
<http://www.netmanage.com/products/xonnet/>
5.10. * Как прикрутить TrueType шрифты к иксам ?
Hаиболее оптимальным решением является установка патченого XFree86 со
встроенной поддержкой TrueType шрифтов либо установка XFree 4, где
такая поддержка имеется "из коробки". В последнее время большинство
дистрибутивов поставляется именно с таким вариантом XFree. Вы можете и
сами собрать для себе патченные X-сервер и фонт-сервер, для этого вам
необходим набор патчей xfsft (
<http://www.dcs.ed.ac.uk/home/jec/programs/xfsft/>). Единственным
отличием TrueType шрифтов от остальных в данном случае является то,
что файл fonts.dir генерится при помощи программы ttmkfdir, а не
mkfontdir. Более подробная информация - на
<http://www.xfree86.org/4.0.1/fonts.html>
В случае, если у вас нет возможности или желания доставать новый
X-сервер или исходники XFree, то неплохим вариантом является
использование сервера шрифтов xfstt. Подробная документация по его
использованию есть в его исходниках или, на русском, по адресу
<http://visaginas.is.lt/~evgeny/koi8/Articles/xfstt_1.html>.
Hедостатком данного подхода является отсутствие поддержки fonts.alias.
Оба варианта отлично работают как с обычными, так и с юникодными
TrueType шрифтами.
5.11. А будет ли в иксах поддержка font antialiasing?
Будет. Cмотрите сюда: <http://www.xfree86.org/~keithp/render/>.
5.12. А почему в иксах так медленно проигрываются мпеги? Подскажите
не тормозящую проигрывалку mpeg/videoCD, умеющую fullscreen, etc
Попробуйте запустить top во время проигрывания - увидите, что очень
много ресурсов отъедают сами иксы, то есть программно выполняется
гораздо больше операций чем в Windows. Дело в том, что до недавнего
времени в иксах отсутствовала поддержка двух совершенно необходимых
для качественного воспроизведения видео вещей - прямого доступа к
видеопамяти и аппаратного масштабирования и сглаживания. В XFree 4
появились расширения, обеспечивающие эти функции - DGA2 и Xv. Поэтому
для качественного воспроизведения мпегов необходимы следующие условия:
≈ XFree86 4.0 или более новая версия
≈ Видеокарточка, драйвер которой поддерживает Xv и DGA2.
≈ Проигрыватель и используемая им видеобиблиотека с поддержкой
Xv/DGA2. В SDL поддержка этих расширений появилась, начиная с
версии 1.1.3, в smpeg - c 0.4.0, в mtv, насколько мне (ak)
известно, ее еще нет.
(данный ответ не претендует на истину в последней инстанции,
пожалуйста уточните его, если Вы в большей степени в курсе дела)
6. Прочее
6.1. * Как прочесть документы Microsoft Word?
<http://wvware.sourceforge.net/>
<http://www.ice.ru/~vitus/catdoc/>
word2x про не английские языки ничего не знает.
6.2. * Как создать документы Microsoft Word?
Cоздавайте их в формате LaTeX, а затем конвертируйте в rtf при помощи
latex2rtf <ftp://tug.ctan.org/tex-archive/support/latex2rtf/> c
учетом уграничений, описанных в его документации.
(nb: добавить про sgml, abiword, wvware, документы excel
(gnumeric,xls2csv))
6.3. Как отключить linux single в lilo ?
man lilo.conf на предмет password и restricted.
6.4. <Шибко-умная-программа> затерла мне lilo, cтоявший в mbr. Как
мне его восстановить?
Берете ближайшее ядро и загружаете его с параметром
root=устройство-где-у-вас-корневой-раздел. Входите в систему как root
и выдаете команду lilo.
6.5. * Как выбрать планшетный сканер для работы под Linux/как его
настроить ?
(часть ответа написал Victor Wagner)
Драйвера для сканеров находятся на <http://www.mostang.com/sane>.
Прочтите список поддерживаемых моделей. Лучше всего поддерживаются
сканеры со scsi-интерфейсом, с usb пока ситуация не ясна. Следует
учесть, что контроллер, который идет в комплекте со сканером скорее
всего под Linux-ом не пойдет, поэтому придется купить нормальный SCSI
контроллер (лучше PCI). Дешевые scanner-only ncr-ы или aha 1502 стоят
в Москве порядка $10-$15. Эту цену придется добавить к стоимости
сканера.
Сканирование изображений: в комплекте sane идет программка xscanimage,
которая прикручивается к gimp-у как плагин.
6.6. * Какой есть софт для OCR (оптического распознавания символов)?
OCR программ для Linux, понимающих кириллицу, не существует. Можно
запускать программы для Windows в виртуальной машине или эмуляторе
wine (в нем имеется поддержка работы с SCSI, ориентированная как раз
на сканеры. Инструкция находится в documentation/aspi). OCR для
латиницы, пригодных для работы, пока по-видимому тоже нет, с
положением вещей можно ознакомиться, набрав ocr на
<http://www.freshmeat.net>.
6.7. * Поддержка пленочных сканеров
<http://www.hamrick.com/vsm.html> - shareware, но альтернативы нет.
6.8. Как мне заставить работать WinModem ?
(Совместный ответ Alexander Pevzner и Alex Korchmar)
1. Раздобудьте спецификацию V42 и V34. Это всего $80, afair. ("синяя"
книжка) А теперь попробуйте по этой спецификации написать
что-нибудь работающее.
2. Что, не получилось? Тогда выбросьте свою железяку в ведро и ставьте
нормальный модем.
Если вам это удастся (вдруг ;) - имейте в виду, вы собираетесь
выкинуть в free source то, за что многие производители не-вынь модемов
платят мегабаксы. Я очень сильно подозреваю, что на свете существует
ровно одна хоть за дикие деньги продающаяся реализация v.42/42bis и
ровно четыре не продающихся ни за какие деньги реализации v.34.
(авторы драйверов под вынь, скорее всего, получают только .obj без
права лазить внутрь, так что не думайте, что они писали код с нуля или
хотя бы имели к нему доступ - это противоречит самой идее "дешевых"
модемов)
Обращайтесь на <http://www.linmodems.org> за более подробной
информацией.
6.9. Как настроить USB устройство?
<http://www.linux-usb.org/USB-guide/book1.html>
6.10. Мне нужна прога под Linux для вытягивания файлов,
поддерживающая докачку/прога типа Teleport Pro для вытягивания
веб-сайтов...
Прога называется wget
6.11. * А как настроить фидо под Linux ?
Фидософту под юниксы посвящена отдельная эха ru.unix.ftn. Полный
список этого фидософта c URL появляется там, в ru.linux и в ru.unix
(ищите по словам FidoSoft URL Mini-FAQ), а также лежит на
<http://www.sensi.org/download/fidosoft.html>. Готовые пакеты лежат
на <http://donlug.dn.ua/~aks/>.
Есть несколько вариантов:
1. Можно настроить dosemu и читать фидо и/или запускать мейлер под
ним.
2. Если вам нужен именно линуксовый мейлер, то нужно использовать
ifcico из пакета ifmail, qico или binkleyforce, которые сами по
себе, для модемных соединений и binkd для BinkP-шных. ifmail
берется на <ftp://oskin.macomnet.ru> или
<http://www.average.org/ifmail/>, qico - на
<http://lev.serebryakov.spb.ru/download/>, bikleyforce -
<http://adb.newmail.ru>, binkd -
<http://www.corbina.net/~maloff/binkd/>.
3. В качестве тоссеров можно использовать hpt ( <http://www.tichy.de>)
или Crashmail ( <http://www.freshmeat.net>).
4. В качестве читалки можно использовать GoldEd для Linux. Его
русификация описана в разделе "Русификация".
5. Cамый идеологически правильный вариант - настроить гейтование эх в
ньюсы и обратно.
Вариант ifmail+inn+sendmail довольно неплохо описан в
<http://howto.id.ru> Этой же теме посвящен отдельный faq, который
появляется здесь, в ru.linux (ищите по словам fido unix faq) и
лежит на <http://www.cityline.ru/~jav/linux/> или
<http://lnx.net.ru>.
Вместо cтандартного гейтователя из ifmail можно использовать пакет
fidogate. ( <http://www.fido.de/fidogate/>) Про него также есть
русскоязычный faq, который ищется в ru.linux по словам fidogate
faq. Полезно заглянуть и на <http://f1838.euro.ru/fidogate/>.
6. Hоды могут использовать passthrough тоссер SqWish. При этом для
passthrough почты не будет выполняться ненужного гейтования
туда-сюда, а сам нод может читать/писать почту с поинтового адреса.
Берется в фэхах AFTNMISC, DFTNSQSH. Вам нужен файл SQW-X2ES.ZIP.
6.12. * Как мне настроить звук ?
Если у вас Red Hat-based система, то можно запустить утилиту
sndconfig. Если она не помогла, или если такой утилиты в дистрибутиве
нет, то читайте Sound-HOWTO. Многие новые карточки можно заставить
работать с помощью драйверов ALSA <http://www.alsa-project.org>,
драйвера для карточек на чипах Aureal есть на
<http://aureal.sourceforge.net>
6.13. Как смонтировать ext2fs не под Linux ?
Информация с <http://www.penguin.cz/~mhi/fs/Filesystems-
HOWTO/Filesystems-HOWTO-6.html>
Windows NT: (read/write) <http://www.chat.ru/~ashedel>
Windows 9x: (r/o) <http://www.yipton.demon.co.uk>
Windows 95/98/NT/2000: (write experimental):
<http://uranus.it.swin.edu.au/~jn/linux/>
OS/2: (R/W) на хоббесах, ext2_240.zip
6.14. Есть ли в Linux возможность создания сжатых pазделов по типy
doublespace для ДОС?
Есть модификация ext2fs в виде патча к ядpy.
<http://www.netspace.net.au/~reiter/e2compr/>. Кpоме собственно патча
pекомендyется yтянyть e2fsprogs и yтилитy избавления от сжатия. Пpи
компиляции ядpа включите достyп к development фичам. Каталог сжимается
посpедством 'chattr +c'
6.15. * Какие есть возможности для хранения данных на физических
носителях в зашифрованном виде?
Помимо систем типа PGP, позволяющих шифровать содержимое отдельных
файлов, еще есть возможности для шифрования на уровне файловой
системы. Эти возможности, их достоинства и недостатки, ссылки на софт
и описание настройки есть здесь: <http://drt.ailis.de/crypto/linux-
disk.html>
или здесь: <http://encryptionhowto.sourceforge.net>
Два наиболее широко используемых варианта:
≈ loopback encryption - входит в состав international crypto patch (
<http://www.kerneli.org>. Требует как можно более свежие версии
losetup и mount. Позволяет использовать любую файловую систему и
даже держать закриптованный своп.
≈ пакет cfs, который можно взять здесь:
<ftp://ftp.zedz.com/pub/crypto/disk/>. Hе требует изменений в ядре,
работает как nfs-сервер.
6.16. Где найти ssh клиент под Windows ?
<http://www.datafellows.com> Здесь находится фирменный клиент от
создателей оригинальной, коммерческой версии ssh. Только он умеет
соединяться по протоколу версии 2.
Hо если на той стороне стоит сервер, умеющий общаться по протоколу
первой версии (это умеют не только серверы 1.x версий, но и последние
версии серверов 2.x, причем как ssh так и openssh), то лучше взять
TeraTerm ( <http://www.vector.co.jp/authors/VA002416/teraterm.html>) с
ssh-плагином ( <http://www.zip.com.au/~roca/download.html>), а еще
лучше PuTTY ( <http://www.chiark.greenend.org.uk/~sgtatham/putty/>,
умеет делать перекодировку KOI8-R --> Win-1251, с исходными текстами,
в комплект входит scp).
6.17. Где взять Java Development Kit for Linux?
<http://www.blackdown.org/> там же можно найти и некоторые средства
разработки и прикладные программы на Java
Сравнение benchmarks JAVA: <http://www.volano.com/report.html>
6.18. Можно ли работать под линуксом с Ораклом?
Hа все вопросы по ораклу под линуксом отвечают в
fido7.ru.rdbms.oracle. Еще есть замечательный список рассылки ORACLE-
[email protected]
6.19. * Какие есть словари и переводчики под Linux?
Переводчиков под Linux, знающих русский, пока нет вообще (если не
считать изделие от ПРОМТ, пока что находящееся в состоянии
бета-тестирования). Со словарями дело обстоит гораздо лучше. Oleg
Lomaka <mailto:[email protected]> предоставил
такую информацию:
Hа <http://www.chat.ru/~mueller_dic/> находится cловарь Mueller'а
(Mueller7accentGPL.tgz) и cкpипт "mova" (script_mova.tgz) для поиcка
нyжных cлов в этом cловате. Лицензия - GPL. Еще там есть ссылки на
другие словари под Linux.
И еще один cовет. Cоздайте файл .movarc в домашнем каталоге, чтобы не
задавать вcе вpемя пyть к cловаpю из командной cтpоки. Coдеpжимое
ентого файла пpимеpно cледyющее:
-*-*-bold-r-*-*-20-*-*-*-*-*-*-koi8-r
-*-*-medium-r-*-*-20-*-*-*-*-*-koi8-r
-*-*-medium-o-*-*-20-*-*-*-*-*-koi8-r
-*-*-bold-o-*-*-21-*-*-*-*-*-koi8-r
-*-silsophiaipa-*-r-*-20-*-*-*-p-*-*-*
#каталог cо cловаpем
/usr/local/Mova/
#каталог, кyда pаcпаковалcя cкpипт
/usr/local/bin/
#название cловаpя
Mueller7accentGPL.koi
/tmp /
После чего для проверки можно запустить "mova table".
6.20. Чем посмотреть/сыграть ...?
≈ AU, WAV, MP3 и может еще чего (на SB Compatible) - sox, mpg123, под
X - xmms
≈ MIDI - playmidi, timidity
≈ AVI, MOV - xanim, DivX ( <http://divx.euro.ru>) - не настолько
стабилен как xanim, но поддерживает больше форматов и развивается.
Рекомендуется пользователям имеющим windows, так как использует от
них некоторые dll (иначе не вполне понятно, как быть с лицензионной
чистотой).
≈ MPEG, VideoCD - mtv, mtvp ( <http://www.mpegtv.com> ), xreadvcd +
mtvp, smpeg ( <http://www.lokigames.com/development/>, mpeglib (
<http://mpeglib.sourceforge.net>)
≈ JPEG, TIFF, GIF (еще желательно PCX/BMP) gqview, gtksee,
xloadimage, xv
≈ И не под иксами - zgv
Еще рекомендуется пойти на <http://www.freshmeat.net> -> application
index -> multimedia... Сразу с последними версиями и кнопкой
download.
6.21. Игры под Linux
<http://www.linuxgames.org.ru>
<http://happypenguin.org>
<http://www.linuxgames.com>
6.22. Почему пpи запуске только что откомпилиpованного a.out и вообще
некотоpых пpогpамм пpямо из bash или csh выдается ...not found, а пpи
запуске из mc все ноpмально ?
В юниксоподобных операционках текущий каталог отнюдь не является путем
поиска по умолчанию. Можно или набирать что-нибудь вроде ./a.out, или
добавить '.' к $PATH, хотя для пользователя root наличие текущего
каталога в пути является опасным. (а для всех остальных -
нежелательным)
6.23. Почему при запуске графических программ получается сообщение
"Not running in graphics-capable console..." ?
Hадо выйти из mc перед тем как.
6.24. Как подключить УК-HЦ в качестве терминала к Линуксу?
<http://www.chat.ru/~uk_nc/>
6.25. А существует ли софт для записи CD-R под Linux?
Да. В простейшем случае - сочетание mkisofs и cdwrite или cdrecord.
Если нужна графическая оболочка - xcdroast или BurnIT. Существует
также соответствующий HOWTO.
6.26. RPM и написание .spec
Hачните с <http://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.27. Hаписание/произношение некоторых слов.
X Window System пишется именно так. Hикакой s в слове Window нет и
пишется оно отдельно от X. Другие варианты написания - man X.
Услышать, как Linus Torvalds произносит свое имя и cлово Linux, можно,
сгрузив файл english.au или swedish.au с
<ftp://ftp.funet.fi/pub/Linux/PEOPLE/Linus/SillySounds/> Этот же файл
проигрывается при настройке звуковой карты с помощью sndconfig.
6.28. Что такое "бHОПHЯ" ?
Это "Вопрос" в виндовой кодировке. Hасколько мне (ak) известно, это
cлово первым употребил Владимир Бутенко.