WWW.BOOK.LIB-I.RU
БЕСПЛАТНАЯ  ИНТЕРНЕТ  БИБЛИОТЕКА - Электронные ресурсы
 

Pages:   || 2 | 3 | 4 | 5 |   ...   | 12 |

«ис Руководство по настройке серверов 5 лен пр ео и настольных систем для любого дистрибутива ав из и д да опо ни лн е ено ЗАПУСКАЕМ LINUX Маттиас Калле Далхаймер и Мэтт Уэлш ...»

-- [ Страница 1 ] --

ис

Руководство по настройке серверов

5 лен

пр

ео

и настольных систем для любого дистрибутива

ав

из и д

да опо

ни лн

е ено

ЗАПУСКАЕМ

LINUX

Маттиас Калле Далхаймер и Мэтт Уэлш

По договору между издательством «Символ Плюс» и Интернет мага

зином «Books.Ru – Книги России» единственный легальный способ

получения данного файла с книгой ISBN 5 93286 100 2, название

«Запускаем Linux, 5 е издание» – покупка в Интернет магазине

«Books.Ru – Книги России». Если Вы получили данный файл каким либо другим образом, Вы нарушили международное законодатель ство и законодательство Российской Федерации об охране авторского права. Вам необходимо удалить данный файл, а также сообщить из дательству «Символ Плюс» (piracy@symbol.ru), где именно Вы полу чили данный файл.

RUNNING Fifth Edition Matthias Kalle Dalheimer and Matt Welsh ЗАПУСКАЕМ Пятое издание Маттиас Калле Далхаймер и Мэтт Уэлш Санкт Петербург –Москва Маттиас Калле Далхаймер и Мэтт Уэлш Запускаем Linux, 5 е издание Перевод А. Киселева Главный редактор А. Галунов Зав. редакцией Н. Макарова Научный редактор О. Цилюрик Редактор Е. Бочкарева Корректор С. Минин Верстка Д. Орлова Далхаймер К., Уэлш M.

Запускаем Linux, 5 е издание. – Пер. с англ. – СПб.: Символ Плюс, 2008. – 992 с., ил.

ISBN 10: 5 93286 100 2 ISBN 13: 978 5 93286 100 4 Классический труд, вышедший уже 5 м изданием, значительно расширен с це лью отразить зрелость операционной системы и изобилие существующего ПО.

Такие горячие темы, как воспроизведение звука и видео, ПО для рабочих групп и фильтрация спама, соседствуют рядом с основами настройки и администри рования, которые всегда делали книгу популярной. Издание охватывает не только основные способы обмена информацией (электронная почта, навигация в Сети и обмен мгновенными сообщениями), но и описывает тонкости настрой ки сети, включая соединение по коммутируемым линиям, ADSL и кабельные модемы. Перечень новых тем включает шифрование электронной почты и шифрующие файловые системы, передовые методы работы с командными обо лочками и приложения удаленной регистрации. Классические темы, касающи еся загрузки, управления пакетами, пересборки ядра и настройки X Window, также обновлены. Предвидя возможные трудности, авторы предлагают надеж ные решения и дают четкие и ясные инструкции, которые обеспечат вам успеш ную работу в Linux. Материал излагается просто и ясно, но представлен доста точно полно, чтобы служить руководством для начинающих и в то же время обеспечить новой информацией опытных пользователей, стремящихся поболь ше узнать о Linux.

ISBN 10: 5 93286 100 2 ISBN 13: 978 5 93286 100 4 ISBN 0 596 00760 4 (англ) © Издательство Символ Плюс, 2008 Authorized translation of the English edition © 2006 O’Reilly Media, Inc. This trans lation is published and sold by permission of O’Reilly Media, Inc., the owner of all rights to publish and sell the same.

Все права на данное издание защищены Законодательством РФ, включая право на полное или час тичное воспроизведение в любой форме. Все товарные знаки или зарегистрированные товарные зна ки, упоминаемые в настоящем издании, являются собственностью соответствующих фирм.

–  –  –

Эта книга рассказывает об операционной системе Linux, бесплатной и распростра няемой с открытыми исходными текстами (open source), благодаря которой про исходят изменения в мире компьютеров.





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

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

Цитата из Дзэн, приведенная в начале, подытоживает философию, которой мы придерживаемся в этой книге, рассчитанной на пытливого и творческого чита теля, готового с головой окунуться в мир Linux и желающего разобраться в са мых основах этой системы. Linux – это восстание против коммерческих опера ционных систем, и многие ее пользователи принадлежат к тому типу людей, ко торые любят находиться на переднем крае технологических новшеств. Разуме ется, любой читатель может без особых хлопот установить и запустить систему Linux, но цель этой книги – помочь глубже вникнуть в систему и позволить пол ностью овладеть характерным для Linux стилем мышления. Вместо того чтобы вдаваться в подробности запутанных моментов, мы постараемся объяснить принципы работы системы, чтобы читатель мог самостоятельно решать возни кающие проблемы. Предоставляя в общее распоряжение опыт, накопленный не сколькими специалистами по Linux, мы надеемся вселить в вас достаточную уверенность, чтобы вы могли назвать себя настоящим гуру Linux. (Вот ваш пер вый коан: какой смысл заниматься хакерством в одиночку?) У вас в руках пятое издание «Запускаем Linux» – классической, по общему мне нию, книги по установке, сопровождению и изучению системы Linux. Первое издание (на англ. языке) вышло еще в 1996 году и ведет свое происхождение от свободно распространявшейся книги «Linux Installation and Getting Started»

12 Предисловие Мэтта Уэлша (Matt Welsh), которую все еще можно найти в Интернете. С тех пор книга подверглась ряду улучшений и изменений с целью привести ее в соответ ствие с последними разработками в мире Linux.

Калле Далхаймер (Kalle Dalheimer), разработчик и консультант, обладающий огромным опытом в области разработки системного и прикладного программно го обеспечения для Linux, был одним из лидеров при работе над последними тре мя изданиями. Длительное время существенную помощь оказывали: Лар Кауф ман (Lar Kaufman) (подготовка материалов к печати), Том Аделстейн (Tom Adel stein) (он взялся обновить вступительную главу и добавил материалы о VMWare, rdesktop, VNC и FreeNX), Аарон Вебер (Aaron Weber) (GNOME, Evolution, Red Carpet и ZENWorks), Сэм Хайзер (Sam Hiser) (OpenOffice), Джей Тс (Jay Ts) (SAMBA), Джон Терпстра (John H. Terpstra) (обновление пакета SAMBA и NFS), Джефф Трантер (Jeff Tranter) (мультимедиа, источники информации о Linux), Кайл Ранкин (Kyle Rankin) (игры), Брекин Логгинс (Breckin Loggins) (GnuCash), Род Смит (Rod Smith) (сведения о системе печати, включая CUPS), Кайл Дент (Kyle Dent) (Postfix), Терри Доусон (Terry Dawson) (сведения о безопасности), Брайан Винсент (Brian Vincent) (Wine и CodeWeaver), Крис Лоуренс (Chris Law rence) (система пакетов Debian), Ватафу Валерик (Vatafu Valerica) (глава о LAMP), Марк Муц (Marc Mutz) (сведения о шифровании с открытым ключом и о шифрующих файловых системах), Стефен Хансен (Stefen Hansen) (информация о GIMP, OpenGL, Postfix и ProFTPd), Тилл Адам (Till Adam) (материал о сущест вующих решениях для рабочих групп), Джеспер Педерсен (Jesper Pedersen) (ин формация о kimdaba и Procmail, ряд дополнений в разделе, рассказывающем о языке программирования Python), Михаэль Бойер де ла Жироде (Michael Boyer de la Giroday) (PHP), Айван Ристик (Ivan Ristic) (обновления в разделах, расска зывающих о веб сервере Apache и LAMP) и Джеффри Дуниц (Jeffrey Dunitz) (до полнения к главе, рассказывающей о резервном копировании).

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

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

В предисловии к первому изданию говорилось о том, что у Linux есть все возмож ности полностью изменить мир операционных систем для PC. Теперь мы можем с полной уверенностью сказать, что это предсказание оправдалось! Linux с порази тельным напором вторглась в центральное русло развития вычислительной тех ники: о ней рассказывают все крупные средства массовой информации, она дала толчок так называемой революции open source (разработке программного обеспе чения с открытым исходным кодом) и многими рассматривается как наиболее Предисловие сильный конкурент, способный противостоять засилью Microsoft на рынке опера ционных систем. Большинство оценок сходится на том, что количество пользова телей Linux в мире превысило 300 миллионов. В своем развитии Linux достигла той степени зрелости, когда большинству пользователей стало не обязательно раз бираться в сложностях драйверов устройств, файлах настроек XFree86 и началь ных загрузчиках, чтобы начать использовать эту операционную систему. Факти чески установка современных дистрибутивов Linux стала таким же простым де лом, что и установка коммерческих систем, подобных Microsoft Windows. Тем не менее мы считаем целесообразным дать читателю некоторое представление о внут реннем устройстве системы, чтобы он мог понять механизм ее работы, даже не смотря на то, что для обычной работы с Linux в этом нет строгой необходимости.

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

Первая часть книги, «Удобство и производительность Linux», продемонстриру ет возможности операционной системы с точки зрения рядового пользователя.

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

Глава 1 «Введение в Linux»

Рассказывается сразу о многом. Здесь объясняется история появления Linux и что она может предложить, чтобы привлечь к себе внимание новых пользо вателей.

Глава 2 «Подготовка к установке и установка»

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

Глава 3 «Окружение рабочего стола»

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

Глава 4 «Основы командной строки UNIX»

Представляет собой введение в UNIX для системного администратора и пред назначена тем, кто в этом введении нуждается. Данная глава содержит ин формацию, необходимую для решения основных задач, которые будут возни кать на протяжении всей книги. В этой главе рассказывается об основных ко мандах и некоторых понятиях, которые необходимо знать, а также даются полезные советы администраторам.

Глава 5 «Веб броузеры и обмен мгновенными сообщениями»

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

14 Предисловие Глава 6 «Клиенты электронной почты»

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

Глава 7 «Игры»

Описывается внушительное количество игр, как автономных, так и сетевых, поддерживаемых операционной системой Linux.

Глава 8 «Офисные пакеты и приложения личного пользования»

Рассказывается о том, что работа в офисе под управлением Linux может быть такой же простой, как и при использовании коммерческих аналогов. В основ ном обсуждение коснется офисных пакетов OpenOffice и KOffice и приложе ния для решения финансовых задач GnuCash. Кроме того, здесь есть вводная информация об инструментальных средствах для рабочих групп.

Глава 9 «Мультимедиа»

Обсуждаются вопросы прослушивания аудио и просмотра видеофайлов. Рас смотрены основные понятия, которые будут полезны при настройке системы, где отсутствуют инструментальные средства автоматической настройки, а так же рассказывается о некоторых наиболее известных приложениях. Здесь же приводятся основы работы с графическим редактором GIMP.

Вторая часть книги, «Системное администрирование», описывает порядок на стройки операционной системы Linux и программного окружения для выполне ния таких задач, как печать и использование файлов совместно с другими систе мами в сети. Здесь также описываются некоторые из способов обслуживания операционной системы.

Глава 10 «Основы системного администрирования»

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

Глава 11 «Управление пользователями, группами и привилегиями»

Охватывает такие фундаментальные темы, как управление пользователями и правами доступа (привилегиями), которые служат строительными блоками системы безопасности Linux.

Глава 12 «Установка, обновление и сборка программ»

Описываются принципы обновления системы, что является немаловажным фактором, влияющим как на приобретение новых функциональных возмож ностей, так и на ликвидацию проблем, связанных с системой безопасности.

Глава 13 «Подключение к сети»

Представляет собой введение в настройку сетевого окружения, которое обыч но выполняется в процессе установки, но которое следует знать на более глу боком уровне. В главе рассказывается, как настроить систему для работы в локальной сети и как подключить компьютер к Интернету с помощью про Предисловие токола PPP (Point to Point Protocol – протокол «точка точка»). Кроме того, здесь же обсуждаются вопросы настройки ISDN и ADSL.

Глава 14 «Система печати»

Демонстрируется, как научить операционную систему Linux распознавать принтеры и как управлять печатью документов.

Глава 15 «Совместное использование файлов»

Рассматривает вопросы совместного использования файлов в сети, фокусиру ясь в основном на использовании пакета программного обеспечения Samba, который позволяет использовать файлы и принтеры совместно с операцион ными системами Windows.

Глава 16 «X Window System»

Описывается порядок настройки X Window System, которая лежит в основе окружения рабочего стола, рассмотренного в главе 3. Здесь рассказывается, как преодолеть проблемы, с которыми можно столкнуться в процессе уста новки, и как добиться максимальной производительности от видеокарты.

Глава 17 «Запуск и остановка системы»

Описывает порядок запуска и остановки системы. Среди всего прочего в гла ве описывается порядок установки и обслуживания загрузчика GRUB, кото рый предоставляет возможность выбора загрузки одной из нескольких опера ционных систем.

Глава 18 «Настройка и сборка ядра»

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

Третья часть книги, «Программирование», начинается с описания такой инте ресной темы, как программирование, которая еще больше повышает привлека тельность Linux.

Глава 19 «Текстовые редакторы»

Представляет собой детальное описание замечательных текстовых редакто ров vi и Emacs. Здесь же описываются некоторые дополнительные возможно сти по обработке и форматированию текстовых документов, что может слу жить достойной альтернативой использованию текстовых процессоров.

Глава 20 «Обработка текстовых документов»

В этой главе описываются инструментальные средства, позволяющие полу чать прекрасно оформленные документы из исходных текстов, созданных с ис пользованием языков разметки, таких как XML, TeX, troff и Texinfo.

Глава 21 «Инструментальные средства программиста»

Представляет собой обширное введение в тему программирования для опера ционной системы Linux. Здесь дается краткое описание множества языков программирования, а также инструментальных средств, знание которых вам наверняка пригодится, даже если вы далеки от программирования.

Четвертая часть книги, «Сетевые службы», описывает ряд сетевых служб и не которые более подробные сведения, связанные с работой в сетях.

16 Предисловие Глава 22 «Запуск веб сервера»

Описывает процесс установки и настройки веб сервера Apache – одного из са мых популярных веб серверов в мире.

Глава 23 «Транспортировка и обработка сообщений электронной почты»

Описывает простой в использовании почтовый сервер Postfix и некоторые другие инструментальные средства, как, например, SpamAssassin.

Глава 24 «Запуск сервера FTP»

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

Глава 25 «Запуск веб приложений с использованием MySQL и PHP»

Описывает символы M и P широко известной аббревиатуры LAMP. Рассказы вает о настройке и подготовке MySQL и PHP для совместной работы с серве ром Apache.

Глава 26 «Система безопасности»

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

Глава 27 «Резервное копирование и восстановление»

Основные приемы по обеспечению сохранности критически важных данных.

Глава 28 «Работа в гетерогенных сетях и запуск программ Windows»

Описывает способы, с помощью которых можно извлечь максимум пользы от применения двух таких разных операционных систем.

Приложение A «Источники информации по Linux»

Рассказывается о наиболее интересных ресурсах Интернета, где можно найти документацию с описанием Linux.

Способы оформления, используемые в книге

Ниже приводится список обозначений, принятых в этой книге:

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

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

Моноширинный полужирный шрифт Используется в примерах для выделения команд или другого текста, которые пользователь должен ввести.

Предисловие Моноширинный курсив Используется для обозначения переменных параметров, ключевых слов или текста, которые пользователь должен заменить фактическим значением.

–  –  –

