Читаем Linux: Полное руководство онлайн бесплатно


Linux: Полное руководство

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

Серия: Полное руководство

Денис Николаевич Колисниченко , Питер В. Аллен

Компьютеры и Интернет / ОС и Сети, интернет / ОС и Сети
<p>Linux</p><p>Полное руководство</p><p>Введение</p><p>Об этой книге</p>

Все большую и большую популярность в России и во всем мире завоевывает Linux — UNIX-подобная операционная система для IBM-совместимых персональных компьютеров. Растет количество приложений, разработанных для нее. Постоянно расширяется круг задач, для которых она используется. Из операционной системы для программиста и администратора интернет-сервера она уже превратилась в реальную альтернативу ОС Windows в сфере домашнего и офисного применения.

Эта книга призвана помочь читателю освоить ОС Linux и научиться полноценно работать в ней. Я предполагаю, что читатель знает, с какой стороны подойти к компьютеру, умеет решать свои прикладные задачи, работая в среде Windows или хотя бы MS DOS, и хочет попробовать на практике операционную систему совсем другого класса, чтобы в дальнейшем, возможно, полностью «пересесть» на нее. Изложение материала происходит последовательно, начиная с этапа установки ОС и заканчивая советами по разработке собственных приложений. Знакомство с операционной системой — соперницей Windows начинается с описания прикладных программ, работающих под ее управлением и предназначенных для решения повседневных задач, стоящих перед пользователем домашнего компьютера: редактирование текста и изображений, работа в Интернете, проигрывание музыки и видео и т.п. Для облегчения перехода с Windows на Linux в конце книги приведена таблица соответствия популярных Windows-приложений приложениям Linux, разработанным для решения тех же задач. Далее в разделе для пользователя изложены основные сведения о внутренней организации Linux — ядре, файловой системе, процессах и демонах, их взаимодействии, — необходимые для настройки и базового администрирования системы, то есть обслуживания многопользовательской среды, установки программного обеспечения, обеспечения сохранности данных. Собственно сетевому администрированию, то есть настройке различных сетевых служб, посвящен второй раздел книги. И для читателей, знакомых с программированием в среде Windows, предназначен последний раздел, освещающий особенности разработки приложений в ОС Linux и некоторые полезные инструменты разработчика.

<p>Почему Linux?</p>

Устанавливая Linux, вы получаете множество преимуществ:

♦ Гибкость. Мало того, что практически все в Linux поддается настройке в соответствии с именно вашими задачами и оборудованием, так вам еще и становятся доступны исходные тексты ядра и приложений, и вы можете модифицировать систему так, как вам нужно. Такое можно встретить далеко не в каждой операционной системе, особенно семейства Windows. Вы видели где-нибудь исходные тексты хотя бы Блокнота Windows? Мне, например, очень не хватает функции замены текста в этом редакторе. Для решения этой проблемы я написал собственный редактор, в котором и реализовал эту функцию. А если мне нужно сделать небольшое изменение в ядре? Не буду же я полностью переписывать Windows? Остается только надеяться, что новая функция будет реализована в следующей версии, и ради этой единственной функции устанавливать «монстра», пожирающего еще больше системных ресурсов.

♦ Дешевизна. ОС Linux абсолютно бесплатна. Конечно, компакт-диски с дистрибутивами продаются за деньги, но эти деньги вы платите не за лицензию, а за сам носитель, подбор программного обеспечения на нем и программу-инсталлятор — все, как у пиратов, с той лишь разницей, что это: а) полностью легально, б) гарантированно работает и пользуется технической поддержкой. Вы можете и не покупать дистрибутив, а анонимно и бесплатно выкачать исходные тексты или уже собранные программы из Интернета, установив их самостоятельно и заплатив только за трафик — и это тоже полностью легально. Вам не придется ничего доплачивать, устанавливая Linux на каждый следующий компьютер, не нужно покупать отдельную лицензию на использование Linux на сервере. В любом случае стоимость всего программного обеспечения составит всего несколько долларов. Я не буду сравнивать стоимость построения Linux-сервера со стоимостью аналогичного сервера на платформе Microsoft, вы сами можете это сделать на сайте компании Microsoft.

