FAQ конференции FIDO.RU.Linux --------------------------------------------------------------- 25.10.2002. Оригинал этого документа расположен на http://www.sensi.org/~ak/linuxfaq/ ║ http://www.sensi.org/~ak/linuxfaq/ --------------------------------------------------------------- RU.LINUX Frequently Asked Questions Alexander Kanavin, ak@sensi.org Версия от 25.10.2002. Сборник часто задаваемых вопросов (с ответами), связанных с ОС Linux. Последняя версия находится по адреcу <http://www.sensi.org/~ak/linux-faq/> 1. Преамбула Hовые вопросы и вопросы с обновленными ответами отмечены * 1.1. Как добиться занесения вопроса в FAQ? Дайте составителю вопрос и ответ, пригодные к включению в FAQ методом copy-and-paste. (Alex Kanavin) 1.2. Куда посылать дополнения? Дополнения к FAQ в виде пар вопрос-ответ принимаются на ak@sensi.org 1.3. Что составитель был бы рад получить в качестве дополнения к FAQ? Внимание: ищутся желающие написать следующие ответы для FAQ. ╥ SSL (openssl). VPN. Kerberos. ╥ обзор сред, методов и идеологий разработки программ Годятся и интернетовские ссылки на статьи, описывающие эти вещи - но они должны быть на русском языке и технически грамотными. Ищу человека, готового перевести и поддерживать раздел "Русификация" на английском языке. 1.4. Где в интернете находится последняя официальная версия FAQ? Этот FAQ list доступен по следующим URL: http://www.sensi.org/~ak/linuxfaq/ 1.5. С каких узлов в Fidonet можно получить FAQ через файловый запрос или через запрос к роботу? FAQ доступен для Fidonet FREQ здесь: 2:450/176.15 freq alias: LINUXFAQ (work time: 21:30-6:30). 2:5013/14 алиас linuxfaq (по нодлистовому времени) 2:5020/1255 по алиасу NEWFAQ (c 21:00 до ZMH, CM на выходных) 2:5030/902 по алиасу LINUXFAQ (по нодлистовому времени) 2:5045/71 freq alias: LINUXFAQ worktime: CM 2:5061/108 алиас LINUXFAQ (с 00:00 до 06:00) 2:5069/11 CM алиас LINUXFAQ 2:5077/7, Alias: LINUXFAQ (Work time: 23:30-06:00 [MSK+2]) FAQ можно получить от следующих роботов: to: faqrobot 2:5036/26 subj: rulinux.faq Для появления в этих списках необходимо регулярно выкладывать у себя свежую версию FAQ. Пишите мне, если вы получили старье с одного из этих узлов. 1.6. Предыдущие составители FAQ, его распространение и использование. Составлено по материалам RU.LINUX (и не только). (c)Составление - Станислав Корсуков, FidoNet 2:5030/532. (s)Поддержание - Михаил Браво, mbravo@kronverk.spb.su, до сентября 1999 (s)Поддержание - Aлександр Канавин, ak@sensi.org Приветствуется выкладывание данного FAQ на ftp/www/etc и прочее распространение. Пожалуйста, не забывайте давать ссылку на оригинал. Коммерческое использование возможно лишь с письменного разрешения. (Я рассчитываю на процент :-) 1.7. Что делать, если я не нашел здесь ответ на свой вопрос? Если вы не нашли ответ на свой вопрос - почитайте руководство к своему дистрибутиву (вообще говоря, к нему надо обращаться прежде всего), faq's из дистрибутива (обычно /usr/doc/faq), HOWTOs и т.п. Попробуйте сделать запрос на <http://groups.google.com/>. Весьма вероятно, что ваша проблема уже обсуждалась - если это так, то вы получите более быстрый и полный ответ, вовсе не написав письмо в конференцию. Если у вас возникает несколько разных вопросов, лучше напишите одно письмо подлиннее, чем десять однострочных. Если вы задаете вопрос, связанный с вашей конкретной системой, всегда включайте как можно больше деталей - какой дистрибутив, какая версия дистрибутива, какая версия ядра, с какими именно железками у вас проблемы (опять же версии, надписи на микросхемах), и так далее. Перед тем, как писать в эху ru.linux, подумайте, возможно ваш вопрос более уместен в ru.unix - эхе, посвященной Unix-подобным ОС в целом или ru.gnu - эхе, посвященной программному обеспечению проекта GNU. Еще существуют эхи ru.unix.prog - программирование под Unix, ru.unix.multimedia - название не требует пояснений и ru.unix.ftn - фидософт под Unix. Для начинающих еще есть эха ru.linux.chainik, но на мой взгляд в нее обращаться не стоит, так как вероятность получить квалифицированный ответ там ниже чем в ru.linux и особенно ru.unix. Что касается эхи ru.unix.linux, то в нее желательно вообще не писать, так как она является копией ru.linux, если не считать отсутствия модератора и по непонятным мне причинам до сих пор не удалена с бекбона. 1.8. * Как мне задать свой вопрос так, чтобы вероятность получить полезный ответ была максимальной? Прочтите: How To Ask Questions The Smart Way <http://www.tuxedo.org/~esr/faqs/smart-questions.html> Перевод: Как правильно задавать вопросы <http://ln.com.ua/~openxs/articles/smart-questions-ru.html> How to Report Bugs Effectively <http://www.chiark.greenend.org.uk/~sgtatham/bugs.html> 2. Установка и изучение Linux 2.1. Я решил поставить Linux... Прежде всего Вам нужно ответить на один вопрос: для чего Вы собираетесь его использовать ? Если Вы можете дать ответ на него, то нужно быть готовым к следующим вещам: ╥ под Linux-ом пока не существует надежного и бесплатного способа запускать программы для Windows. В частности, это означает, что у вас могут возникнуть проблемы с "Документами Word" и "Документами Excel". ╥ нужно будет вдумчиво читать большое количество англоязычной документации с экрана ╥ основным устройством ввода станет клавиатура ╥ первые несколько месяцев Вам придется нелегко ╥ вам придется обзавестись соединением с сетью Интернет. Пусть платным или эпизодическим, но оно у вас быть должно. Вся документация, новости и программы ищутся и находятся там (а не на фреках или пиратских дисках). Более подробно эта тема разжевана чуть ниже. 2.2. Как поставить Linux, не покупая диски с дистрибутивом и не скачивая дистрибутив из Интернета? Найдите на <http://www.lug.ru> координаты группы пользователей Linux вашего города. Придите на их ближайшую встречу, можно сразу с жестким диском. Попросите на этой встрече кого-нибудь дать вам диск с дистрибутивом на пару дней. Некоторые 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.linux-online.ru>. Жители Украины могут купить лицензионные дистрибутивы на <http://www.ebuy.dp.ua>. Жители Санкт-Петербурга - <http://www.shopsys.spb.ru>. Отличительными внешними признаками пиратского дистрибутива являются ╥ низкая цена - того же порядка, что и цена обычных пиратских дисков ╥ отсутствие адреса производителя дистрибутива ╥ "шесть операционок/дистрибутивов на одном диске". Hормальный дистрибутив линукса крайне редко умещается на единственном диске. (пяти-шестидисковые наборы с двумя-тремя разными дистрибутивами в одной коробке от walnut creek, cheapbytes или infomagic пиратскими не являются. Это вполне нормальные дистрибутивы, но, может быть, без коммерческих и полукоммерческих программ. Стоит такой набор примерно столько же, сколько "коммерческий" дистрибутив.) ╥ отсутствие исходников строго говоря не является основанием для причисления к пиратам, но должно вызвать у вас серьезные подозрения. Если те, у кого вы купили дистрибутив без исходников, отказываются выдать вам их по цене носителя и посылают на ftp (или просто посылают подальше) - они однозначно нарушают лицензию GPL. Однако, это не касается cd-r копий и прочих копий, полученных на некоммерческой основе (например, переписанных на винчестер за пиво). Если у вас есть знакомый гуру, на помощь которого вы на первых порах рассчитываете, то, в случае, если вы поставите у себя то, что он использует сам, у вас будет больше шансов получить ответы на вопросы о тонкостях настройки. 2.4. А где в Москве (Петербурге, где-либо еще) можно купить официальные диски с Линуксом? Петербург: у Михаила Браво mbravo@kronverk.spb.su, у Дмитрия Иванова (2:5030/902, idv@aanet.ru, возможна рассылка в другие города на территории России), в фирме Кронверк (Загородный 68, 110-1303), в фирме Аякс (312-5208, <http://linuxcenter.ru>). Москва: в Доме Книги на Hовом Аpбате. Hа пеpвом этаже от входа напpаво, фиpма - CompuLink, соответственно, и в дpугих ее филиалах. Реселлеры ALT Linux: <http://www.altlinux.ru/index.php?module=buy>) Офис Vinchi Group (адрес и телефон на <http://www.vinchi.ru>) Офис Bolero (ул. Кедрова, 14, вход со двора, этаж 3, комн.319. Телефон 124-6455). Ростов-на-Дону: диски с дистpибутивами можно купить в фиpме "Proga" - ул. Большая Садовая 188, офис 320. Тел.53-41-22. Алма-Ата: TOO e.com (480091, ул. Фурманова 103, 3 этаж, тел. многоканальный 505-777, факс 505-778) Киев: КОМИЗДАТ (553-5547, спроосить Сергея Антончука) Севастополь. (0692)553148 <http://www.sevcom.net> Харьков: продажа ASPLinux <http://www.spez.com.ua> Другие города: ? 2.5. Как узнать последнюю версию софта XXX/url его домашней странички ? Мне нужна некая фича, но я не знаю, как называется соответствующий софт, что делать? <http://www.freshmeat.net>. Там есть все. На <http://www.opennet.ru> есть целый комплекс средств для отслеживания версий софта ( <http://www.opennet.ru/lastsoft/> - автоматическая система, <http://www.opennet.ru/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.ru> ╥ <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-подобный дистрибутив). Что следует прочесть в первую очередь, чтобы уяснить его специфику? Начните с Red Hat Reference Guide (/doc/ref-guide на компакт-диске). Особенно стоит обратить внимание на главы Package Management with RPM и System Administration. Также полезно прочесть cодержимое /usr/doc/initscripts-x.xx. Очень многие вопросы, которые сюда стоило бы включить, не включены именно потому, что на них есть ответы там. Два последних источника являются частичной компенсацией отсутствия Linux-специфичных вещей в книге Немет, издание 94го года. 2.9. А у меня нет интернету, что вы мне тут урлями тычете! Хочу фреков! Это фидошная конференция или где?! (вариант: пришлите мне нетмейлом русскую и подробную доку по ...! Очень надо!) Linux - система, целиком и полностью разрабатывающаяся в интернете. Поэтому, нравится вам такое положение вещей или нет, но если вы не хотите сидеть на версиях программ, с глюками которых все уже давно позабыли, как бороться, мучаться с поисками документации и платить пиратам и халтурщикам за CD с кучей устаревшего и глючного мусора, то для нормальной жизни в линуксе вам необходимо хоть какое-то интернет-подключение (вполне сгодится, на первое время, и вариант "попросить приятеля скачать что-нибудь нужное" - но чем сложнее этот процесс, тем меньше удовольствия и больше проблем вы получите от линукса). И никто, увы, не жаждет сперва за свои деньги что-то скачивать, а потом выкладывать вам для халявной раздачи. Да, это делалось где-то, когда-то, когда интернет был дорог и малодоступен, а качали все, в общем, одно и то же - но сейчас те, кто этим занимался, давно потеряли и интерес, и технические возможности. Поэтому об'единяйтесь с такими же страдальцами, покупайте интернет вскладчину, публикуйте свои адреса для freq, восстанавливайте файлэхи U*, но не ждите, что кто-то сделает это за вас. Тем не менее, некоторое количество ббс c юниховым софтом существует, они перечислены в следующем вопросе. 2.10. А у меня нет Интернета, где бы мне найти ... для Линукса? Желающие могут присылать свои координаты для включения в FAQ. Запись на CD-R: В Петербурге: У Дмитрия Иванова (2:5030/902, idv@aanet.ru). Hа freq FILES отдается полный список имеющегося. Возможна рассылка в другие города на территории России. 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/763 TMA BBS, по нодлистовому времени (файл-реквесты). И станции в Харькове - 2:461/220 Spezvuz BBS CM 057-7123313 Alexander Grinevich (2:461/1024) 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етьего винта / гигабайтного винта в normal моде / чего-то экзотического / раздела выше 8Gb } Что делать ? Если поместить яд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 (>21.3) умеют загружать ядро и с цилиндров, больших, чем 1024. При этом BIOS должен быть не слишком старым и поддерживать lba32, эту опцию надо прописать в /etc/lilo.conf. В качестве альтернативы lilo очень рекомендуется поглядеть на GRUB <http://www.gnu.org/software/grub> Существует еще малоизвестный загрузчик NUNI, который вообще не пользуется BIOS и напрямую работает с IDE-контроллером. Причем понимает даже PCI IDE с нестандартными(большими) номерами портов. Диск должен быть с системой ext2fs. 2.13. Как мне поставить линукс, не выделяя ему раздел - только на познакомиться. (вариант: мегабайт на 150 - у меня больше нет, я бедный студент) А то у меня диск весь занят NT'ей/виндами/OS/8, etc. (Alex Korchmar) Для первого знакомства с женским полом - _не_надо_ использовать резиновую бабу. Для того, чтобы познакомиться с линуксом/посмотреть, на что он годится - _не надо_ ставить его под win4lin, vmware и прочими эмуляторами, не надо искать "урезанные", "упрощенные", "live-fs" и прочие недо-дистрибутивы, и не надо пытаться поставить их на FAT - начинающему и без этого хватит проблем. И аргумент "мне эти три-пять гигабайт еще могут понадобиться" - не аргумент вовсе. Если они тебе так нужны, что нельзя с пол-годика без них обойтись - значит, не надо ставить линукс. Ибо если ты его будешь раз в три дня переустанавливать - то вот только переставлять отдельно взятый (кривой) дистрибутив на отдельно взятой (кривой) конфигурации ты и научишься. А это знание, увы, работодателями не ценится. 2.14. Хочу поставить на один винт несколько операционок: 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 не трогают, но Windows NT трогает MBR при первом запуске Disk Administrator - он спрашивает, можно ли записать Disk signature (это нечто 32-битное вроде контрольной суммы), пишется оно в MBR и по слухам прибивает LILO. 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.15. А давайте спортируем DN под Linux, FAR под Linux, допишем mc, чтобы он был не хуже DN, есть ли приличный файловый менеджер для Linux (mc не предлагать) etc etc (Andrey Terebecky <mailto:arey@penguinpowered.com>) 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 - X Northern Captain ( <http://xnc.dubna.su>), 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.16. * Есть ли в Linux-е интегрированные среды разработки типа Bor- land C++ Builder, Borland Delphi, Microsoft Visual C++, и т.д.? Borland Kylix <http://www.borland.com/kylix/> Victor Wagner <mailto:vitus@communiware.ru> А как же. xwpe (очень похожа именно на Turbo C++), rhide, motor, KDevelop, Glade, Source Navigator Hо все они до жути неудобные. По той простой причине, что ни один квалифицированный программист с ними не связывается. Это софт, написанный чайниками и для чайников. Потому что те, кто более-менее разбирается в идеологии *nix прекрасно понимают, что практически любой проект надо разрабоатывать не на одном языке, а на нескольких разного уровня (критические по скорости части - на C, интерфейс - на perl/tcl/python/slang, работу с данными на SQL и так далее). Между прочим, большинство из выше упомянутых оболочек расчитаны на работу с несколькими языками. Hо все равно они хуже, чем обыкновенный мощный редактор. Благо, все мощные редакторы под эхотаг умеют вызывать внешние программы, и анализировать их выдачу. Поэтому рекомендуется освоить один из двух наиболее распространенных редакторов - vim или emacs, и пользоваться для разработки им. Благо такие вещи как подсветка синтаксиса, вызов make прямо из редактора, и позиционирование курсора на строку, про которую компилятор выругался, в них обоих есть. (от Alex Kanavin: намного более подробно все это объясняется в книжке The Art of Unix Programming, которую я рекомендую прочесть всем, кто начинает программировать под Unix - она очень хорошо помогает осознать идеологию Unix и избавиться от предрассудков, свойственных Windows-программистам. Книжка лежит здесь: <http://www.tuxedo.org/~esr/writings/taoup/> 2.17. * Ищу конфернцию, посвященную программированию под Linux... Программирования "под Linux" не бывает. Бывает программировние под *nix. И ему посвящена эха <news:fido7.ru.unix.prog>. 2.18. А вот ответьте мне нетмейлом на такой вопрос: ... ? Как заметил Victor Wagner, написание писем в эху есть самовыражение, написание писем нетмейлом есть техническая поддержка. Первое бесплатно, второе платно. Подумайте об этом. 2.19. У меня совсем чайниковый вопрос... Обратитесь в RU.LINUX.CHAINIK. Правда, при этом есть риск получить совсем чайниковый ответ. 3. Русификация Значительная часть этого раздела написана Alexander Voropay <mailto:alec@sensi.org>. 3.1. У меня проблемы с русским в... Проблему русификации можно разделить на несколько частей : ╥ русификацию консоли ╥ установку системной (libc) locale ╥ русификацию системы X Window - шрифты и клавиатура ╥ включение поддержки русского в конкретных программах ╥ печать Все эти части настраиваются по-отдельности. Существует Cyrillc-HOWTO <http://www.ibiblio.org/pub/Linux/docs/HOWTO/unmaintained/Cyrillic- HOWTO>, однако он довольно долго не обновлялся и больше не поддерживается, поэтому отнеситесь к нему критически (Last version : v4.0, 23 January 1998), перевод: <http://www.inp.nsk.su/~baldin/Cyrillic-HOWTO-russian-old/Cyrillic- HOWTO.html>. Евгений Балдин создал новую версию Cyrillic-HOWTO на русском (версия не имеет английского перевода и не включена в официальную базу HOWTO). Доступна здесь : <http://www.inp.nsk.su/~baldin> Лучше всего сперва искать решение проблемы здесь и лишь потом - в 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://lct.sourceforge.net> В разных дистрибутивах применяются или один, или другой. Например, в Red Hat 4.х и 5.x для русификации консоли применялся пакет kbd. Однако в Red Hat 6.x и выше применяется уже другой пакет - consoletools. Существует Keyboard-and-Console-HOWTO, автор этого HOWTO является также автором пакета kbd, поэтому естественно, всех склоняет к использованию kbd. ;-) <http://linuxdoc.org/HOWTO/Keyboard-and- Console-HOWTO.html> На "низком уровне" для русификации консоли достаточно выполнить следующие команды (пакет kbd): $ setfont Cyr_a8x16 $ mapscrn koi2alt $ echo -ne "\033(K" $ loadkeys ru1 Если используется пакет console-tools: $ consolechars -f UniCyr_8x16 -m koi8-r $ echo -ne "\033(K" $ loadkeys ru1 См. man на соответствующие команды и 'man console_codes'. Описание, что есть что, у console-tools в /usr/doc/console-tools*, довольно внятное. NB! К сожалению, в пакете console-tools некоторые русские фонты не содержат UNICODE screen-font map (SFM) и в таком виде попадают во многие дистрибутивы. Исправленные фонты живут в пакете console-tools- cyrillic: <ftp://ftp.ice.ru/pub/fonts/linux/> Как правило, настройка шрифтов и клавиатуры скрыта среди стартовых скриптов, а ключевые управляющие параметры вынесены в отдельные файлики. Иногда существуют даже специальные программы настройки. "Идеологически правильно" не нарушать системную архитектуру дистрибутива, а всего лишь поменять настройки в этих файликах. К сожалению, в Linux только один загружаемый фонт на все виртуальные консоли. Если вы хотите видеть русские буквы и рамки (например в mc) на консоли одновременно, используйте только TERM=linux . У вас будут проблемы при работе консоли в CP-866 из-за того, что некоторые русские буквы в этой кодировке совпадают со "старшими" управляющими кодами C1, например буква "Ы" 0x9B совпадает со старшим ESC (CSI). Работайте в KOI8-R. 3.3. Мне говорят "Настрой локаль!" Что это значит ? Речь идет о настройке системной locale. Проверить установки можно, просто сказав locale: $ locale LANG=ru_RU.KOI8-R LC_CTYPE="ru_RU.KOI8-R" LC_NUMERIC="ru_RU.KOI8-R" LC_TIME="ru_RU.KOI8-R" LC_COLLATE="ru_RU.KOI8-R" LC_MONETARY="ru_RU.KOI8-R" LC_MESSAGES="ru_RU.KOI8-R" LC_ALL= $ Если результат именно такой, значит настроена русская locale (ru_RU) в кодировке KOI8-R. Проверить можно командами 'cal' или 'date' - даты должны быть на русском. На самом деле, для настройки locale достаточно всего лишь установить переменную окружения LANG= из стартовых скриптов (например /etc/profile) или руками. $ export LANG=ru_RU.KOI8-R В Red Hat-based дистрибутивах это делается путем редактирования файла /etc/sysconfig/i18n где, кроме прочего, должна быть строчка LANG=ru_RU.KOI8-R 3.4. * Как настроить locale ? Я установил LANG, но русских дат нет. Прежде всего - подробная дока о locale имеется на <http://www.sensi.org/~alec/locale>. Обращайтесь туда, если вам нужны нестандартные варианты (например, отключение русскоязычного интерфейса с сохранением правильной сортировки и т.д.) Система X-Window и библиотеки Xlib и Xt имеют собственные механизмы локализации (XLC_LOCALE) которые являются "надстройкой" над системной locale. Подробности: {X11Root}/doc/i18n (в RedHat: /usr/share/Xfree86-doc/i18n). Документация в .PS <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/lib/locale $ mv ru_RU.koi8r ru_RU.KOI8-R (в старых версиях - /usr/share/locale) NB! Утилита localedef фомирует "сжатое" (mangled) имя кодировки, так что имя превращается в "ru_RU.koi8r". Это приводит в замешательство некоторые программы. Но к счастью, все же можно установить полное имя LANG="ru_RU.KOI8-R" и благодаря mangling-у все будет работать и программы будут счастливы. Еще один вариант -- переименовать каталог. Некоторые дистрибутивы неправильно включают LANG=ru LC_ALL=ru_RU.KOI8-R Это НЕПРАВИЛЬНО. Лучше не устанавливать переменную окружения LC_ALL вообще (достаточно полного LANG=, а все переменные LC_xxxx "унаследуются" от него). Подробнее смотрите на <http://www.sensi.org/~alec/locale/> в главе "Как включить..." 3.5. Как отключить вывод сообщений на русском, сохранив при этом остальные свойства русской локали ? Нужно определить переменные окружения : LANGUAGE=en_US LC_MESSAGES=en_US В RedHat эти строки можно вписать прямо в /etc/sysconfig/i18n . 3.6. Я настроил locale и русский в консоли, но bash все равно не вводит русские буквы, пищит. Хотя для большинства программ вполне достаточно установки LANG=ru_RU.KOI8-R чтобы начать распознавать русские буквы, многие программы, основанные на библиотеке readline (например bash), все равно считают символы с кодами больше 128 особыми META-символами (пищит при вводе). Чтобы отучить библиотеку readline от этого, необходимо определить переменную INPUTRC=/etc/inputrc Кроме того, создать файл /etc/inputrc set meta-flag on set convert-meta off set output-meta on После этого библиотека readline (и bash) начнет воспринимать русские буквы. Еще один вариант : Не задавать INPUTRC=, а прописать те же значения в файл ~/.inputrc (в home-каталоге). Но тогда придется заводить такой файл в домашнем каталоге каждого пользователя. См. man readline. 3.7. Red Hat и русификация Cоздаем файлик /etc/sysconfig/i18n. Внутри должно быть что-то вроде: SYSFONT=UniCyr_8x16 SYSFONTACM=koi8-r 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.8. Debian и русификация Debian 2.2: Насторойка фонтов запускается из /etc/init.d/console- screen.sh /etc/console-tools/config: # SCREEN_FONT=Cyr_a8x16 APP_CHARSET_MAP=koi8-r # APP_CHARSET_MAP_vc2=koi8-r APP_CHARSET_MAP_vc3=koi8-r APP_CHARSET_MAP_vc4=koi8-r APP_CHARSET_MAP_vc5=koi8-r APP_CHARSET_MAP_vc6=koi8-r Фонты нужно заменить, взяв правильные из console-tools-cyrillic. Клавиатура настраивается из /etc/init.d/keymaps-lct.sh и загружает раскладку /etc/console-tools/default.kmap.gz Именно под этим именем нужно разместить требуемую раскладку или создать symlink. Для интерактивного выбора клавиатуры есть полезная утилита: kbdconfig. /etc/environment: LANG=ru_RU.KOI8-R 3.9. Как установить русские фонты KOI8-R на XFree86 ? В современных дистрибутивах они скорее всего уже стоят. Первым делом (на работающем X сервере) запустите : $ xlsfonts -fn "*-koi8-r" Если список не пустой - примите наши поздравления :-) Начиная с версии 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.10. Как сделать так, чтобы в X Window русские буквы вводились везде ? Существует два основных способа русификации клавиатуры X : ╥ XKB, применяющийся в современном X11R6 ╥ xmodmap, применявшийся в X11R5 При русификации X 3.3.x через XKB в /etc/X11/XF86Config должно быть прописано: Section "Keyboard" ... XkbRules "xfree86" XkbModel "pc101" XkbLayout "ru" XkbOptions "grp:shift_toggle" EndSection Для X 4.0.x Section "InputDevice" ... Driver "keyboard" Option "XkbRules" "xfree86" Option "XkbModel" "pc101" Option "XkbLayout" "ru" Option "XkbOptions" "grp:shift_toggle" EndSection В зависимости от клавиатуры опция Model может быть "pc101", "pc104" или "pc105", а комбинации переключения: grp:toggle правый Alt (с "фиксацией") grp:caps_toggle Caps_Lock grp:shift_toggle два Shift grp:ctrl_shift_toggle Control+Shift grp:ctrl_alt_toggle Control+Alt Для 4.0.x добавились новые : grp:alt_shift_toggle Alt+Shift grp:menu_toggle Menu (модель должна быть pc104, pc105) Если есть проблемы с XKB, прочтите <http://www.tsu.ru/~pas- cal/other/xkb/> Там же есть ссылки на "переключатели клавиатуры", например xxkb, описание, как использовать несколько раскладок одновременно, назначать клавиши переключения раскладок и много других интересных вещей. Наиболее развитая программа для переключения клавиат