Шрифт:
В большинстве первых глав (кроме главы 2) активно задействовано ядро системы Linux, но по мере продвижения по книге вы будете работать и в своем пространстве пользователя. Если вы не понимаете, о чем я сейчас говорю, не беспокойтесь, объяснения будут даны в главе 1.
Материал излагается по возможности без привязки к какому-либо дистрибутиву системы. Было бы скучно описывать все варианты системы, поэтому я попытался рассказать о двух основных семействах дистрибутивов: Debian (включая Ubuntu) и RHEL/Fedora/CentOS. Упор сделан на серверные версии и версии для рабочих станций. Представлены также внедренные системы, например Android и OpenWRT, но изучение отличий этих платформ предоставляется вам.
Что нового во втором издании
Первое издание этой книги касалось главным образом пользовательской стороны работы в системе Linux. Основное внимание было уделено устройству ее частей и тому, как заставить их функционировать. В то время многие элементы системы было трудно установить и корректно настроить.
Благодаря упорному труду разработчиков ПО и создателей дистрибутивов Linux ситуация изменилась. Я пересмотрел материал первого издания в поисках обновлений: особое внимание уделил процессу загрузки системы и тому, как она управляет оборудованием, а также удалил устаревший материал (например, подробное объяснение процесса печати), чтобы расширить рассмотрение роли ядра системы Linux в каждом дистрибутиве. Вы, вероятно, взаимодействуете с ядром гораздо чаще, чем сами об этом догадываетесь, и я специально отметил моменты, когда это бывает.
Я также изменил последовательность подачи материала в книге, чтобы он соответствовал интересам и потребностям современных читателей. Единственное, что не изменилось, — это объем книги.
Мне хотелось снабдить вас сведениями, которые понадобятся для быстрого начала работы. Их усвоение потребует некоторых усилий, однако я не намереваюсь делать из вас «тяжелоатлетов», чтобы вы смогли одолеть эту книгу. Когда вы будете понимать важнейшие моменты, изложенные здесь, для вас не составит труда отыскать подробности и разобраться в них.
Я изъял некоторые исторические детали, которые были в первом издании, главным образом чтобы сконцентрировать ваше внимание. Если вы интересуетесь системой Linux и ее отношением к истории системы Unix, обратитесь к книге Питера Салуса (Peter H. Salus) The Daemon, the Gnu, and the Penguin (Reed Media Services, 2008) — в ней рассказано о том, как развивалось используемое нами программное обеспечение.
Примечание о терминологии
В настоящее время ведутся споры о наименованиях некоторых элементов операционных систем. В них вовлечено даже само название системы Linux — как она должна называться: Linux или же GNU/Linux (чтобы отразить применение некоторых элементов проекта GNU)? В книге я старался использовать самые употребительные и по возможности наименее громоздкие названия.
Благодарности
Благодарю всех, кто помогал мне в работе над первым изданием. Это Джеймс Дункан (James Duncan), Дуглас Н. Арнольд (Douglas N. Arnold), Билл Феннер (Bill Fenner), Кен Хорнстайн (Ken Hornstein), Скотт Диксон (Scott Dickson), Дэн Эрлих (Dan Ehrlich), Феликс Ли (Felix Lee), Скотт Шварц (Scott Schwartz), Грегори П. Смит (Gregory P. Smith), Дэн Салли (Dan Sully), Кэрол Джурадо (Karol Jurado) и Джина Стил (Gina Steele). В этом издании я особо признателен Жорди Гутьеррес Хермозо (Jordi Gutierrez Hermoso) за превосходное техническое рецензирование; его предложения и уточнения неоценимы. Спасибо также Доминику Пулэну (Dominique Poulain) и Дональду Кэрону (Donald Karon) за быстрый отклик на ранних стадиях работы, а также Синьчжу Шей (Hsinju Hsieh), который терпеливо работал со мной над переделкой этой книги.
Я хотел бы также поблагодарить своего редактора по развитию Билла Поллока (Bill Pollock) и выпускающего редактора Лорел Чан (Laurel Chun). Серена Янг (Serena Yang), Элисон Ло (Alison Law) и все сотрудники издательства No Starch Press, как обычно, замечательно выполнили свою работу при подготовке нового издания книги.
От издательства
Ваши замечания, предложения и вопросы отправляйте по адресу электронной почты sivchenko@minsk.piter.com (издательство «Питер», компьютерная редакция).
Мы будем рады узнать ваше мнение!
На сайте издательствавы найдете подробную информацию о наших книгах.
1. Общая картина
На первый взгляд современная операционная система, например Linux, является достаточно сложной и состоит из большого количества частей, которые одновременно функционируют и взаимодействуют друг с другом. Так, веб-сервер может обмениваться данными с сервером базы данных, который, в свою очередь, использует совместную библиотеку, применяемую многими другими программами. Как же все это работает?
Наиболее эффективно понять устройство операционной системы можно с помощью абстракции — изящного способа сказать о том, что вы игнорируете большинство деталей. Например, когда вы едете в автомобиле, вам, как правило, не приходится задумываться о таких деталях, как крепежные болты, которые удерживают двигатель внутри машины, или же о людях, проложивших дорогу и поддерживающих ее в хорошем состоянии. Если вы едете в машине как пассажир, вам нужно знать лишь то, для чего предназначен автомобиль (он перемещает вас куда-либо), а также некоторые элементарные правила его использования (как обращаться с дверью и ремнем безопасности).