♦ Простота обслуживания. Сама система и все службы настраиваются путем редактирования конфигурационных файлов. Это обычные текстовые файлы; зная их расположение и формат, вы сможете настроить любой дистрибутив, даже если у вас под рукой нет никаких инструментов, кроме текстового редактора. Кроме того, для облегчения перехода с ОС Windows NT/2000/2003 Server, где сервисы настраиваются в основном через графический интерфейс, создано множество графических конфигураторов, работа с которыми интуитивно понятна и позволяет сосредоточиться на сути выполняемых действий, а не способе их выполнить.

♦ Нетребовательность к ресурсам. Системные требования зависят от дистрибутива (конкретной реализации Linux) и версии ядра. Существуют дистрибутивы, специально созданные для корректной работы на старых и «бедных» машинах. Например, для организации интернет-сервера на базе дистрибутива Red Hat версии 5.2 вам вполне хватит компьютера с процессором Intel 80486DX и 32 мегабайтами ОЗУ. А окончательно устаревшую 386 машину, на которой никакая современная ОС Windows не запустится, под управлением Linux можно вернуть в строй в качестве маршрутизатора или брандмауэра.

В чем же причина того, что большинство пользователей до сих пор не рассматривают Linux как полноценную настольную операционную систему? Нет, не в том, что Linux так недружелюбен, как его малюют. И не в том, что под Linux нет ни офисных приложений, ни игр. И не в том, что Linux довольно долго имел проблемы с русским языком. Причина заключается в правильной маркетинговой политике Microsoft — нужно отдать ей должное. Совсем не обязательно создать лучший программный продукт, нужно убедить в том, что он лучше. Это я о Windows (про DOS я вообще молчу — урезанная версия XENIX, которая, в свою очередь является урезанной версией UNIX) — эта операционная система использовала UNIX-решения 20 летней давности, в то время как о существовании самой UNIX некоторые пользователи Windows 95 и не догадывались.

Задача этой книги — не только научить пользователей работать с Linux, но и развеять мифы о том, что это сложная и неподъемная система, предназначенная только для профессионалов. Если вы читаете эту книгу, то для себя данный миф вы уже почти разрушили. Осталось только чуть-чуть. Вам осталось узнать об истории создания и развития Linux. Ведь о развитии DOS и Windows знают все — об этом написано даже в школьных учебниках по информатике. А про Linux и UNIX в лучшем случае говорят: «Есть такая система».

<p>История Linux</p>Все началось с игры

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

В далеком 1965 году начались работы над созданием операционной системой MULTICS (MULTiplexed Information and Computing System) для компьютера GE-645 (об этом компьютере вы точно не прочитаете в школьном учебнике по информатике). Инициатором была компания Bell Laboratories (подразделение компании AT&T), а ее помощниками выступали не менее известные организации — General Electric и Массачусетский технологический институт (МТИ). Что же ожидали от MULTICS? Процессорное время GE-645 стоило очень дорого, поэтому нужна была система разделения процессорного времени, обеспечивающая высокую скорость обработки данных и их совместное использование. Посмотрите на рис. 1 — это система GE-645. Обратите внимание, какое помещение она занимает. А теперь вспомните процессор Intel 80386. К чему это я? Производительность GE-645 чуть выше, чем у процессора 80386. До чего техника дошла (кстати, «шла» она к этому лет эдак 20)!

Рис. 1. GE-645 © General Electric Information Systems Equipment Division, 1968

Операционная система Multics была запущена в 1969 году, но она не оправдала возложенных на нее надежд. Поэтому вскоре компания Bell Laboratories прекратила работу над этой системой. Коммерческого успеха эта система не принесла. Правда, для справедливости нужно отметить, что МТИ умудрился продать около 80 инсталляций этой системы, причем некоторые из них «дожили» до начала 90-х годов.

Но не бывает худа без добра. Multics послужила своеобразным толчком для создания новой операционной системы — UNIX.

Что же произошло в 1969 году, который считают годом рождения UNIX? Четыре сотрудника Bell Labs, а именно Руд Кенедей (Rudd Canaday), Дуг Мак-Илрой (Doug McIlroy), Дэннис Ричи (Dennis Ritchie) и Кен Томпсон (Ken Thompson) попытались возродить Multics. Все они ранее работали над проектом Multics и не смогли смириться с таким поворотом событий.