Использование примеров программного кода Данная книга предназначена оказать вам помощь в решении ваших повседнев ных задач. Вы можете беспрепятственно использовать программный код, приво димый в книге, в своих программах или в документации. Вам не нужно обра щаться в издательство за получением разрешения на его использование при ус ловии, что вы не собираетесь воспроизводить существенные по объему участки программного кода. Например, если при написании своей собственной програм мы вы использовали некоторые небольшие участки, взятые из примеров, приво димых в книге, вам не нужно обращаться за разрешением. Однако, если вы соби раетесь перепродавать или распространять компакт диск с примерами из книг, выпущенных издательством O’Reilly, тогда вам необходимо получить соответст вующие разрешения. Если при ответе на чьи либо вопросы вы собираетесь про цитировать некоторые выдержки из этой книги или продемонстрировать отры вок из примера, вам не нужно обращаться за разрешением. Однако, если вы предполагаете включить в свою документацию существенные объемы программ ного кода примеров из этой книги, вам следует обратиться за разрешением.

Мы признательны за указание авторства, но не требуем этого. Обычно указание источника включает название, автора, издателя и ISBN. Например: «Running Linux, Fifth Edition by Matthias Kalle Dalheimer and Matt Welsh. Copyright 2006 O’Reilly Media, Inc., 0 596 00760 4».

Если у вас возникнут сомнения по поводу законности использования программ ного кода примеров из книги, обратитесь за разъяснениями по адресу permis sions@oreilly.com.

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

Пожалуйста, сообщайте нам об обнаруженных ошиб ках, а также присылайте ваши предложения относительно будущих изданий по адресу:

O’Reilly & Associates, Inc.

1005 Gravenstein Highway North Sebastopol, CA 95472 18 Предисловие 800 998 9938 (в США или Канаде) 707 829 0515 (международный или местный) 707 829 0104 (факс) Можно писать по электронной почте. Для включения в список рассылки по элек тронной почте или заказа каталога пишите по адресу:

info@oreilly.com С техническими вопросами и комментариями по поводу книги можно обратить ся по адресу:

bookquestions@oreilly.com У этой книги есть веб сайт, на котором представлены примеры, найденные ошибки и планы по выходу новых изданий.

Эта страница находится по адресу:

http://www.oreilly.com/catalog/runlinux5 Дополнительные сведения об этой и других книгах можно найти на веб сайте

O’Reilly & Associates:

http://www.oreilly.com/ Safari® Enabled Если на обложке технической книги есть пиктограмма «Safari® En abled», это означает, что книга доступна в Сети через O’Reilly Net work Safari Bookshelf.

Safari предлагает намного лучшее решение, чем электронные книги. Это вирту альная библиотека, позволяющая без труда находить тысячи лучших техниче ских книг, вырезать и вставлять примеры кода, загружать главы и находить бы стрые ответы, когда требуется наиболее верная и свежая информация. Она сво бодно доступна по адресу http://safari.oreilly.com.

Благодарности Эта книга – результат работы многих людей и, по видимому, всех их перечислить здесь невозможно. Прежде всего, мы хотим поблагодарить Энди Орама (Andy Oram), который проделал отличную работу по редактированию и щелканью кну том, благодаря чему книга приобрела достойный вид. Помимо общего руководства Энди написал главу с руководством по UNIX, а также разделы, описывающие X, Perl и Gaim. Именно Энди первым предложил написать книгу для O’Reilly, и проявил долготерпение святого в ожидании наших исправлений и дополнений.

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

Мы хотим также поблагодарить следующих людей за работу над операционной системой Linux (без них не о чем было бы писать): Линуса Торвальдса (Linus Tor valds), Ричарда Столлмена (Richard Stallman), Дональда Беккера (Donald Beck Предисловие er), Алана Кокса (Alan Cox), Реми Карда (Remy Card), Эрика Реймонда (Eric Ray mond), Теда Тсо (Ted T’so), Х. Дж. Лю (H. J. Lu), Мигеля де Иказу (Miguel de Ica za), Росса Биро (Ross Biro), Дрю Экхардта (Drew Eckhardt), Эда Карпа (Ed Carp), Эрика Янгдейла (Eric Youngdale), Фреда ван Кемпена (Fred van Kempen), Стиве на Твиди (Steven Tweedie), Патрика Волькердинга (Patrick Volkerding), Дирка Хондела (Dirk Hohndel), Матиаса Эттрича (Matthias Ettrich) и всех других хаке ров – от борцов с ядром до скромных составителей документации, число кото рых слишком велико, чтобы всех их здесь перечислить.

Особая благодарность за вклад в проект документирования Linux, техническое рецензирование книги или просто дружескую поддержку Филу Хьюзу (Phil Hughes), Мелинде МакБрайд (Melinda McBride), Биллу Хану (Bill Hahn), Дэну Ирвингу (Dan Irving), Майклу Джонстону (Michael Johnston), Джоэлу Гольдбер геру (Joel Goldberger), Майклу К. Джонсону (Michael K. Johnson), Адаму Рихте ру (Adam Richter), Роману Яновски (Roman Yanovsky), Джону Мэджиду (Jon Magid), Эрику Троэну (Erik Troan), Ларсу Вирцениусу (Lars Wirzenius), Олафу Кирху (Olaf Kirch), Грегу Хенкинсу (Greg Hankins), Алану Сондхейму (Alan Sondheim), Джону Дэвиду (Jon David), Анне Кларк (Anna Clark), Адаму Гудмену (Adam Goodman), Ли Гомесу (Lee Gomes), Робу Уокеру (Rob Walker), Робу Мальде (Rob Malda), Джеффу Бэйтсу (Jeff Bates) и Волькеру Лендеке (Volker Lendecke).

За работу над третьим изданием мы благодарны Филу Хьюзу (Phil Hughes), Ро берту Дж. Часселу (Robert J. Chassell), Тони Капеллини (Tony Cappellini), Крей гу Смоллу (Craig Small), Нату Макаревичу (Nat Makarevitch), Крису Дэвису (Chris Davis), Чаку Торопеку (Chuck Toporek), Фредерику Хонгфенгу (Frederic HongFeng) и Дэвиду Пранате (David Pranata) за многочисленные комментарии и исправления. Особое впечатление на нас произвела помощь целой команды раз работчиков и пользователей Debian, которую нам предоставили Оссама Отмэн (Ossama Othman) и Джулиан Т. Дж. Мидгли (Julian T. J. Midgley). Джулиан орга низовал хранение комментариев в системе контроля версий (CVS). Вместе с ним книгу изучали Крис Лоуренс (Chris Lawrence), Роберт Дж. Чассел (Robert J.

Chassell), Керк Хиллиард (Kirk Hilliard) и Стефен Зандер (Stephen Zander).

За рецензирование четвертого издания мы благодарны Дэвиду Колье Брауну (Da vid Collier@Brown), Оливеру Флимму (Oliver Flimm), Филу Хьюзу (Phil Hughes), Крису Лоуренсу (Chris Lawrence), Ричу Пейну (Rich Payne), Крейгу Смоллу (Craig Small), Джеффу Трантеру (Jeff Tranter) и Аарону Веберу (Aaron Weber).

За работу над пятым изданием мы выражаем свою признательность Бену Хайду (Ben Hyde), Чериди Джолли (Cheridy Jollie), Крису Лоуренсу (Chris Lawrence), Эллен Сивер (Ellen Siever) и Джеффу Трантеру (Jeff Tranter).

Калле выражает свою признательность Валерику Ватафу из румынского города Бузау (Buzau), за бесценную помощь при работе над главой, посвященной..

LAMP. Он также хотел бы поблагодарить своих коллег из компании Klaralvda lens Datakonsult AB – Михаэля Бойера де ла Жироде (Michael Boyer de la Giro day), Таню Далхаймер (Tanja Dalheimer), Стефена Хансена (Stefen Hansen), Джеспера Педерсена (Jesper Pedersen), Лутца Роговски (Lutz Rogowski), Карла Хайнца Циммера (Kark Heinz Zimmer), Тобиаса Ларссона (Tobias Larsson), Ро майна Покрживку (Romain Pokrzywka), Дэвида Форэ (David Faure), Марка Муца (Marc Mutz) и Тилла Адама (Till Adam) – за конструктивные комментарии к ру кописи и общее «стимулирование Linux мышления».

Удобство и производительность Linux Эта часть книги служит введением в Linux. Она даст тот минимум знаний, кото рый необходим обычному пользователю для повседневной деятельности: пере писка по электронной почте, веб навигация, игры, просмотр видеофильмов и то му подобное.

Главу 2 стоит прочитать, даже если вы планируете устанавливать Linux из про стого в обращении дистрибутива. Здесь рассматриваются такие основополагаю щие понятия, как выделение дискового пространства для различных частей сис темы, и говорится о том, что каждая установка операционной системы требует некоторого предварительного планирования.

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

Введение в Linux Добро пожаловать в «Запускаем Linux» пятой версии! Когда мы работали над первым изданием этой книги, операционная система Linux только только по явилась на сцене. Наша задача казалась нам достаточно простой: помочь читате лю в освоении основ новой операционной системы, чтобы он научился решать фиксированный, небольшой по объему круг задач. Немногие тогда могли пред положить, что со временем Linux станет одной из лучших операционных сис тем, обеспечивающей поддержку огромного числа программных и аппаратных продуктов, производимых на планете. Кто знал, что число пользователей Linux вырастет от 30 000 человек в 1995 году до сотен миллионов всего лишь за 10 лет?

Операционная система Linux нашла применение в самых разных областях, даже в космосе и под водой.

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

Та же самая операционная система Linux управляет группами сонаров в ядерных подводных лодках, индексирует документы в Интернете, объединяет огромные банки данных на предприятиях, управляет работой почти 70% всех веб сайтов в мире, записывает телевизионные программы, работает в сотовых телефонах и управляет сетевыми шлюзами, что дает нам возможность общаться с друзьями и близкими, которые могут находиться в любой точке земного шара. Linux рабо тает даже на международной космической станции и на шаттлах, которые дос тавляют туда астронавтов. Она защищает вас от спама и компьютерных вирусов на огромном числе маршрутизаторов и серверов.

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

Как всего этого добиться с помощью Linux? Дистрибутивы Linux заключают в се бе огромное количество самых разнообразных технологических достижений, особенно это относится к поддержке новейшего аппаратного обеспечения. Разра ботчики обладают возможностью доступа ко всему программному коду, который образует единую операционную систему. Многие наблюдатели рассматривают Linux как крупнейший проект по разработке программного обеспечения в исто рии человечества. Однако на самом деле разработчикам даже не нужно знать о существовании друг друга. Если кто то захочет написать свою программу, все, что ему нужно сделать, – это загрузить программный код Linux из Интернета или посетить один из сайтов с документацией. Если подсчитать всех разработчи ков, сделавших вклад в развитие Linux, их число превысит сотни тысяч.

Разработчики Linux и свободного программного обеспечения принадлежат к са мым разным профессиональным слоям. Крупные производители компьютерной техники, такие как IBM, HP, Novell, Red Hat, Sun, Dell и другие, содержат спе циальные подразделения, занимающиеся развитием Linux. Университеты всего земного шара спонсируют проекты и фонды, которые делают свой вклад в Linux.

Министерство обороны США, NASA и Агентство национальной безопасности выделяют солидные суммы на развитие многочисленных подсистем Linux. Мно гие развивающиеся страны, такие как Китай, Бразилия, Малайзия, Южная Аф рика и Вьетнам (упомянем лишь некоторые из них), приняли Linux в качестве основной операционной системы. Индустриально развитые страны, например Германия, Австралия, Япония, Великобритания и другие, также явно обозначи ли свои предпочтения. Но среди этих гигантов живут множество людей, таких как вы или мы, которые также сделали свой маленький вклад в развитие Linux.

В 90 х годах прошлого столетия операционная система Linux вызвала гораздо больший резонанс, нежели любые другие разработки, начиная со времен изобре тения микропроцессора. Linux омолодила умирающий сектор компьютерных технологий после кризиса интернет компаний весной 2001 года. Ныне Linux пре взошла самые смелые ожидания даже наиболее информированных наблюдате лей, включая и авторов этой книги.

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

В узкотехническом понимании Linux представляет собой лишь ядро операцион ной системы, обеспечивающее базовые службы планирования процессов, вирту альной памяти, управления файлами и обслуживание периферийных устройств, 24 Глава 1. Введение в Linux таких как жесткие диски, приводы DVD, принтеры, терминалы и т. п. Другие операционные системы, способные обеспечивать работу служб Интернета, также принадлежащие семейству UNIX, стали доступны для купли продажи на ком мерческой основе только после разрыва AT&T и Bell Operating Systems.

Чтобы обойти возможные юридические проблемы, связанные с использованием программного кода AT&T UNIX, Фондом свободного программного обеспечения (Free Software Foundation, FSF) было разработано множество приложений, кото рые реализовали большую часть функций базовой системы UNIX, используя при этом полностью оригинальный программный код FSF и вытеснив программ ный код, созданный в стенах Bell Labs. Эта коллекция программного обеспече ния получила название GNU. Однако для создания полноценной операционной системы необходимо было ядро. Несмотря на то, что работа Фонда в этом направ лении застопорилась, совершенно неожиданно операционная система появилась на свет благодаря усилиям студента Хельсинкского университета – Линуса Тор вальдса (Linus Torvalds).

Все, кто использует термин «Linux», подразумевают под ним операционную сис тему, включающую в себя и ядро, и большое число прикладных программ: пол ноценную среду разработки и рабочее окружение – компиляторы, редакторы, графические интерфейсы, текстовые процессоры, игры и многое другое. Сторон ники FSF предложили назвать эту обширную коллекцию программного обеспе чения «GNU/Linux».

Об этой книге Издание представляет собой обзор и руководство по операционной системе Linux.

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

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

Об этой книге

В этой книге будут рассмотрены следующие темы:

• Архитектура и философия операционной системы Linux и те преимущества, которые она может вам дать.

• Сведения о том, что необходимо сделать, чтобы запустить Linux на разных ап паратных платформах, а также порядок настройки системы в зависимости от ее предназначения (например, Linux может использоваться в качестве на стольной системы, сервера сети, сервера баз данных или сервера приложений).

• Где приобрести и как установить Linux. В основном мы будем рассказывать о таких дистрибутивах, как Red Hat, SUSE и Debian, но представленных све дений должно быть достаточно для установки дистрибутивов любого другого производителя.

• Введение в основы философии операционных систем UNIX/Linux для нович ков, включая обзор наиболее важных команд и понятий.

• Работа с мощными пакетами офисных приложений, в том числе предназна ченными для создания графических изображений и ведения бухгалтерского учета.

• Поддержка и обслуживание операционной системы Linux, включая систем ное администрирование, обновление и устранение неполадок.

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

• Использование Linux для телекоммуникаций и сетевых взаимодействий, включая основы настройки TCP/IP, PPP для модемных соединений с Интер нетом, настройку ISDN и ADSL, организацию электронной почты, доступ к те леконференциям и к Web. Мы даже покажем, как настроить систему Linux для работы в качестве веб сервера.

• Linux для досуга: аудио, видео и игры.

Нам бы хотелось рассказать вам о тысячах вещей, которые можно делать с Li nux, но, к сожалению, для этого понадобилась бы книга размером с полный Окс фордский словарь английского языка, с которой не справился бы никто (вклю чая несчастных авторов). Вместо этого мы постарались рассказать о наиболее яр ких и интересных сторонах системы и сообщить, как можно получить от нее максимум отдачи.

Хотя значительная часть изложенного в книге материала не является сугубо тех нической, читателю желательно иметь некоторый опыт работы с командной стро кой и редактирования простых текстовых файлов. Для тех, кто не обладает таким опытом, мы включили в главу 4 краткое учебное руководство. Во второй части книги описываются приемы администрирования системы, что безусловно приго дится даже опытным пользователям при использовании Linux в качестве сервера.

Если вы новичок в Linux и вам необходимы более подробные сведения о системе, то можно порекомендовать обратиться к какому либо руководству по основам работы в командной строке. Мы не будем долго задерживаться на основах, пред почитая скорее перейти к более интересным компонентам системы. Большинст ву читателей будет достаточно этой книги, чтобы приступить к работе с Linux, но многим из вас может потребоваться дополнительная информации по специа 26 Глава 1. Введение в Linux лизированным темам. Список источников дополнительной информации вы най дете в приложении A.

