Общедоступная Лицензия
GNU (the GNU General Public License) или
кратко GPL. GPL была
разработана для проекта GNU
ассоциацией Free Software Foundataion. Она
устанавливает некоторые положения
относительно распространения и
модификации
"свободнораспространяемых
программ". В данном случае
"свобода" относится именно к
Свободе, а не к стоимости. GPL
всегда был источником
недопонимания и мы надеемся, что
этот обзор поможет вам понять цели
и задачи GPL и его влияние на Linux.
Полная копия GPL включена в
Приложение E.
Первоначально Линус
Торвальдс выпустил Linux под
лицензией более ограничивающей,
чем GPL, которая разрешала
свободное распространение и
модификацию, но запрещала любые
денежные расчеты при передаче и
использовании. С другой стороны GPL
позволяет людям продавать и иметь
прибыль со свободно
распространяемых программ, но не
разрешает ограничивать права
других в распространении этих
программ любым образом.
Прежде всего следует
объяснить, что
"свободнораспространяемые
программы", под лицензией GPL
- это не public domain. Программы public
domain - это программы не защищенные
с помощью copyright и, фигурально
выражаясь, принадлежат
"почтенной публике" - обществу.
Программы, защищаемые GPL,
наоборот, защищают авторские права
автора или авторов. Это значит, что
программы защищены стандартными
международными законами copyright, и
что автор программ официально
обозначен. Так что из факта
свободного распространения
программ не следует, что они - public
domain.
Программы под лицензией GPL
не являются также shareware. В
общем случае программы shareware
принадлежат и копируются автором, а
автор требует присылать деньги за
использование программы после ее
передачи. А программы под GPL
могут распространяться бесплатно.
GPL также позволяет
людям брать и модифицировать
программы, а также распространять
свои собственные версии программ.
Однако всякая производная работа,
основанная на программах,
защищенных должна быть под защитой GPL.
Другими словами, компания не может,
взяв и модифицировав Linux, продавать
его под ограничительной лицензией.
Любые программы, производные от,
должны быть также защищены GPL.
GPL позволяет
распространять и использовать
программы бесплатно. Однако, она
позволяет человеку или компании
распространять программы GPL за
деньги и даже получать прибыль от
продажи и распространения. Однако,
при продаже программ под GPL дистрибутор
не может лишить таких прав
(свободного распространения)
покупателя. То есть, если вы купили
где-то программы под GPL, вы
можете их свободно распространять,
или сами заняться торговлей ими.
Сначала это может
звучать как противоречие. Как это
так, продавать с выгодой для себя
программы, когда GPL позволяет
любому иметь их бесплатно?
Например, предположим, что какая-то
компания решила собрать большое
число свободнораспространяемых
программ на CD-ROM и заняться их
распространением. Эта компания
должна вернуть деньги для покрытия
расходов на производство и
дистрибуцию CD-ROM, компания может
также решить сделать на этих
продажах прибыль. Это разрешается в
соответствии с GPL.
Организация, продающая
свободнораспространяемые
программы, должна следовать
определенным ограничениям,
выдвигаемым GPL. Первое, они не
имеют права ограничить права
пользователей, купивших программу.
Это значит, что если вы купили CD-ROM с
программами под GPL, вы можете
бесплатно их копировать и свободно
распространять этот CD-ROM, или тоже
продавать. Второе, дистрибуторы
должны доступным образом доводить
до пользователей информацию о том,
что эти программы находятся под
защитой GPL. Третье,
дистрибуторы должны поставить
бесплатно полный исходный код
распространяемых программ. Это
позволит любому, кто купит
программы под GPL,
модифицировать их.
Позволить компаниям
распространять и продавать
свободнораспространяемые
программы - вещь очень хорошая. Не
всякий имеет доступ к Internet, чтобы
скачать программы, вроде Linux,
бесплатно. (прим. переводчика:
Правда, сама IP-связь для многих в
нашей стране очень и очень даже не
бесплатно - во много раз дороже, чем
это обходится "среднему
американцу". О качестве связи и
говорить не хочется). GPL
позволяет компаниям продавать и
распространять программы среди
тех, кто не имеет свободного
доступа к программам. Например,
многие организации продают Linux на
дискетах, лентах или CD-ROM по
почтовым заказам и делают на этом
свою прибыль. Разработчики Linux
могут никогда не увидеть какую-либо
прибыль для себя от этих продаж. Вот
каким образом регулируются
отношения между разработчиками и
дистрибуторами, когда программы
находятся под лицензией GPL.
Другими словами, Линус не спутайте
автора с названием ОС Linux знал, что
компании могут захотеть продавать
Linux, и что он может не увидеть и
пенни от этих продаж.
В мире
свободнораспространяемых программ
важным элементом являются деньги.
Цель свободнораспространяемых
программ - это всегда создание и
распространение фантастических
программ; чтобы любой мог их
свободно достать и использовать. В
следующем разделе мы обсудим, как
это соотносится с разработкой Linux.
Когда новый пользователь
сталкивается с Linux, часто возникают
ложные ожидания. Linux - уникальная
операционная система, и важно
понимать его философию и
особенности проектирования, чтобы
эффективно его использовать. Даже
если вы умудренный годами UNIX-гуру,
вы найдете в последующем
интересное для себя.
В фирмах,
разрабатывающих коммерческие UNIX,
вся система создается под жестким
контролем качества, существует
система управления написанием
программ, внесением изменений,
документированием,
информированием о выявленных
ошибках и их устранением.
Разработчикам запрещено по
собственному желанию добавлять
какие-то свойства или менять
критически важные коды по своему
желанию. Они могут вносить
изменения только, как реакцию на
выявленные ошибки, документировать
вносимые изменения так, чтобы можно
было систему при необходимости
"вернуть назад". Каждый
разработчик закреплен за одной или
несколькими частями системного
кода, и только этот разработчик
имеет право исправлять замеченные
ошибки.
Внутри фирм департаменты
контроля качества осуществляют
жесткое тестирование всякой новой
версии операционной системы.
Разработчики обязаны под контролем
устранять выявленные ошибки.
Существует сложная система
статистического анализа,
определяющая, сколько ошибок
должно быть устранено, чтобы
об'явить переход к новой версии.
Подход, используемый
создателями коммерческого UNIX при
написании и сопровождении кодов,
весьма сложен и это вполне
обоснованно. Фирма должна иметь
постоянные и хорошо
детализированные подтверждения
тому, что следующая версия
операционной системы созревает для
выпуска на рынок. Отсюда сбор и
анализ статистики о работе этой
системы. Это очень большая и
трудоемкая работа - создавать
коммерческий UNIX. Часто настолько
большая, что требуются сотни, если
не тысячи программистов,
специалистов по тестированию,
писателей документации,
административного персонала.
Разумеется, никакие два
производителя коммерческого UNIX не
похожи друг на друга, но общие
принципы именно таковы, как описаны
выше.
Применительно к Linux вы
можете выкинуть из головы
вышеописанную концепцию
организации разработки большой
программной системы, отладки,
контроля качества, статистического
анализа и т.п. Судя по всему, Linux был
и останется хакерской системой. (Что
я понимаю под словом "хакер" -
это фанатически преданный
программированию человек, которому
нравится работать на компьютере и
делать на нем интересные вещи. Это
не соответствует пониманию
некоторыми слова "хакер", как
обозначения для компьютерного
хулигана).
Linux первоначально
создавался группой энтузиастов в
Internet со всего мира. Любой, в Internet и
за его пределами, имеющий
достаточные знания и навыки, имеет
возможность принять участие в
совершенствовании и отладке ядра,
переносе в Linux новых программ,
написании документации, помощи
новичкам. Нет определенной
организации, отвечающей за
развитие системы. Большей частью
Linux-сообщество общается через
группы по интересам USENET. Существует
ряд соглашений для принимающих
участие в разработках: например,
любой, желающий, чтобы его код был
включен в "официальное" ядро,
должен написать Линусу Торвальдсy,
который проведет тестирование и
включит код в ядро (если
предлагаемый код вписывается в
систему и не противоречит ее
принципам - скорее всего он будет
включен).
Сама по себе система
проектируется по открытому
принципу. Хотя число вносимых
радикальных изменений в систему
уменьшается, общая тенденция
выдачи новой версии ядра через
несколько месяцев (а иногда и чаще)
сохраняется. Разумеется, это
приблизительная характеристика,
она зависит от многих факторов,
включая число обнаруженных ошибок,
число замечаний пользователей, и
то, сколько часов Линус спал в этом
месяце.
Естественно, не все
ошибки выявляются и не все проблемы
решаются между выпусками версий. Но
когда создается впечатление, что
существенные и часто проявляющиеся
ошибки устранены и система ведет
себя достаточно "стабильно",
выпускается новая версия. Это не
попытка выпустить безошибочную
версию, а желание выпустить версию
UNIX, с которой можно работать. Linux
прежде всего ориентирован на
разработчиков.
Все, у кого есть новые
программы, которые они хотели бы
добавить в систему, обычно делают
их доступными для других на
"альфа" стадии, т.е. на стадии
тестирования теми отважными или
еще не уставшими пользователями,
которые хотят сокрушать
возникающие проблемы
первоначального кода. Поскольку
Linux-сообщество в большой степени
кучкуется вокруг Internet,
альфа-программы выкладываются на
один или более Linux FTP-сервера
(смотрите Приложение C) и посылается
письмо в одну из Linux-групп USENET, о том
как можно получить и тестировать
представленный код. Пользователи,
которые скачивают и тестируют эти
альфа-программы, могут по почте
сообщать результаты, указывать
ошибки, задавать вопросы автору.
После решения начальных
проблем с альфа-кодом, код
приобретает статус "бета", при
котором он обычно уже достаточно
стабилен, хотя и небезгрешен (он
работает, но не все еще его ветви
полностью работоспособны). Иначе
код попадает в разряд
"готового", когда он считается
полным и правильным. Относительно
новых кодов ядра необходимо
просить Линуса включить их в
стандартное ядро или добавить как
факультативную опцию ядра.
Следует иметь в виду, что
это лишь соглашения, а не правила.
Некоторые люди так уверены в своих
программах, что не считают нужным
публиковать альфа-версию. Так что
от разработчика зависит в
известной мере и процедура.
Вас может несколько
удивить столь неупорядоченная
система привлечения добровольцев,
программирования и отладки UNIX.
Может ли она дать вообще
положительный результат? Как
оказывается, это один из самых
эффективных и успешных проектов,
когда-либо существовавших.
Полностью все ядро было написано
без привлечения каких либо частей
ранее существовавшего кода.
Большая работа была проделана
добровольцами по переносу свободно
распространяемых программ в Linux.
Были написаны библиотеки, создана
файловая система, драйверы для
многих популярных устройств.
Обычно программная
система Linux распространяется в виде
дистрибутива (distribution),
содержащего средства инсталляции и
раскрутки системы. Большинству
пользователей трудно самим собрать
систему из разрозненных частей. Но
не существует некоего стандартного
дистрибутива - их много, каждый со
своими преимуществами и
недостатками. О различных
дистрибутивах Linux речь пойдет в
Разделе 2.1.
Несмотря на полноту Linux,
вам все равно потребуется немножко
ноу-хау по инсталляции и
использованию UNIX как такового. Ни
один из дистрибутивов Linux не
свободен полностью от ошибок, так
что вам может потребоваться что-то
доделать "вручную" после
инсталляции. Пользование UNIX -
непростая задача, даже для
коммерческих версий UNIX. Если у вас
серьезные намерения относительно
Linux, имейте в виду, что потребуются
значительные усилия и внимание с
вашей стороны, чтобы обеспечить
нормальную его эксплуатацию. Это
справедливо относительно любого
UNIX, и Linux не является исключением.
Из-за большой разношерстности
Linux-сообщества и большого
разнообразия в желаниях
относительно возможностей системы
не все и не для всех может быть
быстро реализовано.
Инсталляция и
использование вашего личного Linux не
требует большой подготовки в UNIX как
таковом. Действительно, многие
новички в UNIX успешно инсталлируют
Linux на своих компьютерах.
Разумеется, желательны знания и
опыт, но некоторых предварительные
требования могут деморализовать.
Если вам повезет, вы сможете
инсталлировать и начать
использовать Linux без каких-либо
предварительных знаний по UNIX. Но
как только вы столкнетесь с более
сложными задачами эксплуатации Linux
- инсталляцией новых программ,
перекомпиляцией ядра и т.п., базовые
знания по UNIX станут необходимыми.
К счастью, эксплуатируя
свой Linux, вы имеете возможность
освоить все существенные
особенности UNIX, необходимые для
выполнения этих задач. Эта книга
содержит достаточно информации для
начала работы - Глава 3 является
учебным материалом по основам UNIX, а
Глава 4 - по работе системного
администратора Linux. Вы можете
захотеть прочитать эти главы до
попытки инсталляции Linux.
Информация, содержащаяся там, может
быть очень полезной, если вы
столкнетесь с проблемами.
Никто не сможет
превратиться из новичка в ОС UNIX за
одну ночь в системного
администратора UNIX. Вы должны быть
готовы к длительному путешествию,
которое вам предстоит.
Даже люди, имеющие
длительный опыт работы с UNIX, могут
нуждаться в дополнительных знаниях
для инсталляции и использования
Linux. Существуют аспекты системы, с
которыми даже экспертам в UNIX
нелишне познакомиться перед
началом работы, хотя бы потому, что
Linux - это не коммерческий UNIX. Он
следовал, скорее всего, другим
стандартам и принципам, чем те, к
которым вы привыкли ранее. И хотя
стабильность системы - важный
фактор развития Linux, это не
единственный фактор.
Возможно, более важной
является функциональность. Во
многих случаях новый код
добавляется в ядро, даже если
содержит ошибки и функционально не
полон. Существует предположение,
что важнее выпустить код, который
пользователи могут тестировать и
использовать, чем делать его
недоступным. Например, WINE (Microsoft Windows
Emulator for Linux) имел "официальную"
альфа версию до того, как был
полностью оттестирован.
Linux-сообщество имеет большой шанс
поработать с кодом, протестировать
его и помочь в его
совершенствовании, пока те, кто
считают альфа-версию достаточно
хорошей для своих нужд, могут ее
использовать. Поставщики
коммерческих UNIX редко
распространяют их таким образом.
Если вы уже более
десятилетия системный
администратор UNIX и работали с
коммерческими версиями UNIX, Linux
может потребовать времени на
привыкание. Эта система
современная и динамичная. Новые
версии ядра появляются примерно
раз в несколько недель. Постоянно
появляются новые программы. Еще
сегодня ваша система может быть
совершенно современной, а уже
завтра - каменным веком.
Учитывая такую
динамику, как удержаться на плаву в
мире Linux? Для большинства лучше
всего делать частичные
усовершенствования, то есть менять
только те части, которые, на ваш
взгляд действительно нуждаются
в обновлении. Например, если вы не
используете Emacs, нет смысла
регулярно менять его версии на
вашем компьютере. Более того, даже
если вы приверженец Emacs, не нужно
менять версию, если только в новой
версии не появились те возможности,
которые вам действительно
необходимы. Совсем не обязательно
всегда иметь самую последнюю
версию всего.
Мы надеемся, что Linux
оправдает или даже превзойдет ваши
ожидания, связанные с
"доморощенной" UNIX-системой. В
самой основе Linux дух свободного
программирования, постоянного
развития и совершенствования.
Linux-сообщество предпочитает
экспансию стабильности, и эту
концепцию трудно проглотить
многим, особенно тем, кто стоит
высоко в мире коммерческого UNIX.
Нельзя считать Linux совершенством,
как и ничто в мире свободно
распространяемых программ. Но мы
верим, что Linux полон и
работоспособен, как и любая другая
реализация UNIX.
Важно понимать различия
между Linux и другими операционными
системами, такими как MS-DOS, OS/2, а
также другими реализациями UNIX для
персональных компьютеров. Прежде
всего, должно быть ясно, что Linux
может счастливо сосуществовать с
другими операционными системами на
той же машине. Как мы увидим,
существуют даже способы
взаимодействия операционных
систем.
Почему стоит
использовать Linux вместо хорошо
известных, хорошо оттестированных,
хорошо документированных
коммерческих операционных систем?
Мы можем привести тысячи причин.
Одна из наиболее важных - то что Linux -
отличный выбор для персональных
вычислений в среде UNIX. Если вы
разработчик программ в UNIX, зачем
дома использовать MS-DOS? Linux позволит
вам создавать и тестировать
программы для UNIX на вашем
персональном компьютере, включая
базы данных и приложения для X Window.
Если вы студент, то высока
вероятность, что университетская
компьютерная система работает под
UNIX. Linux позволяет вам иметь свой
собственный UNIX и перекраивать его
по своему вкусу. Инсталляция и
использование Linux - также
прекрасный путь изучения UNIX, если у
вас нет доступа к другим UNIX-машинам.
Но не будем зарываться.
Linux не для отдельных скромных
любителей UNIX на персоналках. Это
большая и достаточно сложная
система для решения сложных задач и
организации распределенных
вычислений. Многие фирмы, особенно
небольшие, двигаются в сторону Linux,
предпочитая его другим UNIX.
Университеты считают Linux отлично
подходящим для обучения
операционным системам. Крупные
поставщики программ начинают
понимать, какие выгоды сулит
свободное распространение
операционных систем.
Следующий раздел
покажет наиболее важные различия
между Linux и другими операционными
системами. Мы надеемся, что Linux
может удовлетворить все ваши
вычислительные потребности или (в
крайнем случае) значительно
расширит возможности вашей
вычислительной среды. Имейте в
виду, что лучший способ узнать вкус
Linux - это на нем поработать. Вам не
обязательно даже инсталлировать
полную систему, чтобы
почувствовать его. Это мы покажем в
Главе 2.
Не является чем-то
экзотическим одновременно держать
на компьютере Linux и MS-DOS. Многие
пользователи Linux работают с
прикладными пакетами MS-DOS, вроде
различных редакторов.
Хотя Linux имеет
собственные аналоги для таких
приложений (например, TeX),
существуют разнообразные причины,
по которым конкретный человек
будет использовать MS-DOS наряду с Linux.
Если вся ваша диссертация написана
с использованием WordPerfect в MS-DOS,
возможно вы не сможете
конвертировать его в TeX или какой-то
другой формат. Существует много
коммерческих приложений для MS-DOS,
которых нет в Linux, поэтому, если есть
смысл, почему не использовать обе
операционные системы.
Как вы, очевидно, знаете,
MS-DOS не использует полностью
функциональные возможности 80386 и
80486 процессоров. С другой стороны,
Linux полностью работает в защищенном
режиме процессора и реализует все
возможности процессора. Вы можете
иметь прямой доступ ко всей
имеющейся в распоряжении памяти (и
сверх того - используя виртуальную
RAM). Linux обеспечивает полный
UNIX-интерфейс, отсутствующий в MS-DOS.
На Linux вы можете просто писать и
отлаживать прикладные программы
для UNIX, в то время, как это несложно
делать под MS-DOS.
Мы можем обсуждать
плюсы и минусы MS-DOS и Linux бесконечно.
Между тем, давайте заметим, что Linux и
MS-DOS абсолютно разные системы. MS-DOS -
это дешевая ОС (в сравнении с
другими операционными системами), и
имеет широкую поддержку в мире
персональных компьютеров. Ни одна
другая ОС для персональных
компьютеров не может сравниться с
ней по популярности, прежде всего
из-за стоимости. Мало кто из
владельцев персональных
компьютеров может даже
представить, что однажды он
потратит $1000 или более только на
одну операционную систему. Linux же,
кстати, вообще бесплатен, так что у
вас есть повод подумать.
Вы можете сами
составить свое впечатление от
сравнения Linux и MS-DOS, основываясь на
том, насколько они отвечают вашим
ожиданиям. Linux - это не для всякого.
Если вам всегда хотелось иметь
полномасштабный UNIX дома, не
совершая больших затрат, Linux может
быть как раз то, что вам надо.
Существует
инструментарий, позволяющий
взаимодействовать Linux и MS-DOS.
Например, просто получить доступ к
файлам MS-DOS из Linux. Есть также
эмулятор MS-DOS, позволяющий
выполнять многие популярные
прикладные пакеты MS-DOS. Эмулятор
Microsoft Windows находится на этапе
создания.
Ряд других продвинутых
операционных систем всходит на
горизонте мира персональных
компьютеров. В частности, OS/2 фирмы
IBM и Windows NT фирмы Microsoft становятся
все более популярны по мере ухода
пользователей из MS-DOS.
Обе OS/2 и Windows NT являются
полными многозадачными
операционными системами, как и Linux.
Чисто технически, OS/2, Windows NT и Linux
очень похожи: они имеют похожие
интерфейсы с пользователем,
систему защиты и т.п. Но главное
действительное отличие состоит в
том, что Linux есть разновидность UNIX, а
отсюда все преимущества
принадлежности к UNIX-сообществу.
Что делает UNIX столь
важным? Это не только самая
популярная операционная система
для многопользовательских машин,
это также база для большей части
свободно распространяемых в мире
программ. Если у вас есть доступ к
Internet, почти все программы, свободно
доступные там, написаны именно для
UNIX. (Сам Internet в большой степени
стоит на UNIX).
Существует много
различных фирм, производящих UNIX и
ни одной, ответственной за его
распространение. Существует
большая тяга к стандартизации в
UNIX-сообществе, которая выражается в
концепции открытых систем. Но ни
одна фирма не контролирует этот
процесс. Поэтому любой
производитель (или как показала
практика - хакер) может следовать
стандартам UNIX (коль скоро на них нет
авторских прав).
OS/2 и Windows NT принадлежат
частным компаниям. Поэтому
интерфейс и проектные решения
контролируются конкретными
фирмами и только эти фирмы могут
совершенствовать свои продукты. (Не
надейтесь увидеть когда-нибудь в
обозримом будущем бесплатную
версию OS/2). В некотором смысле такая
организация дела имеет
преимущества: она обеспечивает
жесткую стандартизацию
программного и пользовательского
интерфейсов. OS/2 есть OS/2, где бы вы ее
не обнаружили, то же самое с Windows NT.
А интерфейс UNIX
постоянно совершенствуется и
меняется. Несколько организаций
пытаются выработать стандарт
программной модели, но эта задача
очень сложная. Linux наилучшим
образом соответствует стандарту
POSIX.1 для программного интерфейса
UNIX. Предполагалось, что Linux примкнет
еще к ряду движений по
стандартизации, но это не стало
пока в число главных задач
Linux-сообщества.
Существует ряд других
реализаций UNIX для 80386 и 80486.
Архитектура 80386 сама подталкивает к
проектированию UNIX, поэтому многие
разработчики воспользовались этим
преимуществом. Другие реализации
UNIX, учитывавшие особенности
архитектуры процессора весьма
похожи на Linux. Вы можете убедиться,
что почти все коммерческие версии
UNIX поддерживают практически
одинаковую программную среду и
сетевые характеристики. Однако
имеются и значительные отличия
между Linux и коммерческими UNIX.
Прежде всего Linux
поддерживает иной спектр
аппаратных средств. Linux
поддерживает большинство хорошо
известных устройств, но поддержка
ограничена той аппаратурой, к
которой пользователи
действительно имеют доступ.
Разработчики коммерческих UNIX
обычно имеют больший список
устройств, хотя Linux и отстает
незначительно. Про особенности
аппаратуры поговорим в Разделе 1.8.
Во-вторых, коммерческие
реализации UNIX обычно идут в связке
с полным набором документации, а
также с обязательствами
разработчика по сопровождению.
Документация на Linux ограничивается
той, которую можно найти в Internet, да
еще книжки вроде этой. В Разделе 1.9
мы перечислим документацию и
другие источники информации.
Коль скоро речь идет о
стабильности и надежности, многие
пользователи отмечают, что Linux по
крайней мере не менее надежен, чем
коммерческие UNIX. Linux все еще
находится в стадии развития, и
некоторые вещи (вроде TCP/IP)
недостаточно стабильны, но
постоянно совершенствуются.
Наиболее важным
фактором для многих является цена.
Linux распространяется свободно, если
вы имеете доступ в Internet (или другую
компьютерную сеть) и можете его
скачать. Если у вас нет выхода в
такую сеть, то вы можете купить его
на дискетах или CD-ROM (смотрите
Приложение B). Разумеется, вы можете
скопировать Linux у друга или
разделить с кем-то стоимость его
покупки. Если вы планируете
инсталлировать Linux на большом
количестве машин, вам достаточно
купить всего одну копию. На
тиражирование нет лицензионных
ограничений.
Не следует преуменьшать
реальную стоимость коммерческих
UNIX, поскольку наряду со стоимостью
собственно программ, сюда входят
также стоимость документации,
сопровождение, гарантия качества.
Это очень важные составляющие для
больших организаций, но, может быть,
не столь существенные для
индивидуальных пользователей. В
любом случае, во многих фирмах и в
университетах считают, что
использование Linux в лабораториях на
недорогих персональных
компьютерах предпочтительнее
коммерческого UNIX в лаборатории,
укомплектованной рабочими
станциями.
Как пример из
"реального мира", можно
сказать о том, что Linux путешествовал
по северу Тихого океана, выполняя
работу по телекоммуникации и
анализу данных на
океанографическом
исследовательском судне. Linux
используется на исследовательской
станции в Антарктике. Несколько
госпиталей используют Linux для
ведения историй болезни. Он
доказал, что он надежен и удобен,
как и другие реализации UNIX.
Существуют и другие
бесплатные или недорогие
реализации UNIX для 386 и 486. Одна из
наиболее известных реализаций 386BSD.
386BSD совместима с Linux во многих
аспектах, но какая из них
"лучше" зависит от ваших
личных желаний и ожиданий. Мы можем
указать одно существенное отличие:
Linux создавался открыто (когда
каждый доброволец мог внести свой
вклад в процесс создания), а 386BSD
создан замкнутой группой
программистов, которые и
поддерживают систему. Поэтому
существует заметное различие в
философии и разработке между этими
двумя проектами. Цели двух проектов
существенно различны: цель Linux -
создать полную UNIX-систему от начала
(и получить большое удовольствие от
этого процесса); а цель 386BSD частично
состоит в модификации
существующего кода BSD,
применительно к 386.
NetBSD - это другая версия
BSD NET/2 для нескольких машин, включая
386. NetBSD имеет слегка более открытую
концепцию разработки и сравнима с
386BSD по многим аспектам.
Другой проект HURD -
попытка Free Software Foundation создать и
распространять свободную версию UNIX
для многих платформ. За
дополнительной информацией об этом
проекте обращайтесь в Free Software Foundation
(адрес дан в Приложении А). В момент
написания книги проект HURD все еще
на начальной стадии.
Существуют также другие
недорогие версии UNIX, например Coherent
(приблизительно $99) и Minix
(академический, но полезный UNIX, на
котором первоначально базировался
Linux). Некоторые из этих реализаций
представляют преимущественно
академический интерес, в то время,
как другие - нормальные
полномасштабные системы. Нет
смысла говорить о том, как много
индивидуальных пользователей UNIX
двигаются в сторону Linux.
Вы должны быть убеждены,
что Linux прекрасен и что вы пополните
его грандиозными вещами. Но это
потом, а до того, как броситесь его
инсталлировать, вы должны
сориентироваться в требованиях к
аппаратуре, которые диктует Linux.
Имейте в виду, что Linux был
создан самими пользователями. Это
означает, что большая часть
поддерживаемого Linux оборудования -
это то, что пользователи реально у
себя имеют. Как в результате
оказалось - большая часть
популярной периферии для 80386/80486
поддерживается (действительно, Linux
поддерживает оборудование, которое
в ряде случаев не поддерживают
некоторые коммерческие UNIX). Хотя
некоторые достаточно экзотические
устройства пока не поддерживаются.
Если какое-то из облюбованных вами
устройств пока не поддерживается в
Linux, есть смысл надеяться, что оно
скоро будет поддерживаться.
Многие компании
лицензируют интерфейс устройств,
поэтому добровольные разработчики
Linux просто не могут написать эти
драйверы. Иначе это будет
нарушением авторских прав
соответствующей компании.
Мало что можно изменить в
этой ситуации. Иногда хакеры пишут
драйверы, основываясь на своих
представлениях о конкретном
интерфейсе. В других случаях
разработчики с разной степенью
успеха пытаются работать с
соответствующими компаниями,
пытаясь получить информацию об
интерфейсе.
В следующем разделе мы
попытаемся дать резюме технических
требований Linux. Linux Hardware HOWTO
(смотрите Раздел 1.9) содержит более
полный перечень оборудования,
поддерживаемого Linux.
Большая часть драйверов
Linux в настоящее время находится в
стадии разработки. Различные
дистрибутивы могут содержать
разные наборы драйверов. Здесь
прежде всего перечисляются те
драйверы, которые уже
поддерживаются определенное время
и зарекомендовали себя как
достаточно стабильные.
(Дополнительную информацию по
дистрибутивам смотрите в Разделе
2.1).
В настоящее время Linux
поддерживает системы на Intel 80386, 80486
или Pentium CPU. Это включает все
вариации этих процессоров, такие
как 386SX, 486SX, 486DX и 486DX2. С Linux могут
работать также
"неинтеловские" клоны
процессоров, вроде AMD и Cyrix.
Если у вас 80386 или 80486SX,
вы можете также иметь сопроцессор,
хотя это и не обязательно, (ядро Linux
может эмулировать FPU).
Поддерживаются все стандартные
сочетания FPU, такие сопроцессоры
как IIT, Cyrix FasMath и Intel.
Материнская плата
должна использовать шину ISA или EISA.
Это определяет, как система
взаимодействует с периферией и
другими компонентами главной шины.
Большинство продаваемых сегодня
систем имеют ISA или EISA. Шина MicroChannel
(MCA) фирмы IBM, используемая на
машинах типа IBM PS/2, пока не
поддерживается.
Поддерживаются системы
с локальными шинами, ускоряющими
доступ к видео и дискам.
Предполагается, что у вас
стандартная локальная шина, вроде
VESA Local Bus (VLB).
Linux требует совсем
немного памяти в сравнении с
другими развитыми операционными
системами. Вы должны иметь как
минимум 2Мбайт RAM; хотя настоятельно
рекомендуется иметь не менее 4
Мбайт. Чем больше памяти - тем
быстрее работает система.
Linux может поддерживать
все 32-битовое адресное
пространство процессоров 386/486;
другими словами, он автоматически
использует всю память.
Linux может успешно
работать на 4 Мбайтах RAM, включая
всяческие свистульки и погремушки,
вроде X Window, Emacs и т.п. Хотя, иметь
побольше памяти не менее важно, чем
иметь помощнее процессор. 8 Мбайт
более подходит для индивидуального
использования; 16 Мбайт или более -
если вы предполагаете более
серьезную загрузку системы.
Большинство
пользователей Linux выделяют часть
жесткого диска для области
своппинга, которая используется
как виртуальная RAM. Если даже вы
имеете много реальной физической
памяти, RAM, вы можете пожелать иметь
область своппинга. Хотя область
своппинга не заменяет
действительной физической памяти,
она может позволить выполнять на
вашей системе более объемные
приложения, удаляя неактивную
часть программы на диск. Размер
области своппинга, которую вы
должны выделить, зависит от
нескольких факторов; мы вернемся к
этому в Разделе 2.2.3.
Вам не обязательно
иметь драйвер жесткого диска для
работы в Linux. Вы можете работать с
минимальной системой с гибкого
диска. Но это медленно и имеет много
ограничений, да и большинство
пользователей имеет доступ к
памяти на жестких дисках. У вас
должен быть 16-ти битный контроллер
в стандарте AT. В ядре есть поддержка
8-ми битного XT-стандарта; хотя
разумеется, большинство
контроллеров использует сегодня
AT-стандарт. Linux может поддерживать
все MFM, RLL и IDE контроллеры.
Поддерживается большинство (но не
все) ESDI контроллеры - только те,
которые обеспечивают эмуляцию ST506.
Общее правило для не-SCSI
драйверов жестких дисков состоит в
том, что если вы можете иметь доступ
к этим устройствам из MS-DOS или
другой ОС, значит вы можете
работать с ними и в Linux.
Linux может также
поддерживать многие популярные SCSI
контроллеры, хотя поддержка SCSI
ограничена из-за большого
разнообразия существующих
стандартов таких интерфейсов.
Поддержка SCSI контроллеров включает
Adaptec AHA1542B, AHA1542C, AHA1742A (BIOS version 1.34),
AHA1522, AHA1740, AHA1740 (SCSI-2 controller, BIOS 1.34 in
Enhanced mode); Future Domain 1680, TMC-850, TMC-950; Seagate
ST-02; UltraStor SCSI; Western Digital WD7000FASST. Также
должны работать клоны,
базирующиеся на этих картах.
Разумеется, для
инсталляции Linux вам необходимо
иметь некоторое свободное
пространство на жестком диске. Linux
поддерживает различные драйверы
жестких дисков на одной машине; вы
можете выделить место для
нескольких устройств, если это
необходимо.
Размер
необходимого пространства зависит
в большой степени от ваших
потребностей и программ, которые вы
инсталлируете. Linux сравнительно
компактный UNIX; вы можете для всей
системы занять 10 - 20 Мбайт. Между
тем, если вы хотите иметь место для
расширения и для больших пакетов,
вроде X Window, вам потребуется больше
места. Если вы планируете
множественный доступ, вам
потребуется иметь место и для
файлов других пользователей.
Кроме того, даже если вы
имеете большое количество
физической RAM (16 Мбайт или более),
скорее всего вы захотите иметь
область своппинга, используемую
виртуальной памятью. Детали мы
обсудим в Разделе 2.2.3.
Каждый дистрибутив Linux
обычно сопровождается какой-то
литературой, которая может помочь
вам определиться с об'емом
необходимой памяти в зависимости
от того, какое программное
обеспечение вы планируете
поставить. Минимальную систему вы
можете эксплуатировать менее, чем
на 20 Мбайтах. Полная система со
всеми свистульками и погремушками
потребует до 80 Мбайт. Очень большие
системы для многих пользователей,
где зарезервировано место для
последующих расширений, потребует
100 - 150 Мбайт. Но это лишь грубые
прикидки, которые вы уточните
исходя из своих потребностей.
Linux поддерживает все
стандарты Hercules, CGA, EGA, VGA, IBM monochrome, and
Super VGA видео карт и текстовые
мониторы. В общем случае, если
видеокарта и монитор работают под
другими ОС вроде MS-DOS, они будут
работать и под Linux. Оригинальные
карты IBM CGA дают в Linux "снег", так
что их неприятно использовать.
Графическое окружение
вроде X Window имеет свои требования к
видеооборудованию. Вместо
перечисления этих требований мы
перенесем обсуждение в Раздел 5.1.1. А
кратко, для работы с X Window System на
вашем Linux, вам требуется одна из
видеокарт, перечисленных в этом
разделе.
У большинства
пользователей есть
"специфическое" оборудование,
вроде стриммера, памяти на CD-ROM,
саунд карты и т.д., поэтому они
интересуются, поддерживается ли
оно в Linux. Читайте дальше.
Большей частью мышь вы
будете использовать в графическом
окружении, таком как X Window System. Но
некоторые приложения Linux, не
ассоциируемые с графической
средой, также используют мышь.
Linux поддерживает все
стандарты последовательно
подключенной мыши, включая Logitech,
серию MM, Mouseman, Microsoft (2-кнопки) и Mouse
Systems (3-кнопки). Linux также
поддерживает мышь, подключенную на
шину: Microsoft, Logitech и ATIXL.
Поддерживается также интерфейс
мыши PS/2.
Все прочие
подключаемые таким же образом
устройства, которые эмулируют
вышеперечисленных мышей, тоже
должны работать.
Почти все драйверы CD-ROM
используют интерфейс SCSI. Если у вас
есть SCSI-адаптер, поддерживаемый Linux,
то ваш CD-ROM должен работать.
Проверена работоспособность ряда
драйверов для СD-ROM под Linux, включая
NEC CDR-74, Sony CDU-541 и Texel DM-3024. Linux
поддерживает также драйверы Sony
internal CDU-31a и Mistsumi CD-ROM.
Linux поддерживает также
стандарт ISO-9660 файловой системы для
CD-ROM.
Сейчас на рынке
имеется ряд стриммеров.
Большинство из них используют
SCSI-интерфейс и практически все
поддерживаются Linux. Среди
проверенных устройств Sankyo CP150SE;
Tandberg 3600; Wangtek 5525ES, 5150ES и 5099EN с
адаптером PC36. Другие QIC-02 устройства
также должны поддерживаться.
Идет постоянная
разработка драйверов для различных
новых устройств, таких как Colorado,
который вешается на контроллер
гибкого диска.
Linux поддерживает весь
спектр параллельных принтеров.
Если вы можете подключить ваш
принтер на параллельный порт в MS-DOS
или в другой операционной системе,
то он может работать и в Linux.
Программная поддержка
принтера в Linux состоит из
стандартных для UNIX программ lp и lpr.
Эти программы позволяют также
организовать удаленную печать
через сеть.
Как и с поддержкой
принтеров, Linux поддерживает полный
спектр последовательных модемов,
как внешних, так и внутренних. В Linux
много программ телекоммуникации,
включая Kermit, pcomm, minicom и Seyon. Если ваш
модем может работать с другой
операционной системой, вы сможете с
ним работать и в Linux без каких-либо
проблем.
Многие популярные
карты Ethernet и LAN-адаптеры
поддерживаются в Linux. Они включают:
Есть сведения о работе
следующих клонов:
Должны также работать
и любые другие клоны, совместимые с
перечисленными выше.
Как вы, возможно,
догадались, существует много
источников информации по Linux помимо
этой книги. В частности, есть ряд
книг, не конкретно по Linux, а скорее
по UNIX вообще, которые могут очень
помочь, особенно тем, кто не имеет
предварительного опыта в UNIX. Если
вы не знакомы с миром UNIX, мы
настоятельно советуем вам уделить
время одной из таких книг, прежде
чем храбро ринуться в джунгли Linux. В
качестве хорошего начала может
быть использована книга Grace Todino и John
Learning the UNIX Operating System.
Многие из нижеупомянутых
источников доступны он-лайн в
электронном виде. То есть для того,
чтобы ими воспользоваться, вы
должны иметь доступ к Internet, USENET или
Fidonet. Если у вас нет он-лайн доступа
к этим материалам, то следует найти
добряка, который сделает вам
твердую копию.
Если у вас есть доступ к
Internet, вы можете найти много
документации по Linux через anonymous FTP из
архивов, расположенных по всему
миру. Если же вы не имеете прямого
доступа к Internet, эту документацию
все-таки можно достать: много
дистрибутивов Linux, содержащих
документы, упомянутые здесь,
продается на CD-ROM. Они также
распространяются по многим другим
сетям, вроде Fidonet и CompuServe. Если вы в
состоянии послать почту в Internet,
значит вы можете достать и эти
файлы, используя один из
ftpmail-серверов, которые пошлют вам
документы или файлы электронной
почтой из FTP-архивов. Смотри в
Приложении C дополнительную
информацию по использованию ftpmail
.
Существует большое
число FTP-архивов, содержащих тексты
программ Linux и соответствующую
документацию. Список известных
архивов Linux дан в Приложении C. Для
того, чтобы минимизировать сетевой
трафик, всегда следует
использовать FTP-сервер, находящийся
в географической близости.
Приложение A содержит
список документации на Linux,
доступной через anonymous FTP. Имена
файлов будут различаться на разных
серверах. Большинство серверов
хранит документацию на Linux в
подкаталоге docs Linux-овского
архивного подпространства.
Например, на FTP сервере sunsite.unc.edu
файлы Linux помещены в каталог /pub/Linux
, а документация по Linux - в /pub/Linux/docs.
Примеры доступной
документации - это Linux FAQ (Frequently
Asked Questions), собрания часто
задаваемых вопросов (в данном
случае) по Linux; документация Linux
HOWTO, описывающая специфические
аспекты системы, включая Installation
HOWTO, Printing HOWTO, Ethernet HOWTO и
Linux META-FAQ - перечень других
источников информации по Linux в Internet.
Большинство этих
документов регулярно посылается в
несколько относящихся к Linux групп
USENET; смотрите Раздел 1.9.4.
Начальная страница (Home
Page) Документации на Linux доступна на
WWW по адресу
http://sunsite.unc.edu/mdw/linux.html
Эта страница содержит
много HOWTO и других документов в
формате HTML, а также ссылки на другие
сервера, интересные для
пользователей Linux.
В настоящее время
существует всего несколько
публикаций специально посвященных
Linux. Большей частью это книги из Linux
Documentation Project (LDP) - проекта,
реализуемого в Internet по написанию и
распространению "руководств"
по Linux. Эти руководства аналогичны
документации, поставляемой с
коммерческими версиями UNIX: они
покрывают все - от инсталляции Linux
до его использования,
программирования, работы в сети,
разработки ядра и т.д.
Руководства LDP доступны
через FTP-серверы Internet, а также по
обычной электронной почте из
нескольких источников (см.
Приложение А).
И хотя собственно по Linux
книг немного, тем не менее есть
большое число книг по UNIX вообще,
которые, без сомнения, могут
использоваться применительно к Linux,
поскольку Linux не имеет значительных
отличий от других реализаций UNIX.
Короче, все, что вы хотите узнать о
программировании на Linux, может быть
найдено в этих книгах,
предназначенных для широкой
аудитории пользователей UNIX. А здесь
мы представляем наиболее важные
специфические детали Linux и
надеемся, что вы также будете
обращаться за деталями и к другим
источникам.
Вооружившись некоторым
количеством хороших книжек по UNIX, а
также данной книгой, вы будете
способны разобраться во всем.
Приложение А включает список
настоятельно рекомендуемых книг по
UNIX, как для новичков в UNIX , так и для
асов.
Есть также ежемесячный
журнал по Linux, под названием Linux
Journal. Он распространяется по
всему миру и представляет хорошую
возможность быть в курсе
происходящего в Linux- сообществе,
особенно, если вы не имеете доступа
к новостям USENET (см. ниже).
Относительно подписки на Linux Journal
см. Приложение А.
USENET - это мировые
электронные новости и одновременно
клубы по интересам - так называемые
``newsgroups''( у нас принято говорить -
"телеконференции"). Многое по
развитию Linux делается через Internet и
USENET, так что не удивляет
существование ряда
телеконференций USENET, посвященных
Linux.
Первоначально была
создана телеконференция alt.os.linux
,
чтобы вынести дискуссии по Linux из
comp.os.minix. Но скоро трафик alt.os.linux
вырос настолько, что в феврале 1992
года было проведено голосование о
включении конференции в иерархию
"comp" и создана телеконференция
comp.os.linux
.
comp.os.linux
быстро
стала одной из наиболее популярных
(и шумных) телеконференций USENET,
более популярной, чем другие группы
иерархии comp.os
. В декабре 1992, в
результате голосования группа была
разбита, чтобы уменьшить об'емы
трафика, но только comp.os.linux.announce
прошла тогда по голосованию. В июле
1993 , наконец-то группа была разбита
на иерархию групп. За это
проголосовало около 2000 человек -
одно из самых больших голосований в
истории USENET.
Если у вас нет прямого
доступа к USENET, но имеется
возможность посылать и получать
письма по e-mail, то в Internet существуют
шлюзы, через которые можно получать
телеконференции:
- comp.os.linux.announce
- это моделируемая
(контролируемая)
телеконференция, содержащая
объявления и важные сообщения
относительно Linux (например,
сообщения об ошибках,
существенные исправления и
т.п.). Если вы вообще
собираетесь читать
телеконференции Linux - эту
читайте обязательно. Часто
важные сообщения этой
конференции не дублируются в
другие. Также в этой же
телеконференции бывают важные
оперативные сообщения.
Любое сообщение в этой
группе должно быть одобрено
модераторами Matt Welsh и Lars Wirzenius.
Если вы хотите выставить свое
сообщение в этой группе, вы
обычным порядком посылаете его
в телеконференцию. Оно
автоматически будет
направлено для одобрения
модератору. Но если ваша
система новостей не настроена,
можно направить статью
электронной почтой по адресу linux-announce@tc.cornell.edu
.
Все остальные телеконференции
этой иерархии linux,
перечисленные ниже -
немодерируемые.
- comp.os.linux.help
- Это наиболее
популярная телеконференция
Linux. Она предназначена для
вопросов и ответов по
использованию, установке и
другим вопросам эксплуатации
Linux. Если у вас проблемы с Linux -
пишите в эту группу и с большой
вероятностью получите ответ от
кого-нибудь, способного вам
помочь. Но очень желательно
ознакомиться со всеми
доступными вам материалами,
прежде, чем задавать вопрос.
- comp.os.linux.admin
- Здесь обсуждаются
вопросы эксплуатации Linux
(обычно в
многопользовательском режиме)
Обсуждается работа
администратора системы Linux
(например, сохранение системы,
работа с пользователями и т.п.).
- comp.os.linux.development
- Эта телеконференция
для обсуждения проблем
развития Linux. Вопросы,
касающиеся ядра, системных
библиотек и системных
программ. Например, если вы
пишете драйвер и нуждаетесь в
помощи по некоторым деталям
программирования - как раз в
эту телеконференцию следует
посылать такие вопросы. Эта
конференция предназначена
также для обсуждения целей и
направления развития Linux, как
это описывалось в Разделе 1.6.
Следует заметить, что
эта телеконференция для
обсуждения проблем разработки собственно
Linux. Прикладное
программирование в Linux
обсуждается в других
телеконференциях.
- comp.os.linux.misc
- Эта телеконференция
для обсуждения проблем, не
подходящих для других групп.
Особенно для "защитников"
Linux (для статей типа "Linux
против Windows NT"). Всякие
нетехнические
окололинуксовские споры могут
происходить здесь.
Следует заметить, что
телеконференция comp.os.linux была
заменена иерархией
телеконференций. Если у вас есть
доступ к comp.os.linux
и нет
доступа к другим телеконференциям
этой иерархии, вдохновите
администратора их завести.
Если у вас есть доступ к
электронной почте Internet, вы можете
включиться в списки рассылки, даже
если вы не имеете доступа к USENET.
Даже если вы не можете работать
непосредственно в Internet, но можете
обмениваться с ней почтой
(например, UUCP, FidoNET, CompuServe и другие
сети имеют почтовую связь с Internet),
вы можете подключиться к какому-то
списку рассылки. Список рассылки
``Linux Activists'' предназначен для
разработчиков Linux и людей,
заинтересованных в содействии
процессу разработки. Это
"многоканальная" рассылка;
можно подключиться к разным ее
ветвям: NORMAL - общие вопросы Linux; KERNEL -
разработка ядра; GCC - разработка
gcc-компилятора и библиотек; NET -
протоколы TCP/IP; DOC - документация по
Linux; и другие.
За дополнительной
информацией о списках рассылки,
связанных с Linux, пишите:
linux-activists@niksula.hut.fi
Вы сможете получить
действующий перечень тем рассылки,
включая информацию о том, как
включиться в список рассылки и как
отписаться.
Существует несколько
списков рассылки для Linux. Лучше
всего для ориентации посмотреть
объявления в телеконференциях Linux
USENET, а также просмотреть списки тем
рассылки, периодически публикуемые
в USENET group news.answers
.
Без сомнения, вам
понадобится какая-то помощь во
время ваших приключений в мире Linux.
Даже самые крутые из крутых
юниксистов временами спотыкаются о
какие-то закорючки Linux, поэтому
важно знать, где и как искать
помощи, когда потребуется.
Первоочередной источник
помощи - списки рассылки и
телеконференции USENET обсуждались в
Разделе 1.9. Если у вас нет к ним
онлайнового доступа, вы можете
поискать доступ к такой информации
на локальных BBS, в CompuServe и т.д.
Ряд фирм предлагают
коммерческую поддержку Linux. Вы
можете платить за "подписку",
что позволит вам созваниваться с
консультантами по поводу
возникающих проблем с Linux. Но при
наличии доступа к USENET и почте Internet
вы можете найти и бесплатное
сопровождение.
Но сначала ищите
ответы во всей доступной вам
документации! Прежде всего в
источниках, перечисленных в
Разделе 1.9 и Приложении A. Эти
документы тщательно написаны для
людей вроде вас, которые нуждаются
в помощи при работе с Linux. Даже
книги, написанные про UNIX вообще,
применимы к Linux и вы должны
извлекать из них пользу для себя, и
как правило, найдете ответы на
интересующие вас вопросы.
Приучайтесь к
самостоятельности. В
большинстве случаев
предпочтительно самостоятельно
исследовать проблему насколько
возможно, прежде чем обращаться за
помощью. Прежде всего обращайтесь
за помощью к самому Linux. Помните, что
Linux некоммерческая ОС и никогда не
пыталась таковой выглядеть. Вы не
умрете, если сами займетесь
хакерством. Это приучит вас
самостоятельно решать проблемы,
может через некоторое время вы сами
почувствуете себя в Linux гуру.
Сохраняйте
спокойствие. Ни в коем случае не
приходите в отчаяние в результате
общения с системой. Вы ничего не
добьетесь от системы с помощью
топора или, того лучше, с помощью
мощного электромагнита. Linux
взрослеет и мужает, становится
надежнее, так что мы надеемся, что
число проблем будет уменьшаться.
Кстати, всяких фокусов можно
ожидать и от коммерческих UNIX-ов.
Воздерживайтесь от
скоропалительных решений.
Многие люди бросаются рассылать
письма по конференциям до того, как
спокойно подумают. Часто решение
находят через пять минут после
того, как закончили взывать о
помощи к мировому сообществу.
Если вы решили послать
просьбу о помощи, постарайтесь это
сделать наилучшим образом.
Постарайтесь оформить просьбу
максимально вежливо и предельно
информативно. Не забывайте, что
помощь в сети оказывается
добровольно.
Содержание
| Следующая глава