Прежде всего был разработан проект файловой системы — потом эта файловая система стала файловой системой UNIX. Кен Томпсон написал программы, эмулирующие работу файловой системы и режима подкачки. Получилось что-то вроде прототипа ядра новой системы. Это ядро было предназначено для GE-645.

А сейчас на арене появляется та самая игра — «Космическое путешествие», симулятор полета, написанный Кеном Томпсоном под Multics. Но после прекращения работы над Multics эту игру оказалось не на чем запускать. Обнаружив в углу лаборатории редко используемую машину PDP-7, Томпсон с Ричи решили переписать игру для нее. Переносить программу на перфоленте оказалось неудобно, и Томпсон разработал для PDP-7 файловую систему, утилиты для работы с файлами и командную оболочку. Все это писалось на машине GE и переносилось на PDP-7 на перфоленте, но, как только был закончен ассемблер для PDP-7, система встала на собственные ноги. Получилась новая операционная система для компьютера PDP-7, которую назвали, по аналогии с Multics, "UNICS" (UNiplexed Information and Computing Service). Такое название ей дал Питер Нейман (Peter Neumann). Кто же переименовал ее в UNIX, до сих пор не известно.

Рис. 2. PDP-7

В то время все программное обеспечение, том числе и операционные системы, писалось на машинно-зависимом языке (ассемблере), то есть если программа, например, написана для компьютера PDP-7, ее нельзя запустить на компьютере с другой архитектурой, например, на GE. Кен Томпсон задался целью сделать универсальную систему, которая могла бы работать на нескольких платформах, то есть создать переносимую, независимую от «железа» операционную систему. Для своей системы он начал разрабатывать язык В, на котором он хотел переписать всю систему. Но «до ума» этот язык довел Дэннис Ричи, обновленная версия языка стала называться С. Да, этот тот самый язык, на котором каждый из нас написал не одну программу. Сейчас мы подходим к созданию той идеологии UNIX'a, которая используется по сей день.

О работе над новой операционной системы руководство компании Bell Labs ничего не знало. Они думали, что ведущие программисты работают над системой обработки текстов для AT&T. Действительно, Томпсон написал строковый (не текстовый!) редактор ed, который присутствует до сих пор во всех современных дистрибутивах, а Ричи создал программу roff. Новые разработки понравились компании AT&T, которая была заинтересована в дальнейшем развитии проекта и приобрела новый компьютер — PDP-11. Для этого компьютера UNIX был полностью переписан: вся система, включая ядро, была написана на языке С, что позволило переносить систему на другие платформы. На ассемблере была написана только та часть ядра, которая была непосредственно связана с «железом». Это было в 1971 году.

Становление UNIX как операционной системы

Очень много новых функций в ядро системы было добавлено всего за один год — с 1971 по 1972. Система заметно «возмужала» по сравнению с 1969 годом. Теперь она действительно стала похожа на операционную систему. Но система не распространялась — ее использовало только одно подразделение AT&T, Первым шагом системы за пределы компании AT&T стала установка системы в компании New York Telephone. Система была установлена на компьютере PDP-11/20. обладавшем аж 56 килобайтами оперативной памяти и двумя жесткими дисками по 2,4 Мб каждый, С этого момента началось распространение системы.

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

Вот что писал Ричи о UNIX'e: "Мы хотели сохранить не только хорошую среду программирования, в которой можно было решать задачи, но и систему, вокруг которой могло сформироваться товарищество. Мы по опыту знали, что сущностью совместного использования компьютера (the essence of communal computing) является не только замена перфокарточного ввода на терминал, но и предоставление средств и стимулов для более тесного общения, реализуемого средствами удаленного доступа к машине, работающей в режиме разделения времени."

Летом 1974 года в журнале «Communications of the ACM» появилась первая статья о UNIX. Ее авторами были, как и следовало ожидать, Томпсон и Ричи. Они описывали общее устройство UNIX. В той же статье говорилось, что по состоянию на июль 1974 года система была установлена уже на 600 (!) компьютерах. Вы только вдумайтесь в цифру: количество инсталляций за год возросло более чем в 37 раз. Самое интересно, что система развивалась почти при полном отсутствии поддержки со стороны AT&T.

Похожие книги