Кто использует Linux?

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

Программисты все чаще используют Linux из соображений стоимости – можно создать полноценную программную среду совершенно бесплатно и пользоваться ею на недорогом персональном компьютере, к тому же Linux представляет собой прекрасную платформу для разработки программного обеспечения, обладающе го высокой степенью переносимости. В дополнение к оригинальным инструмен тальным средствам, разработанным под эгидой FSF, в Linux имеется возмож ность использовать большое число средств разработки, которые появились за по следние три года, как, например, Eclipse (http://eclipse.org). Среда разработки Eclipse представляет собой феноменальное явление: результат творческих уси лий сообщества open source и тесного сотрудничества между сообществом и круп ной компанией (изначально Eclipse была разработана и выпущена компанией IBM). Именно сообщество open source сосредоточило свои усилия на получении расширяемых средств разработки и программной среды, служащей основой для сборки приложений.

Инструментальные средства и платформы, входящие в состав Eclipse, охватыва ют весь жизненный цикл разработки программного обеспечения, включая под держку моделирования, средства разработки на языках Java™, C/C++ и других, тестирование и оптимизацию, средства описания бизнес логики, приложения расширенных клиентов и средства разработки для встраиваемых систем. Плат форма Eclipse поддерживается, расширяется и дополняется крупными произво дителями, исследовательскими группами, университетами и отдельными разра ботчиками.

Сетевые возможности являются едва ли не самой сильной стороной Linux. Ее с удовольствием восприняли специалисты, которым по долгу службы приходит ся иметь дело с большими сетями. Они по достоинству оценили простоту адми нистрирования, высокую производительность и низкую стоимость. Многие ин тернет сайты используют Linux в качестве платформы для развертывания круп ных веб серверов, приложений электронной торговли, поисковых машин и т. п.

Linux поддерживает широко распространенные сетевые стандарты, такие как NFS (Network File System – сетевая файловая система), NIS (Network Informati on Service – сетевая информационная служба) и другие известные системы, ис пользуемые в деловом мире, например систему совместного использования фай лов CIFS (Common Internet File System – общая межсетевая файловая система) и протокол LDAP (Lightweight Directory Access Protocol – упрощенный прото кол доступа к каталогам). Все это позволяет достаточно просто организовать со вместный доступ к файлам, поддерживать регистрацию на удаленных машинах и запускать приложения на других компьютерах. Пакет программного обеспече ния под названием Samba позволяет операционной системе Linux выступать в ка Кто использует Linux?

честве сервера в среде Active Directory. Многие убедились, что сочетание Linux и Samba оказалось более производительным (и более дешевым), чем использова ние Windows Server 2003. Фактически, учитывая легкость, с которой Linux под держивает такие сетевые службы, как DHCP, доменную систему имен, систему безопасности на основе Kerberos, маршрутизацию, сложно представить себе се тевую задачу уровня предприятия, которая оказалась бы не по силам этой опера ционной системе.

Очень часто Linux используется для поддержки крупных промышленных при ложений, включая веб серверы, базы данных, приложения B2B (business to bu siness) и сайты для электронной торговли. Большое количество предприятий смогли убедиться на собственном опыте в том, что Linux может служить недоро гой, эффективной и устойчивой системой для поддержки самых ответственных приложений.

Вот лишь один пример из множества: компания Cendant Travel Distribution Services перенесла свое приложение Fares на операционную систему Linux En terprise Server, работающую на аппаратной платформе xSeries и BladeCenter, выпускаемой компанией IBM. В результате общие расходы на поддержку снизи лись на 90%, уровень доступности повысился до 99,999% при уровне загружен ности от 300 до 400 транзакций в секунду.

То обстоятельство, что Linux легко перестраивается для решения конкретных задач вплоть до модификации ядра, делает эту систему очень привлекательной для компаний, которым требуется контроль работы внутренних механизмов системы. Linux поддерживает RAID (механизм, позволяющий работать с масси вом жестких дисков как с одним логическим устройством), что позволяет суще ственно повысить надежность хранения данных. Такое повышение степени на дежности совместно с невысокой стоимостью позволяют организовать хранение крупных банков данных целых 30 лет.

Сочетание Linux, веб сервера Apache, системы управления базами данных MySQL и языка сценариев PHP получило такое широкое распространение, что у него по явилась своя собственная аббревиатура – LAMP. Более подробно о LAMP будет говориться в главе 25.

Специалисты по ядру первыми признали Linux, фактически именно они помог ли Линусу Торвальдсу создать Linux и до сих пор образуют весьма сплоченное сообщество. Списки почтовой рассылки по ядру Linux отличаются весьма высо кой активностью, и если вы хотите оставаться в курсе последних достижений в области проектирования операционных систем, желательно было бы подпи саться на них. Linux станет для вас лучшим выбором, если вам нужно отрегули ровать алгоритм замены страниц, поэкспериментировать с сетевыми протокола ми или оптимизировать работу кэша. На примере Linux можно изучать принци пы проектирования операционных систем, и многие университеты используют эту операционную систему в своих специализированных курсах по операцион ным системам.

Наконец, Linux превратилась в отличную мультимедийную платформу, которая поддерживает огромное количество аппаратных средств, включая большинство современных звуковых карт и видеокарт. Некоторые программные средства, та кие как MESA 3D (свободная реализация OpenGL), были перенесены на Linux.

Введение в OpenGL будет представлено в разделе «Введение в программирование 28 Глава 1. Введение в Linux с использованием OpenGL» главы 21. GIMP (свободно распространяемый пакет, сходный по своим функциональным возможностям с Adobe Photoshop) изна чально разрабатывался под Linux, а ныне он стал одним из любимых инструмен тов создания графики для многих художников. Многие кинокомпании постоян но используют Linux для создания сложных спецэффектов. Например, при съемках фильмов «Титаник» и «Матрица» для создания сложных спецэффектов использовались рендер фермы из Linux машин.

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

Операционная система Linux используется на исследовательских станциях в Ан тарктике, а крупные кластеры, построенные на основе Linux, используются во многих исследовательских учреждениях для моделирования сложных физиче ских явлений типа образования звезд или землетрясений и в лабораториях ми нистерства энергетики, ведущих поиск новых источников энергии. На более приземленном уровне Linux используется в больницах для ведения историй бо лезней. В Министерстве юстиции США Linux используется для управления всей инфраструктурой, начиная от управления судебными делами и заканчивая бух галтерским учетом. Многие финансовые учреждения используют Linux для со вершения электронных сделок в режиме реального времени. Система Linux су мела принять на себя роль, которую обычно играла операционная система UNIX, как самая надежная.

Характеристики системы Linux поддерживает большинство функций, присутствующих в других реализа циях UNIX и Windows. С дополнениями, которые несет в себе Power Architecture, распространяемая компанией IBM, Linux в состоянии обеспечить такой уровень поддержки аппаратного обеспечения, который доступен только в очень дорогих ЭВМ. Кроме того, последние версии ядра включают в себя поддержку системы расширенной безопасности (Security Enhanced Linux, SELinux), предоставленной Национальным агентством безопасности США (National Security Agency, http:// www.nsa.gov/selinux). Система SELinux реализует самую безопасную на сего дняшний день вычислительную среду.

Идут работы по добавлению механизма виртуализации в ядро Linux. Механизм XEN (http://sourceforge.net/projects/xen) позволяет запустить в одной системе Linux несколько виртуальных машин, каждая из которых может работать под управлением своей собственной операционной системы. Это позволит предпри ятиям избежать раздувания парка серверов и повысить эффективность исполь зования центрального процессора.

Основные характеристики Этот раздел представляет собой краткий обзор основных функциональных воз можностей операционной системы Linux.

Linux – это многозадачная и многопользовательская операционная система (как и все остальные версии UNIX). Это означает, что одновременно на одной машине могут работать несколько пользователей и выполняться несколько программ.

Кроме того, Linux поддерживает многопроцессорные системы (например, мате Характеристики системы ринские платы с двумя процессорами Pentium), которые могут насчитывать до 32 процессоров1, что очень ценно для высокопроизводительных серверов и науч ных приложений.

Операционная система Linux совместима с рядом стандартов UNIX (насколько вообще можно говорить о стандартизации UNIX) на уровне исходных текстов, включая такие стандарты, как IEEE POSIX.1, System V и BSD. Она создавалась с учетом требований, предъявляемых к уровню переносимости исходного про граммного кода, поэтому вы найдете в Linux функции, присутствующие во мно гих реализациях UNIX. Большинство бесплатных программ для UNIX, распро страняемых через Интернет или иным образом, могут быть скомпилированы в Linux без необходимости внесения дополнительных изменений.

При наличии опыта работы в UNIX вас могут заинтересовать другие внутренние возможности Linux, включая механизм управления заданиями в стандарте POSIX (этот механизм используется в таких командных оболочках, как C shell, csh и bash), псевдотерминалы (устройства pty) и поддержку национальных или специализированных клавиатур с помощью динамически загружаемых драйве ров. Кроме того, Linux поддерживает виртуальные консоли (virtual consoles), которые позволяют в текстовом режиме системной консоли переключаться меж ду разными сеансами регистрации. Тем, кто пользовался программой screen, реализация виртуальной консоли в Linux покажется знакомой (хотя почти все предпочитают графическую среду).

Linux благополучно соседствует на одной машине с другими системами, такими как Windows 95/98, Windows NT/2000/XP, Mac OS и другими UNIX подобны ми операционными системами, как, например, семейство операционных систем BSD. Начальные загрузчики Linux (LILO) и GRand Unified Bootloader (GRUB) позволяют выбирать, какая операционная система должна загружаться после включения компьютера, при этом Linux совместима и с другими загрузчиками (например, с загрузчиком, который используется в Windows XP).

Linux может работать с широким диапазоном аппаратных архитектур, включая Intel x86 (вся линейка микропроцессоров Pentium), Itanium, SPARC/Ultra SPARC, ARM 64 («Hammer»), ARM, PA RISC, Alpha, PowerPC, MIPS, m68k и мейнфреймы IBM 390 и zSeries. Кроме того, Linux была перенесена на ряд ап паратных архитектур для различных устройств типа PDA, в том числе PalmPilot и Compaq iPaq. С другой стороны, Linux рассматривается в качестве ОС для высо копроизводительных систем. Компания Hewlett Packard выпустила суперкомпь ютер с Linux в качестве основной операционной системы. Кроме того, существует большое число других масштабируемых кластеров – суперкомпьютеров, постро енных на базе массивов из персональных компьютеров, работающих под управ лением Linux.2 Для 32 разрядных систем и 64 разрядных архитектур число поддерживаемых процессоров достигает 64. Кроме того, существуют исправления к ядру, которые позволяют увеличить это число до 256.

В этом Linux во многом «обязана» GNU компилятору gcc, который с самого нача

–  –  –

Linux поддерживает самые разнообразные типы файловых систем для хранения данных. Некоторые файловые системы, например вторая расширенная файловая система ext2fs, были специально созданы для Linux. Поддерживаются и другие типы файловых систем UNIX, такие как Minix 1 и Xenix. Реализованы также файловые системы Windows NTFS, VFAT (Windows 95/98) и FAT (MS DOS), что позволяет непосредственно обращаться к файлам Windows. Кроме того, поддер живаются файловые системы Macintosh, OS/2 и Amiga. Также поддерживается файловая система ISO 9660 CD ROM, позволяющая читать компакт диски всех стандартных форматов. Подробнее о файловых системах говорится в главах 2 и 10.

Поддержка сетевых взаимодействий является одной из наиболее сильных сторон Linux как в отношении поддерживаемых функций, так и в отношении произво дительности. Linux обеспечивает полную реализацию стека протоколов TCP/IP.

Она обеспечивает поддержку для многих распространенных сетевых карт Ether net, протоколов PPP и SLIP (обеспечивают доступ к сетям TCP/IP через последова тельный порт и модем), PLIP (Parallel Line Internet Protocol – интернет протокол через параллельный порт) и ADSL. Дополнительно в Linux имеется поддержка современных протоколов IPv6 и множества других, таких как DHCP, Appletalk, IRDA, DECnet и даже AX.25, предназначенного для обмена пакетами в радиосе тях. Поддерживается полный набор клиентов и служб TCP/IP, таких как FTP, Telnet, NNTP и Simple Mail Transfer Protocol (SMTP). Протоколы Sun RPC дают возможность использования NFS (сетевая файловая система) и NIS (сетевая ин формационная служба), а поддержка протоколов Microsoft позволяет организо вать взаимодействия в сетях Microsoft с доменной организацией. Ядро Linux со держит полную поддержку сетевых брандмауэров, которые фильтруют сетевые пакеты, препятствуя, например, несанкционированному доступу к интрасетям.

Широко распространено мнение, что Linux превосходит другие операционные системы в производительности работы сети. Подробнее о сетевых взаимодейст виях мы поговорим в главе 13 и в четвертой части книги.

Ядро Ядро является самой сущностью операционной системы. Это программный код, обеспечивающий взаимодействие пользовательских программ с аппаратурой компьютера, распределение времени между процессами, благодаря которому достигается многозадачность, и многие другие возможности системы. Ядро – это не отдельный процесс, работающий в системе. Его можно представить себе как набор постоянно находящихся в памяти подпрограмм, доступных всем осталь ным процессам. К подпрограммам ядра можно обращаться разными способами.

Самый простой – это обращение к системному вызову, который является по су ти обычной функцией, заставляющей ядро выполнить некоторый программный код в интересах процесса. Например, системный вызов read осуществляет чте ние данных из файла. С точки зрения программиста read выглядит как обычная функция языка программирования С, но в действительности программный код системного вызова read находится внутри ядра.

Тип архитектуры ядра Linux известен как монолитный. Это означает, что все драйверы устройств являются частью ядра. В некоторых операционных систе мах реализована архитектура микроядра, когда драйверы устройств и другие компоненты (файловые системы и программный код, управляющий памятью) Характеристики системы не являются частью ядра, а выступают как независимые службы или обычные пользовательские приложения. Обе архитектуры имеют свои достоинства и не достатки. Монолитная архитектура более распространена в реализациях UNIX и применяется в таких классических системах, как System V и BSD. В Linux все же есть поддержка загружаемых драйверов устройств (т. е. таких, которые мо гут загружаться и выгружаться из памяти по команде пользователя).1 Эта тема рассматривается в главе 18.

Ядро Linux для платформ Intel было создано с учетом использования специаль ных возможностей защищенного режима процессоров Intel х86 (начиная с 80386 и далее вплоть до Pentium 4). В частности, Linux использует парадигму управле ния памятью в защищенном режиме с помощью дескрипторов и другие передо вые возможности этих процессоров. Каждый, кто знаком с программированием в защищенном режиме процессора x86, знает, что этот чип проектировался для многозадачных систем, таких как UNIX (x86 фактически возник под влиянием Multics). Linux использует эти функции.

Как и большинство современных операционных систем, Linux является много процессорной операционной системой: она поддерживает архитектуры с несколь кими процессорами на материнской плате. Это позволяет различным програм мам работать одновременно (или параллельно) на разных процессорах. Linux так же поддерживает потоки – распространенную технологию программирования, позволяющую одной программе создать несколько потоков управления, совмест но использующих данные в памяти. Linux поддерживает несколько программ ных пакетов уровня ядра и уровня пользователя, осуществляющих поддержку многопоточных приложений, а потоки ядра Linux выполняются на нескольких процессорах, используя преимущества настоящей многопроцессорной обработки.

Реализация потоков ядра Linux совместима со стандартом POSIX 1003.1c.2 Ядро Linux поддерживает загрузку страниц исполняемых файлов по запросу.

Это означает, что в память с диска считываются только те сегменты программы, которые фактически используются. Кроме того, при одновременном выполнении нескольких экземпляров программы в памяти находится лишь один ее экземп ляр. Исполняемые модули работают с динамически связываемыми библиотека ми совместного использования. Это означает, что исполняемые модули совмест но используют код библиотеки, находящейся в единственном библиотечном фай ле, расположенном на диске. В результате исполняемые файлы занимают значи тельно меньшее дисковое пространство. Кроме того, одновременно в памяти находится лишь один экземпляр кода библиотеки, что сокращает общий объем используемой памяти. Можно использовать и статически связываемые библио теки, если есть стремление к созданию «законченных» исполняемых модулей, которым не нужно наличие совместно используемых библиотек. Динамическое связывание библиотек на этапе исполнения позволяет программистам заменять библиотечные модули своими собственными.

Эта техника появилась в Linux относительно поздно (ядро 2.2 или чуть ранее) и известна как «подгружаемые модули ядра». – Примеч. науч. ред.

До ядра 2.6 совместимость потоков Linux со стандартами POSIX 1003.

1c была дос

–  –  –

Для более эффективного использования памяти машины в Linux реализована так называемая виртуальная память (virtual memory) со страничной подкачкой с диска. Это означает, что на диске может быть выделено пространство для сво пинга.1 Когда приложению требуется больше физической памяти, чем фактиче ски есть в системе, неактивные страницы сбрасываются на диск. (Страница – это просто единица измерения памяти, выделяемой операционной системой, в большинстве архитектур размер одной страницы составляет 4 Кбайт.) При оче редном обращении к таким страницам они считываются с диска обратно в опера тивную память. Такой механизм позволяет запускать приложения большего размера и поддерживать одновременно большее число пользователей. Однако свопинг не может служить равноценной заменой физической оперативной памя ти: необходимость чтения страниц с диска замедляет работу.

Ядро Linux хранит в памяти фрагменты файлов, к которым недавно осуществ лялся доступ, чтобы избежать лишних обращений к диску (относительно мед ленных). Вся свободная память системы используется для кэширования обра щений к диску, поэтому при невысокой загрузке системы доступ к большому ко личеству файлов может быстро осуществляться через оперативную память. Ко гда пользовательским приложениям требуется больший объем физической памяти, размер дискового кэша уменьшается. Таким образом, физическая па мять всегда используется полностью.

Для облегчения отладки ядро Linux создает дампы памяти программ, попытав шихся выполнить недопустимую операцию, такую как обращение к недействи тельному адресу памяти. Дамп памяти, записываемый в файл с именем core в ра бочем каталоге программы, помогает программисту определить причину воз никновения аварийной ситуации. Об использовании дампов памяти при отладке мы поговорим в разделе «Исследование файла дампа памяти» главы 21.

Команды и командные оболочки Для многих пользователей самой важной утилитой является командная оболоч ка (shell). Командная оболочка – это программа, которая принимает команды пользователя и выполняет их. Кроме того, многие оболочки обладают такими возможностями, как управление заданиями (что позволяет пользователю одно временно управлять несколькими процессами – не обращайте внимания, что это звучит, как у Оруэлла), перенаправление ввода вывода и командный язык, ис пользуемый для написания командных сценариев (shell scripts). Командный сценарий – это файл, содержащий программу на языке командной оболочки, аналогичный командному файлу в операционной системе Windows.

В Linux существует много командных оболочек. Важнейшим различием между ними является командный язык. Например, оболочка С shell (csh) использует язык, напоминающий язык программирования C. В классической оболочке Бор на используется иной командный язык. Выбор оболочки часто зависит от того,

Строго говоря, это не следует называть пространством для свопинга: выгружают

ся не процессы целиком, а отдельные страницы памяти. В отдельных случаях мо гут оказаться выгруженными и целые процессы, но это не обязательно. Термин «swap space» происходит из ранних разработок Linux, и формально следовало бы говорить о «paging space» – страничном файле.

Характеристики системы какой командный язык она предоставляет. Используемая оболочка определяет в известной мере вашу рабочую среду в Linux.

К какой бы командной оболочке UNIX вы ни привыкли, ее версия, скорее всего, перенесена на Linux. Самой популярной оболочкой является GNU Bourne Again Shell (bash) – «еще одна оболочка Борна». В bash включены многие развитые возможности, такие как управление заданиями, история команд, автодополне ние команд и имен файлов, Emacs подобный (или при желании vi подобный) ин терфейс редактирования командной строки и мощные расширения языка стан дартной оболочки Борна. Другой популярной оболочкой является tcsh – разно видность С оболочки с расширенными функциями, аналогичными имеющимся в bash. Среди других командных оболочек можно упомянуть оболочку Корна (ksh), ash от BSD и rc – оболочка Plan 9.

Что важно в этих базовых утилитах? Linux предоставляет уникальную возмож ность перекроить систему соответственно своим потребностям. Например, если вы являетесь единственным пользователем системы и предпочитаете редактор vi и оболочку bash, нет причин устанавливать другие редакторы или оболочки.

Среди фанатиков и пользователей Linux преобладает позиция «сделай сам».

Обработка текстов и текстовые процессоры Почти каждому пользователю компьютера требуется та или иная система подго товки документов. (Действительно, один из авторов книги почти разучился пи сать ручкой на бумаге.) В мире PC обычным явлением стали текстовые процес соры (word processing): текстовые процессоры предполагают возможность редак тирования и обработки текста, зачастую в среде WYSIWYG (What You See Is What You Get – что видишь, то и получаешь), а также изготовление печатных экземпляров текста с рисунками, таблицами и прочими украшениями.

Далее в этой книге вы увидите, что Linux поддерживает весьма привлекатель ный набор инструментальных средств для работы с текстом в среде WYSIWYG.

В главе 8 мы рассмотрим OpenOffice (свободно распространяемая версия ком мерческого пакета StarOffice, выпущенного компанией Sun Microsystems, когда она купила фирму – разработчика пакета) и KOffice, каждый из которых пред ставляет собой интегрированный пакет офисных приложений, позволяющих ра ботать с текстовыми документами, электронными таблицами и решать прочие офисные задачи. В них поддерживаются не все функциональные возможности, присущие Microsoft Office, но они обладают рядом интересных особенностей, от сутствующих в Microsoft Office. При желании вы можете по прежнему пользо ваться приложениями из Microsoft Office, запуская их под управлением Wine, о которой мы поговорим позже.

Существуют и другие способы создания документов. Время от времени прихо дится редактировать файлы настроек системы, набирать тексты программ, для чего вполне достаточно обычных средств обработки текста. Наиболее популяр ными инструментами создания подобных документов являются vi и Emacs, ко торые детально будут описаны в главе 19.

В обработке текста могут использоваться различные инструментальные средст ва форматирования для создания удобочитаемых документов, имеющих привле кательный внешний вид. При таком подходе автор вводит исходный текст доку 34 Глава 1. Введение в Linux мента на «наборном языке», который описывает, как должен быть отформати рован текст. По окончании ввода исходного текста (на языке набора) пользова тель форматирует его с помощью специальной программы, преобразующей исходный текст в формат, пригодный для печати. Этот процесс в известной мере аналогичен программированию на некотором языке, таком как С, и «компиля ции» текста в пригодную для печати форму.

Наиболее известным языком форматирования текста является язык разметки HTML, на котором написаны фактически все страницы в World Wide Web. Еще одним, не менее популярным языком разметки является DocBook XML, своего рода отраслевой стандарт набора тегов для разметки технической документации, используемый и в проекте документирования Linux (обсуждаемом далее в этой главе).

Далее, в главе 20 «Обработка текстовых документов», мы поближе познакомим ся с некоторыми системами форматирования, такими как TEX (разработанная Дональдом Кнутом (Donald Knuth), известным авторитетом в области информа тики) и ее версией LATEX, groff, GNU версией классического инструмента форма тирования troff, который первоначально был разработан в стенах Bell Labs, Tex info (расширение TEX, используемое при создании документации к программно му обеспечению Фондом свободного программного обеспечения) и DocBook.

Коммерческие приложения В дополнение к более чем полутора тысячам приложений для Linux, поддержи ваемых дистрибьюторами, такими как Debian, Linux получила широкую под держку со стороны разработчиков коммерческого программного обеспечения.

В число этих программ входят системы автоматизации делопроизводства, тек стовые процессоры, научные приложения, средства сетевого администрирова ния, системы планирования уровня предприятия, такие как Oracle Financials и SAP, и крупномасштабные базы данных. Linux стала играть важную роль на рынке коммерческого программного обеспечения, и количество популярных коммерческих приложений для Linux может поразить. Нет никакой возможно сти рассказать здесь обо всех них, поэтому мы коснемся самых популярных при ложений и кратко отметим ряд других.

Oracle, IBM, Sybase, Informix и Interbase выпустили коммерческие системы управления базами данных для Linux. Многие базы данных для Linux проде монстрировали более высокую производительность, чем соответствующие вер сии для Windows.

Большой популярностью пользуется такая база данных для Linux, как MySQL – бесплатная и простая в эксплуатации СУБД, которую можно получить по адресу http://www.mysql.com. Поскольку MySQL легко установить, настроить и исполь зовать, она быстро стала предпочтительным выбором для тех приложений, кото рые не нуждаются в сложностях различных коммерческих СУБД. Кроме того, несмотря на свою бесплатность, MySQL поддерживается на профессиональном уровне компанией, которая ее разработала, – MySQL AB. Основы работы с MySQL мы опишем в главе 25.

Все же в MySQL отсутствуют некоторые более развитые функциональные воз можности, присущие коммерческим базам данных. Некоторые пользователи предпочитают базу данных с открытым исходным программным кодом Post Характеристики системы gresSQL1, и Red Hat включает ее в некоторые свои продукты. Но, с другой сторо ны, и MySQL не стоит на месте: предполагается, что следующая версия будет включать поддержку распределенных баз данных.

Помимо баз данных для Linux существует целый ряд корпоративных приложе ний.

Linux – одна из самых популярных платформ для поддержки предоставле ния интернет услуг, поэтому естественно, что для Linux выпущены высокопро изводительные платформы, предназначенные для создания масштабируемых веб сайтов, включая JBoss, BEA WebLogic и IBM WebSphere. Существуют также коммерческие, высокопроизводительные виртуальные машины Java, постав ляемые Sun, IBM и другими компаниями. IBM выпустила популярный сервер обмена сообщениями и веб приложений Lotus Domino, а также платформу ком муникаций WebSphere MQ (прежнее название – MQSeries).

Ученые, инженеры и математики обнаружат, что в Linux можно работать с ря дом популярных коммерческих продуктов, таких как Maple, Mathematica, MATLAB и Simulink. В число других коммерческих приложений для Linux вхо дят мощные системы автоматизированного проектирования, средства управле ния сетями, брандмауэры и среды разработки программного обеспечения.

Языки программирования и утилиты Linux представляет собой полноценную среду разработки для операционной сис темы UNIX, включая все стандартные библиотеки, средства программирования, компиляторы и отладчики, которые существуют в других UNIX системах. Чаще всего в Linux для компиляции программ используется GNU Compiler Collection (набор компиляторов GNU), или gcc. gcc может компилировать программы, на писанные на языках C, С++, Objective C (еще один объектно ориентированный диалект языка C), Chill (язык программирования, используемый в основном для телекоммуникаций), FORTRAN и Java.2 В мире UNIX разработка приложений и системное программирование обычно осуществляются на языке С или С++, и gcc представляет собой один из лучших среди имеющихся компиляторов C/C++, который поддерживает массу развитых функций и оптимизаций.

Java – это одновременно и язык программирования, и среда исполнения, кото рая поддерживает возможность работы самых разнообразных приложений, та ких как апплеты для веб страниц, распределенные сетевые приложения, прило

Если многие СУБД, в том числе MySQL и подавляющее большинство коммерче

ских, относятся к классу «реляционных», постулаты которых сформированы от носительно давно комиссией под руководством Кодда, то PostgreSQL (ее разработ чики используют именно такое написание, а не указанное в тексте) позициониру ется как «постреляционная». Кроме этого, в Linux (и во всех других POSIX ОС) представлена еще одна интересная и активно развиваемая СУБД: BercleyDB (как и следует из названия, развиваемая университетом Беркли), принадлежащая к иному классу – «объектных» БД. – Примеч. науч. ред.

Начиная с линии версий 3.х.х gcc поддерживает так же полноценно язык про граммирования Ada – известную разработку по заказу Министерства обороны США для «надежного программирования» (этот компилятор один из немногих прошел сертификацию, что обязательно для признания в культуре Ada); Ada раз вивается в рамках открытого проекта GNAT. – Примеч. науч. ред.

36 Глава 1. Введение в Linux жения баз данных и т. п. Linux предоставляет полноценную поддержку Java.

Несколько компаний и независимых проектов выпустили свои версии Java De velopment Kit (набор инструментальных средств для разработки на языке Java) для Linux, среди них можно назвать Sun Microsystems, IBM и Blackdown Project (одним из первых выпустивший реализацию Java для Linux). Программы, напи санные на языке Java, могут исполняться в любой системе (независимо от аппа ратной или программной архитектуры), главное, чтобы система поддерживала виртуальную машину Java. Существует целый ряд JIT компиляторов Java (just in time), и в поставку Java Development Kit для Linux (JDK) входят высокопро изводительные JIT компиляторы, работающие не хуже, чем компиляторы для Windows или других UNIX систем.

Некоторые самые интересные и популярные средства разработки на языке Java относятся к свободно распространяемым продуктам.

Среди них можно назвать:

Eclipse – интегрированная среда разработки, легко расширяемая с помощью до полнительных модулей, JBoss – реализация платформы Java 2 Enterprise Edition (J2EE) и Gluecode – еще одна прикладная платформа, купленная IBM в мае 2005.

gcc может компилировать Java программы непосредственно в исполняемые мо дули и частично поддерживает стандартные библиотеки JDK.

Помимо С, С++ и Java в Linux были перенесены многие другие компилируемые и интерпретируемые языки программирования, такие как Smalltalk, FORTRAN, Pascal, LISP, Scheme и Ada. Кроме того, есть ряд ассемблеров для написания программ в машинных кодах. В рамках одного из достаточно крупных проектов open source, спонсируемого компанией Novell, была разработана среда Mono, реализующая поддержку среды Microsoft.NET в операционных системах UNIX и Linux. Возможно, самую важную группу языков программирования для Linux составляют многочисленные языки сценариев, включая Perl (язык сценариев, являющийся вершиной всех языков этого типа1), Python (первый из языков сце нариев, изначально проектировавшийся как объектно ориентированный) и Ruby (исключительно объектно ориентированный язык сценариев, позиционируе мый как одно из лучших средств быстрой разработки).

Для отладки программ в Linux используется развитый отладчик gdb, позволяю щий выполнять программы в пошаговом режиме при поиске ошибок или анали зировать дампы памяти при выяснении причин сбоя программы. Утилита про филирования gprof дает возможность получать статистику работы программы для выяснения участков кода, на исполнение которых программа тратит больше всего времени. Текстовые редакторы Emacs и vim предоставляют интерактивную среду редактирования и компиляции для различных языков программирова ния. В числе других инструментов, перенесенных в Linux, можно отметить ути литу GNU make, используемую для управления процессом сборки больших про грамм, а также системы управления версиями исходного кода CVS и Subversion.

Linux идеально подходит для создания UNIX приложений. Она обеспечивает со временную среду программирования со всеми дополнительными возможностя ми, и многие профессиональные UNIX программисты заявляют, что Linux – их Точнее, прообразом и прародителем, поскольку каждый из сценарных языков, «оттолкнувшись» от Perl, начал активно развиваться в свою сторону и достиг весьма высокой степени развития. – Примеч. науч. ред.

Характеристики системы любимая ОС для разработки и отладки. Студенты, обучающиеся по разным на правлениям информатики, могут использовать Linux для изучения программи рования в UNIX и других особенностей системы, например архитектуры ядра.

Linux предоставляет доступ не только к полному набору библиотек и утилит, но и к исходным текстам ядра и библиотек. Языкам программирования и инстру ментальным средствам, имеющимся в Linux, посвящена глава 20.

Система X Window X Window System служит стандартным графическим интерфейсом для UNIX систем. Первоначально она была разработана в MIT (Массачусетский технологи ческий институт) в 80 х годах прошлого века с целью дать возможность прило жениям выполняться на рабочих станциях разных производителей, работаю щих под управлением операционной системы UNIX. X – мощная графическая среда, поддерживающая множество разнообразных приложений. Для X написа на масса специальных приложений, включая игры, графические утилиты, сред ства программирования и работы с документацией и т. п.

В отличие от Microsoft Windows, X Window System располагает встроенной под держкой сетевых приложений.1 Например, можно запустить приложение Х на сервере, и при этом его окна будут передаваться на рабочую станцию по сети. Кро ме того, Х поддается настройке в весьма широких пределах: можно изменить по своему вкусу почти любую характеристику системы. Можно менять шрифты, цвета, оформление окон и значки в соответствии со своими предпочтениями.

Можно создавать клавиатурные комбинации, нажатием которых будут запус каться связанные с ними приложения. В X можно даже эмулировать рабочий стол Windows или Macintosh, если желательно сохранить привычный интерфейс.2 X Window System распространяется свободно. Однако ряд разработчиков стали распространять коммерческие расширения первоначального программного обес печения X. Версия X Window для Linux известна как X.org, которая является адаптированной версией X11R6 (X Window System Version 11, Release 6), свободно распространяемой для UNIX систем, устанавливаемых на PC, таких как Linux.3 X.org поддерживает широкий спектр видеоустройств, включая стандартный

Если быть совсем точным, то Х протокол, на котором «стоит» система X Window, –

сетевой протокол, так что даже на изолированном локальном компьютере графи ческие X клиенты взаимодействуют с X сервером (который и выполняет всю гра фическую прорисовку) как с сетевым сервером, но установленным на том же ком пьютере. Поэтому нет ничего удивительного в том, что Х система так легко и ес тественно «расширяется» на сеть. – Примеч. науч. ред.

Точнее, это обеспечивается оконным менеджером, о котором авторы упоминают двумя абзацами ниже, а конкретный оконный менеджер пользователь может вы брать по своему вкусу более чем из десятка имеющихся и свободно доступных. – Примеч. науч. ред.

Фактически X.org выросла из другой версии X Window System, предназначенной для установки на персональные компьютеры, – XFree86. Политические раздоры, в которые мы не собираемся здесь вникать, привели к расколу проекта на две части – XFree86 и X.org. Большинство современных дистрибутивов распространя ются с версией X.org. Впрочем, для вас это едва ли имеет какое нибудь значение, если, конечно, вы не собираетесь принять участие в разработке X Window System.

38 Глава 1. Введение в Linux VGA и ряд видеоадаптеров с ускорителями. X.org представляет собой полный комплект программного обеспечения X, включающий в себя сам X сервер, ряд прикладных программ и утилит, программные библиотеки и документацию.

X входит в состав практически каждого дистрибутива Linux.

За внешний вид и поведение интерфейса X Window отвечает менеджер окон (win dow manager). Эта дружественная программа отвечает за размещение окон, ин терфейс пользователя, посредством которого окна могут изменяться в размерах, сворачиваться, перемещаться, изменять оформление рамок и заголовков и т. д.

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

В главе 16 мы расскажем о том, как устанавливать и использовать X Window System на Linux машине.

KDE и GNOME Хотя X Window System предоставляет гибкую оконную систему, многие пользо ватели предпочитают иметь в своем распоряжении законченную среду рабочего стола с возможностью настройки внешнего вида всех окон и графических эле ментов (таких как кнопки и полосы прокрутки), простым интерфейсом пользо вателя и развитыми возможностями, как, например, перетаскивание мышью данных между приложениями. KDE и GNOME – два отдельных проекта, имею щие целью предоставить развитую среду рабочего стола для Linux. Путем созда ния мощного комплекта средств разработки, библиотек и приложений, интегри рованных в среду рабочего стола, KDE и GNOME стремятся к тому, чтобы от крыть новую эру настольных систем Linux. Эти проекты тесно сотрудничают между собой в духе сообщества open source, чтобы приложения, изначально раз рабатывавшиеся для одной среды, могли успешно работать и в другой. Обе сис темы предоставляют богатый графический интерфейс пользователя, менеджер окон, утилиты и приложения, по своим возможностям не уступающие таким системам, как рабочий стол Windows XP.

Благодаря KDE и GNOME даже неопытные и начинающие пользователи будут чувствовать себя в Linux как дома. Большинство дистрибутивов автоматически настраивают одно из этих окружений рабочего стола во время установки, что ис ключает необходимость сталкиваться с текстовым интерфейсом консоли.

И KDE, и GNOME ставят перед собой цель сделать Linux более дружественной для пользователя, и каждое их этих окружений имеет своих сторонников и при верженцев. В главе 3 мы познакомимся с ними поближе. Как и X1, оба окруже ния рабочего стола предоставляют библиотеки с открытыми исходными текста ми, что позволяет разрабатывать программы, соответствующие их духу и внеш нему виду.

Не совсем точно: и KDE, и GNOME работают «над Х», то есть используя Х. – При меч. науч. ред.

Характеристики системы Работа в сети Linux считается одной из наиболее мощных и надежных сетевых систем в мире, и все больше людей приходят к выводу, что Linux – это прекрасный выбор для сетевого сервера. Linux поддерживает семейство сетевых протоколов TCP/IP, на которых основан весь Интернет, включая IPv6 (новая версия протокола IP сле дующего поколения) и UUCP (используемый для связи UNIX машин через по следовательные линии). Linux позволяет связаться с любым компьютером в Ин тернете через Ethernet (в том числе Fast и Gigabit Ethernet), Token Ring, комму тируемые соединения, беспроводные сети, пакетные радиосети, последователь ные линии, ADSL, ISDN, ATM, IRDA, Appletalk, IPX (Novell NetWare) и многие другие сетевые технологии. Доступен весь спектр приложений для Интернета, включая веб броузеры, веб серверы, FTP, электронную почту, чат, телеконфе ренции, ssh, telnet и другие.

Большинство пользователей Linux подключаются к Интернету из дома с помо щью коммутируемого соединения с интернет провайдером. Linux поддерживает популярные протоколы PPP и SLIP, используемые большинством провайдеров для доступа к Интернету по коммутируемым линиям. Если у вас есть широкопо лосный доступ через канал Т1, кабельный модем, DSL или другое устройство, то Linux позволит пользоваться и этими технологиями. Можно даже1 настроить Linux машину как маршрутизатор и брандмауэр для нужд сети компьютеров, которые будут подключены к Интернету через одно коммутируемое или широ кополосное соединение.

В Linux поддерживаются многие веб броузеры, в том числе Mozilla (отделив шийся от Netscape броузер, распространяемый с открытыми исходными текста ми), Konqueror (еще один броузер open source, поставляемый в составе KDE) и текстовый броузер Lynx. Даже текстовый редактор Emacs содержит неболь шой текстовый веб броузер.

Под управлением Linux может также работать ряд веб серверов. Linux сыграла очень важную роль, благодаря которой появился популярный свободно распро страняемый веб сервер Apache. На сегодня Apache под Linux обслуживает боль ше веб сайтов, чем какая либо другая платформа во всем мире. Apache очень легко устанавливается и настраивается, что мы продемонстрируем в главе 22.

В Linux есть широкий выбор программ для электронной почты и телеконферен ций, таких как MH, Elm, Pine и mutt, а также средства чтения почты и телекон ференций, входящие в веб броузер Mozilla. Многие из них совместимы со стан дартными протоколами, например IMAP и POP. Каковы бы ни были ваши требо вания, Linux можно настроить для отправки и получения любых сообщений электронной почты и телеконференций.

Есть целый ряд других сетевых служб, которые могут работать под Linux. Samba является пакетом, позволяющим Linux машинам выступать в качестве файл сервера и сервера печати Windows. NFS позволяет беспрепятственно совместно использовать файлы вместе с другими машинами сети. Благодаря NFS файлы Не просто «можно», а это один из наиболее часто применяемых способов связи

–  –  –

на удаленных машинах выглядят так же, как если бы они располагались на ва ших собственных дисках.1 FTP позволяет обмениваться файлами между маши нами в сети. В число других сетевых возможностей входят основанные на прото коле NNTP системы электронных новостей, например C News и INN; почтовые агенты Sendmail, Postfix и Exim; ssh, telnet и rsh, позволяющие регистрировать ся и выполнять команды на других машинах в сети; finger, позволяющий полу чать информацию о других пользователях Интернета. В общем, существует мас са различных приложений и протоколов, основанных на TCP/IP.

Если у вас есть опыт работы с приложениями TCP/IP на других UNIX системах, то Linux не будет для вас новинкой. Эта система предоставляет стандартный ин терфейс программирования сокетов, поэтому практически любая программа, использующая TCP/IP, может быть перенесена на Linux. X сервер Linux также поддерживает TCP/IP, что позволяет отображать на дисплее приложения, вы полняемые на других машинах. Сетевое администрирование окажется знако мым для тех, кто пришел из других UNIX систем, поскольку средства конфигу рирования и мониторинга сходны со своими аналогами в BSD.

В главе 13 мы расскажем о настройке семейства протоколов TCP/IP в Linux, в том числе PPP. Мы разберем также вопросы настройки веб броузеров, веб серверов и почтовых программ.

Поддержка портативных компьютеров В Linux есть ряд функций, специфических для лэптопов, таких как поддержка PCMCIA (или «PC Card») и APM, относительно недавно появившегося ACPI, а также поддержка беспроводных сетей, встроенных в лэптопы Centrino. Пакет PCMCIA Tools для Linux содержит драйверы многих устройств PCMCIA, вклю чая модемы, карты Ethernet и адаптеры SCSI. APM позволяет ядру следить за уровнем зарядки аккумулятора и выполнять определенные действия (например, автоматически завершать работу) при снижении его ниже допустимого уровня.

Кроме того, эта функция переводит процессор в режим малого энергопотребле ния, когда он не используется. Такую функцию легко настроить как параметр ядра. Есть ряд утилит для взаимодействия с APM, в том числе apm, которая ото бражает состояние аккумулятора, и apmd, которая регистрирует состояние акку мулятора и может генерировать события, связанные с состоянием питания. Эти утилиты присутствуют в большинстве дистрибутивов Linux. Аналогичным це лям служит поддержка ACPI, но эта функция появилась сравнительно недавно и обладает более широкими возможностями. С помощью функции ACPI можно даже настроить возможность сохранения на диске текущего состояния компью тера при его выключении. Благодаря этому при последующем включении компь ютер продолжит работу точно с того места, когда он был выключен. А программ ные инструментальные средства, обладающие графическим интерфейсом, как, например kpowersave, позволяют управлять всеми этими возможностями, не по кидая удобной и дружественной графической среды.

Благодаря не только NFS, но в еще большей мере общей концепции файловых систем, принятых в UNIX и, следовательно, в Linux. – Примеч. науч. ред.

Характеристики системы Взаимодействие с Windows Существуют различные утилиты для взаимодействия с миром Windows и MS DOS. Наиболее известным приложением является проект Wine – платформа для запуска приложений, разработанных для Microsoft Windows, в X Window System под Linux. Wine позволяет программам Microsoft Windows выполняться непо средственно под управлением Linux и других операционных систем на платформе Intel. Wine находится в процессе непрерывного развития и в настоящее время по зволяет запускать многочисленные1 программы для Windows, включая настоль ные приложения и игры. О подробностях этого проекта мы поговорим в главе 28.

Linux обеспечивает прозрачный интерфейс для перемещения файлов между сис темами Linux и Windows. Под Linux можно смонтировать раздел Windows или гибкий диск и непосредственно обращаться к файлам Windows, как к любым дру гим. Кроме того, существует пакет mtools, который дает возможность непосредст венного доступа к гибким дискам, отформатированным в MS DOS, и пакет htools, делающий то же самое в отношении гибких дисков Macintosh.

Еще одним устаревшим приложением из этой области является Linux MS DOS Emulator, или DOSEMU, позволяющее запускать многие программы для MS DOS прямо из Linux. Несмотря на то, что программы MS DOS быстро уходят в небы тие, все же существует ряд интересных утилит и игр под MS DOS, которые хоте лось бы запускать в Linux. В DOSEMU можно даже запускать старую программ ную оболочку Microsoft Windows 3.1.

Linux не предоставляет полной эмуляции среды Windows и MS DOS, но можно запускать эти ОС на той же машине, где стоит Linux, и выбирать операционную систему для запуска во время начальной загрузки. Многие дистрибутивы во вре мя установки умеют распознавать и сохранять нетронутыми другие операцион ные системы, которые ранее уже были установлены на компьютере, а благодаря установке начального загрузчика LILO или GRUB позволяют выбирать между Li nux, Windows и другими ОС при начальной загрузке. В этой книге мы покажем, как правильно настроить начальный загрузчик LILO на тот случай, если вам по надобится организовать выбор загружаемой операционной системы вручную.

Еще одним популярным решением является запуск на системном уровне вирту альной машины, которая позволяет работать операционным системам Linux и Windows одновременно. Виртуальная машина – это прикладная программа, которая эмулирует большую часть аппаратных средств машины, заставляя опе рационную систему поверить в то, что она работает на реальном физическом ком пьютере. С помощью виртуальной машины можно загрузить Linux, а затем за пустить Windows – и на машине будут одновременно выполняться приложения Linux и Windows. Можно сделать наоборот – загрузить Windows, а затем запус тить на виртуальной машине Linux. Хотя при работе с виртуальной машиной не сколько снижается производительность, часто очень удобно применять такую технологию, чтобы, например, запустить под Linux текстовый процессор, разра ботанный для Windows. Наибольшее распространение получили такие виртуаль Но не все: возможность или невозможность выполнения программы для Windows

–  –  –

ные машины, как VMWare (http://www.vmware.com/), которая является ком мерческим продуктом, и Bochs (http://bochs.sourceforge.net/), представляющая собой проект с открытыми исходными текстами. Описание VMWare вы найдете в главе 28.

Наконец, возможность удаленной регистрации, имеющаяся в Linux, позволяет выполнять действия на удаленных системах. Любые два компьютера, на кото рых работает X Window System (главным образом это операционные системы Li nux, BSD и UNIX1), позволяют пользователю, находящемуся за одним компью тером, запускать программы на другом, работать с графическим интерфейсом программы, который выводится на его дисплее, и управлять им с помощью своей клавиатуры и мыши. Протокол RDP (эта аббревиатура может расшифровывать ся и как Remote Desktop Protocol – протокол управления удаленным рабочим столом, и как Remote Display Protocol – протокол управления удаленным дис плеем) позволяет аналогичным образом управлять программами, исполняющи мися на удаленных Windows системах. Клиентская и серверная части Virtual Network Connection (VNC – виртуальное сетевое соединение) выполняют те же самые задачи, причем с еще большей гибкостью, позволяя совместно работать различным операционным системам на разных компьютерах. В разделе «Доступ к удаленному рабочему столу Windows» мы продемонстрируем, как настраива ются эти службы, а в разделе «FreeNX: Linux как сервер удаленного рабочего стола» обсудим систему удаленных взаимодействий FreeNX, которая позволяет организовать прозрачное сетевое взаимодействие, аналогичное X, с огромным преимуществом в скорости.

Другие приложения Для Linux существует масса приложений, чего и следовало ожидать от операци онной системы с таким разнообразным составом пользователей. В настоящее время Linux сосредоточена главным образом на организации персональных ра бочих мест в UNIX, но ситуация быстро меняется. Расширяется спектр прило жений для деловых и научных целей, появляется все больше коммерческих приложений.

В научном мире Linux бесспорно считается лучшей платформой для экономично го решения вычислительных задач. Для Linux разработано большое число науч ных программ, включая популярные технические инструменты MATLAB и Mathematica. Есть также большое число бесплатных пакетов, в том числе FELT (Finite Element Analysis Tool – анализ методом конечных элементов), Spice (сред ство проектирования и анализа электронных схем) и Khoros (система обработки изображений, цифровых сигналов и визуализации). На Linux перенесены многие популярные библиотеки вычислительных алгоритмов, например LAPACK – биб лиотека методов линейной алгебры. Есть также оптимизированная для Linux версия кода BLAS, на котором основывается LAPACK.

Linux – одна из самых популярных платформ для организации параллельных вычислений с помощью кластеров, которые представляют собой группу недоро Для Windows также существует несколько реализаций Х системы от независимых производителей; наиболее известной из них является, по видимому, Exceed. – Примеч. науч. ред.

Об авторских правах на Linux гих машин, обычно соединенных между собой высокоскоростной (порядка не скольких гигабит в секунду или выше) сетью. Проект NASA Beowulf первым по пуляризировал идею связать большое число PC, работающих под Linux, в один суперкомпьютер, чтобы осуществлять научные или числовые расчеты. В настоя щее время кластеры на базе Linux стали скорее правилом, чем исключением, во многих научных приложениях. Кластеры Linux находят себе применение в са мых разнообразных приложениях. Например, поисковая машина Google ис пользует кластер из Linux машин (согласно утверждениям MIT их число в де кабре 2004 года превысило 250 000)!

Как и во всякой операционной системе, в Linux есть свои игры. На Linux переве ден ряд популярных коммерческих игр, в том числе Quake, Quake II, Quake III Arena, Doom, SimCity 3000, Descent и многие другие. Большинство популярных игр позволяют играть через Интернет или локальную сеть. Возникают Linux клоны других коммерческих игр. Есть также классические текстовые подзе мельные игры, такие как Nethack и Moria; игры типа MUD (многопользователь ские «темницы», позволяющие нескольким пользователям участвовать в тек стовых приключениях), например DikuMUD и TinyMUD; множество графиче ских игр, таких как xtetris, netrek и Xboard (X11 интерфейс для gnuchess).

Меломаны найдут в Linux широкую поддержку различной звуковой аппаратуры и сопутствующих программ, таких как CDplayer (программа, управляющая при водом CD ROM как обычным CD плеером, что довольно удивительно), MIDI сек венсоры и редакторы (позволяющие сочинять музыку для воспроизведения через синтезатор или другой инструмент, обладающий поддержкой MIDI) и звуковые редакторы для оцифрованного звука. В Linux можно прослушивать аудиофайлы самых разных форматов, такие как MP3 и OGG/Vorbis, а с помощью разнообраз ных программ, входящих в состав некоторых дистрибутивов, становятся доступ ны для прослушивания даже файлы некоторых коммерческих форматов.

Не можете найти нужную программу? Есть ряд веб сайтов, на которых находят ся обширные каталоги приложений для Linux. Наиболее популярным катало гом Linux программ является Freshmeat (http://www.freshmeat.net); перечень, включающий другие известные каталоги, вы найдете в приложении A. Посмот рите эти сайты, чтобы, по крайней мере, убедиться, как много программ написа но для Linux.

Если требуемое не удается найти, всегда можно попытаться перенести на Linux приложение с другой платформы. В крайнем случае можно написать приложе ние самому. Это в духе Free Software – если хочешь, чтобы что то было сделано хорошо, сделай это сам! Начинать одному крупный программный проект бывает страшно, но те, кто открывает публике раннюю версию своей программы, обна руживают, что возникает множество помощников, готовых присоединиться к проекту.

Об авторских правах на Linux Linux подпадает под действие лицензионного соглашения, которое известно как GNU General Public License (Универсальная общественная лицензия GNU), или GPL. GPL, которую иногда называют лицензией «copyleft» («права оставлены», как противоположность copyright – «права удержаны»), разработана Free Soft 44 Глава 1. Введение в Linux ware Foundation (Фонд свободно распространяемого программного обеспечения) для проекта GNU. Она накладывает ряд условий на распространение и модифи кацию свободного программного обеспечения. В этом смысле слово «свобода»

подразумевает свободу распространения, а не только возможность пользоваться бесплатно. GPL всегда была подвержена неправильному толкованию, и мы наде емся, что данный обзор поможет понять рамки и цели GPL, а также ее отноше ние к Linux. Полный текст GPL можно найти по адресу http://www.gnu.org/copy left/gpl.html.

Первоначально Линус Торвальдс выпустил Linux под более строгой, чем GPL, лицензией, которая допускала свободное распространение и модификацию, но запрещала денежные расчеты за распространение и использование. GPL разре шает продавать и получать прибыль от свободного программного обеспечения, но запрещает каким либо образом ограничивать права на дальнейшее распро странение программного обеспечения.

Краткое описание принципов лицензирования свободного программного обеспечения Прежде всего, мы хотим разъяснить, что свободное программное обеспечение, охватываемое GPL, не подразумевает общественное владение (public domain).

Программное обеспечение в общественном владении не имеет авторских прав и находится в общественном владении в буквальном смысле этого слова. Напро тив, программное обеспечение, подпадающее под действие GPL, имеет автор ские права, принадлежащие одному или нескольким авторам. Это значит, что программное обеспечение защищено обычными международными законами об авторских правах и автор его юридически определен. Тот факт, что программное обеспечение может свободно распространяться, не означает, что оно находится в общественном владении.

Программное обеспечение с лицензией GPL также не является условно бесплат ным (shareware). Обычно программное обеспечение с лицензией shareware и ав торские права на него принадлежат автору, который требует, чтобы пользовате ли платили некоторые суммы за пользование полученным программным обеспе чением. Напротив, программное обеспечение с лицензией GPL может бесплатно распространяться и использоваться.

GPL разрешает также модификацию свободного программного обеспечения и рас пространение модифицированных версий. Однако результаты модификации также подпадают под действие GPL. Иными словами, фирма не может взять Li nux, модифицировать ее и продавать под ограничительной лицензией. Если ка кое либо программное обеспечение является производным от Linux, оно также должно быть охвачено лицензией GPL.

Лица и организации могут распространять программное обеспечение GPL за плату и даже извлекать прибыль из продажи и распространения, однако прода вец программного обеспечения GPL не может лишить таких же прав покупате ля. Это значит, что если вы где либо приобрели ПО, распространяемое на усло виях GPL, то сами можете распространять его бесплатно или продавать.

Поначалу в этом можно усмотреть противоречие. Как можно с прибылью прода вать программное обеспечение, когда GPL позволяет любому приобрести его бес Об авторских правах на Linux платно? Когда фирма собирает вместе много бесплатных программ, помещает их на компакт диск и распространяет, ей должны быть оплачены расходы на про изводство и распространение компакт диска, а кроме того, она может пожелать получить прибыль от продажи программного обеспечения. GPL это разрешает.

Организации, продающие свободное программное обеспечение, должны следо вать некоторым ограничениям, установленным GPL. Во первых, они не могут ограничить права пользователей, приобретающих программное обеспечение. Это значит, что, купив компакт диск с программным обеспечением GPL, вы можете копировать и распространять его бесплатно или перепродавать самостоятельно.

Во вторых, распространитель должен сделать очевидным для пользователей, что программное обеспечение действительно подпадает под действие GPL. И в треть их, распространитель должен бесплатно предоставить полный исходный код рас пространяемого программного обеспечения или указать по требованию покупа теля, откуда он может быть загружен.1 Поэтому каждый покупатель программ ного обеспечения GPL может модифицировать это программное обеспечение.

Разрешение распространять и продавать свободное программное обеспечение – очень полезная вещь. Не у всех есть доступ к Интернету для бесплатной загруз ки такого программного обеспечения, как Linux. GPL позволяет фирмам прода вать по разумной цене или поставлять бесплатно программное обеспечение тем, у кого нет возможности загрузить его из Интернета. Например, многие органи зации продают Linux на гибких дисках, лентах или компакт дисках по почте и получают от этого прибыль. Разработчикам Linux из этой прибыли, вероятно, ничего не достанется. Таковы отношения между разработчиком и распространи телем, устанавливаемые GPL. Иными словами, Линус знал, что фирмы могут начать продавать Linux, и он не получит из их прибыли ни гроша. (Если Линус и не богат, то по крайней мере он знаменит!) В мире свободного программного обеспечения важны не деньги. Цель свободного программного обеспечения – разработка и распространение фантастических программ и возможность каждого получить их и пользоваться ими. В следую щем разделе мы обсудим, как это отражается на разработке Linux.

SCO и другие компании, оспаривающие права на Linux В марте 2003 года компания с названием SCO, история развития которой шла весьма извилистым путем слияний и разоблачений, связанных с покупкой неко торого количества прав на UNIX, заявила, что Linux содержит исходные тексты, правами на которые обладает SCO, и потому права на Linux также принадлежат SCO. Компания начала судебные разбирательства, возбудив иск против IBM. Это был, по крайней мере, слишком самоуверенный выпад, потому что трудно пред ставить себе компанию, сделавшую бизнес в компьютерной индустрии, которая была бы лучше подготовлена к судебным разбирательствам. Как бы то ни было, но позднее выяснилось, что притязания SCO не ограничились одной только IBM.

Хотелось бы акцентировать внимание именно на этом пункте, который является

–  –  –

В действительности SCO имела некоторое отношение к Linux. Согласно отчетам в декабре 2003 года SCO даже разослала предупредительные письма более чем 1000 компаний, предлагая выплатить лицензионные отчисления SCO.

К разбирательствам присоединились Red Hat и ряд других компаний. Novell, которая в то время занималась покупкой SUSE и стала верным партнером сооб щества Linux, еще больше подогрела интерес к этому делу, предъявив свои соб ственные права на UNIX. В результате затянувшееся дело превратилось в целую серию судебных процессов, встречных исков, отказов от притязаний, громких заявлений перед общественностью и поливания друг друга грязью.

К моменту написания этих строк конфликт с компанией SCO еще не был урегу лирован, но теперь дело уже не выглядит угрожающим. Не многие наблюдатели полагают, что Linux в беде, – скорее SCO оказалась перед угрозой финансового краха. Сеть компаний, отдельных лиц и ключевые организации, поддерживаю щие Linux, достойно ответили на брошенный им вызов. Некоторые крупные по ставщики еще больше усилили поддержку Linux, предложив своим пользовате лям компенсационные выплаты. Мы надеемся, что в следующем издании нашей книги информации об этом деле будет немного больше.

Наконец Линус Торвальдс и OSDL признали, что старый порядок принятия про граммного кода без надежной привязки изжил себя. Начиная с мая 2004 года, любой разработчик, представивший программный код для включения в ядро, должен указать контактную информацию и неофициально объявить о своем ав торском праве на представленный код. Новая система получилась простой и лег кой, но при этом сделала возможным в случае чего обратиться к тем, кто взял на себя ответственность за рассматриваемый код.

Дальнейшие попытки оспаривания авторских прав на Linux маловероятны, но против нее могут использоваться патенты. Однако каждый программист и каж дая компания, занимающиеся разработкой программного обеспечения, должны волноваться о программных патентах. Linux и бесплатное программное обеспе чение ничуть не опаснее, чем любое другое программное обеспечение. Проекты по свободному программному обеспечению ведутся открыто, и поэтому они вполне могут стать соблазнительной целью для возбуждения новых судебных разбирательств. Единственная цель таких разбирательств состоит в том, чтобы преднамеренно прекратить работу проекта, потому что свободное программное обеспечение не может приносить лицензионных отчислений.

Программное обеспечение с открытыми исходными текстами и философия Linux У начинающих пользователей Linux часто встречается ряд заблуждений и не верных представлений о системе. Linux является уникальной операционной системой, для эффективного использования которой важно понимать ее филосо фию и архитектуру. В центре философии Linux лежит идея, которую мы называ ем сейчас программным обеспечением с открытыми исходными текстами (open source).

«Open source» означает программное обеспечение, исходный программный код которого (т. е. внутреннее устройство программы) каждый желающий может Программное обеспечение с открытыми исходными текстами и философия Linux свободно загрузить, изменить и повторно распространить.1 Программное обеспе чение, подпадающее под условия GPL, описанной в предыдущем разделе, укла дывается в категорию open source. Никого не должно удивлять, что в ту же кате горию попадает масса программного обеспечения, распространяемого на услови ях других лицензий, сходных с GPL, но не совпадающих с ней. Например, про граммное обеспечение, которое можно свободно модифицировать, но к которому при этом не предъявляются такие же строгие требования по последующему рас пространению, как в GPL, тоже считается open source. В эту категорию попада ют самые разные лицензии, в том числе BSD License и Apache Software License.

Модели разработки программного обеспечения с открытыми исходными текста ми и свободного программного обеспечения – это явление, начавшееся с Фонда свободного программного обеспечения и ставшее популярным во многом благо даря Linux. Это совершенно новый способ создания программного обеспечения, при котором все стороны разработки, отладки, тестирования и исследования от крыты всем, кто проявит к ним интерес. Не полагаясь на какую то одну фирму в разработке и поддержке программ, модель open source обеспечивает открытое развитие программного кода в сообществе разработчиков и пользователей, дви жимых желанием создавать хорошее программное обеспечение, а не стремлени ем к прибыли.

Издательство O’Reilly опубликовало две книги «Open Sources 1.0» и «Open Sour ces 2.0», которые могут служить прекрасным введением в модель разработки open source. Они представляют собой сборники очерков о движении open source, написанных ведущими разработчиками (включая Линуса Торвальдса и Ричарда Столлмана ). Еще одна не менее популярная книга по этой же теме – «The Cathe dral and the Bazaar», принадлежащая перу Эрика С. Реймонда (Eric S. Raymond).

Пресса уделила большое внимание модели open source, и некоторые называют это явление новой волной в разработке программного обеспечения, которая за ставит забыть прежние методы, когда все скрывалось от посторонних глаз под покровом секретности. Со временем станет видно, насколько жизнеспособно это движение, но уже сейчас имеются вполне обнадеживающие признаки того, что это не столь уж несбыточно. Например, Netscape Corporation опубликовала ис ходные тексты своего веб броузера как проект open source под названием Mozilla.

Другие крупные компании, такие как Sun Microsystems, IBM и Apple, объявили о планах выпуска некоторых своих продуктов как open source в надежде, что в условиях совместного общественного проекта разработки программного обеспе чения они достигнут успеха.

Еще важнее, чем возможность модификации и улучшения: а) возможность ана

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

48 Глава 1. Введение в Linux Linux находится в центре внимания прессы к явлению open source. Чтобы по нять, откуда происходит идеология разработки Linux, есть смысл взглянуть на традиционную модель разработки коммерческого программного обеспечения.

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

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

В целом процесс сопровождения и поддержки программного кода разработчика ми коммерческого программного обеспечения очень сложен, и это правильно.

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

Полную противоположность этой модели разработки представляет Linux, кото рая была и наверняка останется хакерской операционной системой.1 Хотя мно гие проекты open source приняли элементы коммерческой методологии разра ботки приложений, такие как системы контроля версий и регистрации ошибок, все же неотъемлемой чертой разработки Linux являются сотрудничество и рас средоточение, что в корне отличает эту модель от традиционного подхода.

Не так давно шло много разговоров о методологиях гибкой разработки, таких как экстремальное программирование. Адепты Linux и движения open source часто немного удивляются таким разговорам, так как подобные методологии всегда были центральной идеей разработки программного обеспечения с откры тыми исходными текстами.

Под словом «хакер» мы подразумеваем программиста, увлеченного своей рабо

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

Программное обеспечение с открытыми исходными текстами и философия Linux Linux разрабатывается главным образом как коллективный проект группы доб ровольцев из Интернета, живущих в разных концах света. Единой организации, ответственной за разработку системы, не существует. В основном Linux сообще ство общается с помощью различных почтовых списков рассылки и веб сайтов.

В ходе работы над проектом возник ряд соглашений, например, программисты, которые хотят, чтобы их программный код был включен в «официальное» ядро, должны послать его Линусу Торвальдсу. Он проверит код и включит его в ядро (если код ничего не портит и не противоречит общей архитектуре системы, то, скорее всего, он это сделает). По мере развития Linux эта задача стала слишком трудоемкой, чтобы Линус мог справиться с ней один (к тому же он теперь обза велся детьми), поэтому часть его обязательств взяли на себя другие участники проекта, отвечающие за тестирование кода и включение его в определенные под системы ядра, например в сетевую подсистему.

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

Следует сказать, что выход новой версии не означает устранение всех до единой ошибок и решение всех проблем. (В равной степени это относится и к коммерче ским программам!) Как только система представляется свободной от критиче ских или часто возникающих ошибок, она признается стабильной и осуществля ется выпуск новой версии. Главная задача разработки Linux не в том, чтобы соз дать совершенный и лишенный ошибок программный код, цель состоит в разра ботке свободной реализации UNIX. Больше чем для кого бы то ни было Linux предназначается для разработчиков.

Каждый, кто хочет добавить к системе новую функциональную возможность или программу, обычно делает ее доступной в версии «альфа». Это стадия, когда программа тестируется теми отчаянными пользователями, стремящимися уст ранить проблемы в исходном программном коде. Поскольку Linux сообщество базируется в основном в Интернете, альфа версии обычно выкладываются на од ном или нескольких веб сайтах Linux (см. приложение A), а в списки рассылки Linux помещается сообщение о том, как получить и протестировать этот код.

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

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

Учтите, это лишь общепринятые соглашения, но не правила. Некоторые разра ботчики настолько уверены в своих силах, что не выпускают версий в стадии «альфа» или «бета». Такие решения всегда принимает сам разработчик.

50 Глава 1. Введение в Linux Что же происходит с регрессионным тестированием и строгим процессом контро ля качества? Вместо него действует правило «выпускай скорее и выпускай ча ще». Лучшими контролерами являются сами пользователи, поскольку они ис пытывают систему во множестве сред и с разнообразными реальными приложе ниями, что не так просто осуществить в любой штатной группе контроля качест ва. Одной из самых примечательных сторон такой модели разработки и выпуска является то, что ошибки (и бреши в системе безопасности) порой могут быть вы явлены, объявлены и устранены в течение нескольких часов, а не дней и недель.

Поразительно, что такая неорганизованная система добровольцев, программи рующих и отлаживающих целую UNIX систему, может вообще что то произве сти. Как показывает практика, это один из наиболее эффективных и целеуст ремленных программных проектов, существовавших когда либо. Ядро Linux было целиком написано, что называется, «с нуля», без использования какого либо коммерческого программного кода. Добровольцами была проделана огром ная работа по переносу на Linux всего существующего на свете бесплатного про граммного обеспечения. Были написаны и перенесены библиотеки, созданы файловые системы, написаны драйверы для многих распространенных аппарат ных устройств.

Программное обеспечение Linux обычно выпускается в виде дистрибутива, представляющего собой единый пакет программ, в целом образующих систему.

Большинству пользователей было бы слишком сложно вручную собрать систему с самого начала, для чего потребовалось бы сначала собрать ядро, а затем доба вить утилиты и установить все необходимое программное обеспечение. Вместо этого предлагается целый ряд дистрибутивов, в состав которых входит все необ ходимое для установки и запуска системы. Опять таки, стандартного дистрибу тива не существует, их много, и у каждого есть свои преимущества и недостатки.

Эта книга описывает установку дистрибутивов Red Hat, SUSE и Debian, но она может оказаться полезной при установке любого другого дистрибутива.

Несмотря на то, что Linux является завершенной системой, для установки и за пуска полной системы требуется некоторый опыт работы в UNIX. Нет такого ди стрибутива Linux, в котором не нашлось бы каких то ошибок, поэтому после ин сталляции может потребоваться вручную исправить небольшие проблемы. Неко торым читателям это обстоятельство может доставить огорчение, но правильнее было бы воспринимать его как «радость Linux», то есть удовольствие, получаемое от возни со своей собственной системой, изучения ее и исправления мелких недо четов. Именно такое отношение отличает энтузиастов Linux от простых пользова телей. Linux может быть хобби, увлекательным спортом или стилем жизни. (Так же, как у любителей сноуборда или горного велосипеда, у «линуксоидов» есть свой жаргон и стиль одежды. Если не верите – потолкайтесь на какой нибудь вы ставке Linux!) Многие начинающие пользователи Linux пишут о том, с каким удовольствием они осваивают эту новую систему, и считают, что Linux воскре шает очарование, испытанное при первом знакомстве с компьютером.

Советы начинающим пользователям UNIX Для установки и запуска собственной Linux системы не требуется большого опыта работы в UNIX. На самом деле многие начинающие пользователи успеш но справляются с установкой Linux. Приобрести опыт установки полезно, но уч Программное обеспечение с открытыми исходными текстами и философия Linux тите, что некоторым процедура установки может показаться весьма сложной и запутанной. Если вам повезет, вы сможете установить Linux и начать в ней ра ботать, вообще не имея опыта работы с UNIX. Однако, как только вы будете го товы заняться более сложными задачами – установкой новых программ, пере сборкой ядра и т. п., – знание UNIX станет для вас необходимостью. (Отметим при этом, что многие дистрибутивы Linux так же просто установить и настроить, как Windows 98, и уж конечно проще, чем Windows 2000 или XP.) К счастью, после установки собственной Linux системы можно приступать к изу чению основ UNIX, которые необходимо знать для выполнения этих задач. В этой книге содержится много информации, которая поможет начать изучение UNIX.

Глава 4 представляет собой учебник по основам UNIX, а во второй части книги содержатся сведения по администрированию Linux. Возможно, лучше прочесть эти главы до того, как вообще начинать установку Linux. Содержащиеся в них сведения могут оказаться очень ценными, если придется столкнуться с какими либо проблемами.

Не следует рассчитывать на превращение новичка в системного администратора UNIX за одну ночь. Ни одна операционная система не заработает без проблем, и любая из них требует сопровождения, поэтому нужно быть готовым к сложно стям. Рассматривайте это как возможность лучше изучить Linux и UNIX и не те ряйте мужества, если не все будет так гладко, как хотелось бы!

Советы опытным пользователям UNIX Даже тем, у кого за плечами опыт многих лет программирования и системного администрирования UNIX, может понадобиться содействие, чтобы собрать и ус тановить Linux. Знатокам UNIX следует ознакомиться с некоторыми аспектами Linux, прежде чем пускаться в плавание. Во первых, Linux не является коммер ческой UNIX системой. Она не пытается следовать тем же стандартам, что и дру гие UNIX системы, с которыми вы могли сталкиваться, но в известном смысле Linux изменяет мир UNIX, заставляя все прочие системы потрудиться за те деньги, которых они стоят. Если быть более точным, стабильность является очень важным фактором, но не единственным.

Во вторых, далеко не последнее значение имеет функциональность. Во многих случаях новый программный код включается в ядро, даже если в нем все еще есть ошибки и не все функции реализованы. При этом предполагается, что важнее вы пустить код, который пользователи смогут протестировать и которым они смогут пользоваться, чем задерживать выпуск новой версии, пока она не достигнет «со вершенства». Почти все проекты open source проходят стадию альфа версии, пре жде чем они полностью готовы к эксплуатации. В результате сообщество open source в целом имеет возможность работать с кодом, тестировать и развивать его, а те, кто находит альфа версию «достаточно хорошей» для своих нужд, могут ею пользоваться. Коммерческие производители UNIX редко занимают такую пози цию при выпуске программного обеспечения, если вообще когда либо делают это.

Даже если вы суперспециалист по UNIX и можете дизассемблировать ядро Solaris во сне или перекодировать суперблок AIX с руками, связанными за спиной, вам все равно придется некоторое время привыкать к Linux. Это современная и дина мичная система, новые версии ядра которой выходят каждые несколько месяцев, 52 Глава 1. Введение в Linux а новые утилиты появляются постоянно. Сегодня ваша система вполне современ на, а завтра вы оказываетесь с ней в каменном веке.

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

Помните, Linux разрабатывается своими пользователями. Из этого следует, что чаще всего Linux поддерживает ту аппаратуру, с которой приходится сталки ваться ее пользователям и разработчикам. Это приводит к тому, что поддержи вается большая часть популярной аппаратуры и периферийных устройств для систем, основанных на 80х86 (Linux, возможно, поддерживает больше аппарат ных устройств, чем любая коммерческая реализация UNIX). Однако отсутствует поддержка некоторых темных и таинственных устройств, как и тех, изготовите ли которых поставляют фирменные драйверы, не раскрывая спецификаций.1 С течением времени спектр поддерживаемой аппаратуры постоянно расширяет ся, поэтому, если вы не найдете своего любимого устройства в списке, не исклю чено, что его поддержка появится в скором будущем.

Другая трудность поддержки аппаратных устройств в Linux обусловлена тем, что многие компании решили сделать интерфейсы производимой ими аппарату ры своей собственностью.2 В итоге добровольные разработчики Linux просто не могут написать драйверы для таких устройств (если бы они это сделали, вла дельцами драйверов стали бы компании, которые владеют интерфейсами, что нарушило бы условия GPL). Компании, сделавшие интерфейсы своей собствен ностью, пишут собственные драйверы для операционных систем, таких как Mi crosoft Windows. Конечному пользователю (то есть вам) ничего не требуется знать об интерфейсе. К сожалению, это не дает возможности разработчикам Li nux писать драйверы для этих устройств.

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

Чаще всего нежелание публиковать детальные спецификации на новые модели

оборудования присуще производителям видеоадаптеров: к настоящему времени многие популярные и уже широко используемые модели видеоадаптеров так и не имеют доступной опубликованной спецификации. – Примеч. науч. ред.

То есть запатентовали саму спецификацию протокола. – Примеч. науч. ред.

Именно на этом пути в последние несколько лет достигнуты большие успехи: видя

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

Источники информации по Linux Источники информации по Linux Как вы, вероятно, догадываетесь, помимо этой книги существует масса источни ков информации о Linux.

Электронные документы При наличии выхода в Интернет через Web или с анонимных сайтов FTP, раз бросанных по всему свету, можно получить доступ к большому объему докумен тации по Linux. Даже при отсутствии прямого доступа к Интернету все же суще ствует возможность получить эти документы, поскольку многие дистрибутивы Linux, распространяющиеся на компакт дисках, содержат все необходимые до кументы, а кроме того, их часто можно купить в розницу.

В Интернете существует масса веб сайтов и FTP архивов с программным обеспе чением для Linux и сопутствующей документацией. В приложении перечислены некоторые источники информации о Linux, имеющиеся в Интернете.

Примерами существующих электронных документов о Linux могут служить: Li nux FAQ – сборник часто встречающихся вопросов о Linux; документы Linux HOWTO, каждый из которых описывает отдельный аспект системы, в том числе «Installation HOWTO» (установка), «Printing HOWTO» (печать) и «Ethernet HOWTO» (локальные сети). Linux META FAQ – список иных информационных ресурсов Linux в Интернете.

Кроме этого в Интернете можно найти целые веб сайты, содержащие разного ро да HOWTO, блоги, базы знаний, и форумы, которые предоставляют значитель ный объем информации, способный оказать помощь желающим пользоваться операционной системой Linux. Производители дистрибутивов поддерживают разнообразные списки рассылки и форумы, где обсуждаются, например, вопро сы, имеющие отношение к использованию Linux на ноутбуках или к настройке серверов сети. Такие веб сайты и каталоги списков рассылки во многом приняли эстафету от телеконференций Usenet, связанных с тематикой Linux. Подробнее о Usenet мы поговорим в разделе «Телеконференции Usenet» далее в этой главе.

Главная страница сервера Linux Documentation находится по адресу http:// www.tldp.org. Здесь можно найти большое количество HOWTO и других доку ментов, а также ссылки на другие сайты, интересные для пользователей Linux, в том числе на руководства из Проекта документирования Linux – Linux Docu mentation Project (подробнее об этом в следующем раздел).

Книги и другие печатные издания Существует великое множество печатных изданий, специально посвященных Linux. Помимо этого в Интернете можно найти большое число свободно распро страняемых книг, опубликованных проектом документирования Linux (Linux Documentation Project, LDP). Этот проект был создан в Интернете специально, чтобы создавать и распространять добротный набор руководств для Linux. Эти руководства являются аналогами комплектов документации, распространяе мых в составе коммерческих версий UNIX. Они охватывают полный спектр тем от установки Linux до ее использования, программирования, работы с сетями, разработки ядра и т. п.

54 Глава 1. Введение в Linux Руководства LDP можно получить через Web, а также заказать по почте из раз личных источников. Издательство O’Reilly опубликовало руководство «Linux Network Administrator’s Guide» из проекта LDP.1 Помимо растущего числа книг по Linux существует множество книг по UNIX, которые, конечно, применимы к Linux: в том, что касается использования и про граммирования системы, Linux в большинстве случаев не сильно отличается от других реализаций UNIX. Вооружившись несколькими хорошими книгами по UNIX и книгой, которую сейчас держите в руках, вы сможете справиться поч ти с любыми проблемами.

Существующие ежемесячные журналы, которые дают прекрасную возможность оставаться в курсе последних событий, происходящих в сообществе Linux, осо бенно это относится к «Linux Journal» и «Linux Magazine». Существуют печат ные издания, выходящие и на других языках, помимо английского. (Европей ские, южноамериканские и азиатские издания за последние несколько лет пере стали быть редкостью.) Телеконференции Usenet Usenet является всемирным форумом электронных новостей и дискуссий с боль шим количеством так называемых телеконференций – дискуссионных клубов, посвященных какой либо избранной теме. Значительная часть разработки Linux прошла по волнам Интернета и Usenet, и неудивительно, что существует такое количество телеконференций, посвященных Linux.

Телеконференций, посвященных Linux, слишком много, чтобы можно было здесь перечислить их. Те, которые непосредственно относятся к Linux, входят в иерархию comp.os.linux, но есть и другие по родственным темам, например comp.windows.x.

Списки рассылки в Интернете При наличии доступа к электронной почте можно принять участие в ряде спи сков рассылки. Спектр обсуждаемых в них тем простирается от программирова ния ядра до основных вопросов, возникающих у пользователей. Многие попу лярные почтовые списки имеют веб сайты, хранящие архивы, в которых можно вести поиск, что позволяет легко найти ответы на часто задаваемые вопросы.

Часть этих ресурсов перечислена в приложении.

Получение помощи В первую очередь следует упомянуть, что Linux имеет огромное сообщество сто ронников, которые сами нуждаются в помощи и готовы совершенно бесплатно предложить свою помощь. Яркий пример такого сообщества – Ubuntu (http:// www.ubuntulinux.org). Поддерживаемое коммерческой компанией Canonical Ltd., оно готово предложить недорогую профессиональную поддержку. Дистрибутив Олаф Кирк «Linux для профессионалов. Руководство администратора сети». – Пер. с англ. – СПб.: Питер, 2000.

Получение помощи Ubuntu имеет большое и сплоченное сообщество, готовое предоставить помощь.

Ubuntu, выросший из Debian, нанимает множество оплачиваемых разработчи ков, которые одновременно помогают поддерживать проект Debian.

Производители таких дистрибутивов, как Red Hat, Novell SUSE и Mandriva, обеспечивают весьма профессиональную поддержку своих собственных дистри бутивов на коммерческой основе.

Следуя концепции, изначально высказанной Бернардом Голденом (Bernard Golden), которую он назвал «Модель зрелости open source», компании, ведущие разработку Linux, демонстрируют свою конкурентоспособность, используя па радигму open source.

Они в состоянии обеспечить:

• Адекватную поддержку и обслуживание.

• Ведение новых разработок.

• Постановку целей дальнейшего развития своего продукта и их достижение.

• Широту функциональных возможностей и простоту в эксплуатации, особен но для промышленных ИТ специалистов.

• Устойчивость бизнес модели и возможность финансировать новые разработ ки с охватом новых для себя областей.

• Стройную и расширяемую экосистему партнерства, главная цель которой – достижение успеха клиентами.

Кроме того, эти компании участвуют в проектах сообщества, что предохраняет их от застоя.

Зрелые Linux компании предоставляют дополнительные коммерческие предло жения, включая обучение, продажи, техническую поддержку в формате 24 часа в сутки, 7 дней в неделю, 365 дней в году, компенсации и качественную доку ментацию.

В дополнение к уже упомянутым компаниям вы можете найти немало их дело вых партнеров, которые обладают серьезным опытом в обеспечении коммерче ской поддержки Linux. Их веб сайты содержат указания на своих партнеров, благодаря которым их легко можно отыскать и обратиться за помощью тем или иным способом.

Поскольку вы будете становиться все более подготовленными к работе с Linux, вероятно, вы обнаружите массу аспектов, способных приятно удивить. Многие не только используют Linux, но и считают сообщество своим домом. Удачи вам в будущем.

Подготовка к установке и установка Эта глава представляет ваш первый шаг в установке Linux. Мы расскажем, как получить программное обеспечение для Linux в виде одного из укомплектован ных дистрибутивов, как подготовить систему к установке, и как создать диско вые разделы для установки Linux на компьютере, где уже была установлена Windows или какая нибудь другая операционная система.

Как уже говорилось, не существует единого «официального» дистрибутива Li nux. На самом деле существует много дистрибутивов, каждый из которых слу жит определенной цели и набору задач. Эти дистрибутивы можно получить с ано нимного FTP сервера в Интернете, по почте в виде CD ROM или DVD либо купить в магазине.

Дистрибутивы Linux Поскольку Linux является свободно распространяемым программным обеспече нием, нет единой организации или лица, ответственного за ее выпуск и распро странение. Поэтому любой желающий может собрать вместе и распространять программное обеспечение Linux, если при этом не нарушаются ограничения, на кладываемые лицензией GPL (или других лицензий, которые могут использо ваться). Результатом такого положения дел является наличие большого количе ства дистрибутивов Linux, распространяемых через анонимные FTP серверы или по почте.

Теперь перед вами встает задача выбора дистрибутива, который наилучшим об разом подходит для ваших нужд. Между дистрибутивами существуют опреде ленные различия. Многие из них содержат практически все программы, кото рые нужны, чтобы установить полную систему, и даже больше. Другие дистри бутивы – «маленькие» и рассчитаны на пользователей со скромным объемом дискового пространства.

Нужно также учесть, что дистрибутивы могут быть нацелены на разные группы пользователей. Одни предназначены, скорее, для предприятий, другие – для ис пользования на домашних компьютерах. Одни более пригодны для установки на серверы, другие – для создания рабочих станций.

Дистрибутивы Linux Как сделать правильный выбор среди такого разнообразия дистрибутивов? Если у вас есть доступ к телеконференциям Usenet или другой системе конференций, можно спросить личное мнение тех, кто уже установил Linux. Еще лучше обра титься за помощью и советом к своим знакомым, уже установившим Linux.

На практике большинство распространенных дистрибутивов Linux содержит при мерно одинаковый набор программ, поэтому можно выбирать дистрибутив доста точно произвольно.

Особый интерес могут представлять дистрибутивы, не требующие установки и за пускающиеся прямо с компакт диска (так называемые live CD), такие как Knop pix (http://www.knoppix.org). Такие дистрибутивы после загрузки хранят всю информацию в оперативной памяти, но при этом имеют возможность обращать ся к жестким дискам и другой аппаратуре компьютера. Кроме того, они позво ляют опробовать дистрибутив без необходимости устанавливать его и служат прекрасным инструментом восстановления системы после фатального сбоя. Бо лее подробно о восстановлении системы мы поговорим ниже, в этой же книге.

Получение носителя с Linux по почте или иным образом При отсутствии высокоскоростного доступа к Интернету можно получить дист рибутив Linux, заказав CD ROM или DVD по почте. Многие компании, распро страняющие дистрибутивы, принимают кредитные карты и заказы из за рубе жа, поэтому существует возможность приобрести Linux вне зависимости от ва шего места жительства.

Linux является свободно распространяемым программным обеспечением, но со гласно GPL дистрибьюторы могут взимать за нее плату. Поэтому заказ Linux по почте может обойтись вам от 5 до 150 долларов США в зависимости от выбранно го дистрибутива. Однако, если у вас есть знакомые, которые приобрели или за грузили Linux, можно позаимствовать или скопировать их программное обеспе чение для собственного использования. Производители дистрибутивов не имеют права ограничивать лицензию или дальнейшее распространение программного обеспечения. Например, если вы намерены установить Linux на целую группу машин, достаточно будет приобрести одну копию дистрибутива, который можно использовать для установки Linux на все машины. Есть, впрочем, одно исключе ние из этого правила: чтобы повысить цену на свои дистрибутивы, некоторые по ставщики включают в него коммерческие пакеты, устанавливать которые на не скольких машинах может быть запрещено. В таких случаях пакет должен со держать явные указания на это.

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

Многие группы пользователей Linux предлагают свои дистрибутивы. Поинтере суйтесь, нет ли такой группы поблизости от вас. Для отдельных платформ, та ких как Alpha, получение дистрибутива Linux от группы пользователей будет наилучшим выбором.

58 Глава 2. Подготовка к установке и установка Получение Linux из Интернета Если у вас есть доступ в Интернет, проще всего будет загрузить Linux с аноним ного FTP сервера. Один из основных серверов FTP – ftp://ftp.ibiblio.org, здесь можно найти самые разные дистрибутивы в каталоге /pub/Linux/distributions.

Во многих странах существуют локальные зеркала этого сервера, откуда вы смо жете загрузить тот же самый дистрибутив значительно быстрее.



Pages:   || 2 | 3 | 4 | 5 |   ...   | 12 |



Похожие работы:

«ОБЪЯВЛЕНИЕ ОБ ЭЛЕКТРОННЫХ ЗАКУПКАХ СПОСОБОМ ЗАПРОС ЦЕНОВЫХ ПРЕДЛОЖЕНИЙ НА ПОНИЖЕНИЕ N:260970 1. "Электр желілерін басару жніндегі азастан компаниясы "KEGOC" (Kazakhstan Electricity Grid Operating Company) акционерлік оамы в лице Филиал акционерного общества Казахстанская компания по управлению электрическими сетями (Ka...»

«DMSBBBIH _110614 ПОЛИСНЫЕ УСЛОВИЯ страхования от несчастных случаев Утверждено приказом президента Закрытого акционерного общества "Страховая компания МетЛайф" 11 июня 2014 г. Данные Полисные условия составляют неотъемлемую часть Договора страхования и являются документом, связывающим стороны (здесь и далее – Страховател...»

«Программа по управлению границами в Центральной Азии BOMCA ЧТО ТАКОЕ BOMCA?Общая цель BOMCA: Содействовать в том, чтобы в Центральной Азии поэтапно внедрялись современные методы управления границей. Современные методы управления границей имеют две равнозначные цели: Повышенная безопасность г...»

«К.Сотникова, 836 группа ОСО АлтГУ Флэш–моб как инструмент рекламы и PR В последнее время в современном мире происходят глубинные социальные изменения, отражающиеся и на настроениях общественных масс. Общество всегда стремилось обнародовать свое отношение к тем или иным актуальным вопросам и проблемам соврем...»

«ISSN 2076-2429 (print) Праці Одеського політехнічного університету, 2012. Вип. 1(38) ISSN 2223-3814 (on line) В.Н. Тихенко, д-р техн. наук, доц., УДК 621.941.27.04:629.4.027.5 С.В. Пчелинский, специалист, Одес. нац. политехн. ун-т ПОВЫШЕНИЕ...»

«ПИЛА ЦИРКУЛЯРНА ІНСТРУКЦІЯ З ЕКСПЛУАТАЦІЇ Будь ласка, уважно прочитайте інструкцію перед експлуатацією даного пристрою ДПЕ-1800 мод. 1 ЗМІСТ ВСТУП 1. ОПИС СИМВОЛІВ 2. ПРАВИЛА БЕЗПЕКИ ПРИ РОБОТІ З ЦИРКУЛЯРНОЮ ПИЛОЮ.4 3. ОСОБЛИВІ ЗАСТЕРЕЖЕННЯ...»

«Выполнить мой Долг перед Богом Для носителей Священства Ааронова Выполнить мой Долг перед Богом Для носителей Священства Ааронова Интерактивную версию этого пособия, а также другие материалы в Интернете можно найти на сайте DutytoGod.lds.org. Издано Церковью Иисуса...»

«Стенограмма парламентских слушаний на тему "Актуальные проблемы использования, охраны, защиты и воспроизводства российских лесов и пути их решения" 12 декабря 2016 года М.П. ЩЕТИНИН Добрый день, уважаемые коллеги! Наши парламентские слушания проводятся в соо...»

«ДЕПАРТАМЕНТ ОБР АЗОВАН ИЯ ГОРОДА МОСКВЫ СЕВЕРО-ЗАП АДНО Е ОКРУЖНОЕ УПРАВЛЕН ИЕ ОБРАЗОВАНИЯ ДЕПАРТАМЕНТА ОБРАЗОВАНИЯ Г ОРОДА МОСКВЫ ПРИКАЗ 4 мая 2011 г. № 506 Об организации и проведении 5-ти дневных учебных сборов с юношами, обучающ...»

«ОБЪЯВЛЕНИЕ ОБ ЭЛЕКТРОННЫХ ЗАКУПКАХ СПОСОБОМ ЗАПРОС ЦЕНОВЫХ ПРЕДЛОЖЕНИЙ N:144599 1. в лице "Восточные МЭС" (наименование заказчика) объявляет о проведении электронных закупок способом запроса ценовых предложений Металлоизделия (наименование закупки) 2. Перечень лотов № Наименование Краткая Дополнительная Кол-во Ед. Пл...»

«инструкция по Индукционная эксплуатации варочная поверхность PVI 640 C Уважаемые господа! Доводим до Вашего сведения, что данное изделие сертифицировано на соответствие требованиям безопасности органом по сертификации промышленной продукции "РОСТЕСТ МОСКВА". Сведения о номере сертификата и сроке его действия Вы можете получить у...»

«106074114 Распылитель краски Top Shop Плюс Модель: JS-SN13A ИНСТРУКЦИЯ ПО ЭКСПЛУАТАЦИИ ПЕРЕД ЭКСПЛУАТАЦИЕЙ ПРИБОРА ВНИМАТЕЛЬНО ОЗНАКОМЬТЕСЬ С ИНСТРУКЦИЕЙ ПО ЭКСПЛУАТАЦИИ И СОХРАНИТЕ НА СЛУЧАЙ ВОЗНИКНОВЕНИЯ ВОПРО...»

«Анализ основной образовательной программы начального общего образования Структура основной образовательной программы начального общего образования МБОУ "Мендюкинская средняя школа" Целевой раздел 1. Пояснительная записка.2. Плани...»

«В ВВЕДЕНИЕ Актуальность темы. Овцеводство имеет важное народнохозяйственное значение. Она является источником сырья для шерстеперерабатывающей (шерсть, пух), меховой (смушки, овчины) и кожевенной промышленности. И...»

«МАРКЕТИНГ Март 2010 ГАЗЕТА 03.2010 То и дело повторяются Слова Христос воскрес!.Все друг другу улыбаются: Воистину воскрес! Мы вас с праздником божественным Поздравим от души! Настроением тор...»

«Стандартные курсы и сертификаты по кейв-дайвингу CMAS Под редакцией А. Соломатина, С. Андреева Стандартные курсы и сертификаты по кейв-дайвингу Кейв-дайвер 1 (каверн-дайвер) Каверн-дайвинг направлен на исследование...»

«Приказ комитета социальной защиты населения Волгоградской обл. от 19.02.2015 N (ред. от 30.10.2015) Об утверждении Порядка предоставления социальных услуг в полустационарной форме в отделениях (службах) срочного социального обслуживания Документ предоставлен КонсультантПлюс www.consultant.ru Дата сохранен...»

«ЕВРОПЕЙСКИЙ ИНФОРМАЦИОННЫЙ ЛИСТ СТАНДАРТНОЙ ИНФОРМАЦИИ О ПОТРЕБИТЕЛЬСКОМ КРЕДИТЕ Имя и контактные данные кредитора и при необходимости посредника в получении кредита 1. Кредитор Swedbank AS Адрес ул. Лийва...»

«ELECTRONIC ARTS ЛИЦЕНЗИОННОЕ СОГЛАШЕНИЕ С КОНЕЧНЫМ ПОЛЬЗОВАТЕЛЕМ ОБРАТИТЕ ВНИМАНИЕ: В РАЗДЕЛЕ 14 СОДЕРЖИТСЯ ПАРАГРАФ ОБ ОБЯЗАТЕЛЬНОМ АРБИТРАЖНОМ СУДЕ И ОТКАЗ ОТ ПРАВА НА КОЛЛЕКТИВНЫЕ ИСКИ. ЭТО ВЛИЯЕТ НА...»

«Пастор Николай Скопич Церковь Евангельских Христиан "Алмаз" "Духовная война христианина 18" "Духовное оружие христианина №8Молитва к Богу"1. Введение Мы продолжаем изучать тему "Духовная война христианина". Сегодня будет 18-я проповедь по этой теме и 84 проповедь по посланию Ефесянам. Посвящена сегодняшняя проповедь будет теме: "Духовное...»

«Сертификат соответствия № РОСС RU.AЯ41.В06178 Коммутатор PSW (узел оптический уличный) Руководство по эксплуатации Модель: PSW-1 Коммутатор PSW-1 по функциональности объединяет в одном корпусе: медиаконвертер, коммутатор, PoE инже...»

«128/2013-158962(1) Арбитражный суд города Санкт-Петербурга и Ленинградской области 191015, Санкт-Петербург, Суворовский пр., 50/52 http://www.spb.arbitr.ru ОПРЕДЕЛЕНИЕ г.Санкт-Петербург 30 апреля 2013 года Дело № А56-30441/2012/сд Резолютивная часть определения объявлена 26.04.2013. Определение в полном объеме изг...»

«Приложение к приказу Фонда социального страхования Российской Федерации от 9 марта 2017 г. № 83 ТЕХНОЛОГИЯ ПРИЕМА РАСЧЕТОВ СТРАХОВАТЕЛЕЙ ПО НАЧИСЛЕННЫМ И УПЛАЧЕННЫМ СТРАХОВЫМ ВЗНОСАМ В СИСТЕМЕ ФОНДА СОЦИА...»

«СИМВОЛИ БЕЗПЕКИ ТА ЗАСТЕРЕЖЛИВІ ЗНАКИ Прочитайте інструкцію по експлуатації перед початком роботи з пилою Оберігайте голову, очі та вуха Підчас пиляння тримайте пилу обома руками Обережно! Загроза зворотного удару Прочитайте, та виконуйте всі попередження наведені в інструкцій. Товар...»

«Отчет по оценке воздействия на социальную сферу Часть 1 Проект “Сахалин-2” Второй этап i С А Х А Л И Н Э Н Е РД Ж И • ОТ Ч Е Т П О О Ц Е Н К Е В О З Д Е Й С Т В И Я Н А С О Ц И А Л Ь Н У Ю С Ф Е Р У ii С А Х А Л И Н Э Н Е РД Ж И • ОТ Ч Е Т П О О Ц Е Н К Е В О З Д Е Й...»








 
2017 www.book.lib-i.ru - «Бесплатная электронная библиотека - электронные ресурсы»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.