Книга содержит всеобъемлющее справочное руководство по настройке и эффективному управлению Unix-системой. В книге изложен практический опыт повышения эффективности работы Unix-систем в различных конфигурациях, от рабочей станции до сервера баз данных и приложений. Кроме того, приведены квалифицированные советы, связанные с Linux, BSD и другими продуктами с открытым исходным текстом, руководство по установке домашней Unix-системы, углубленное рассмотрение вопросов, связанных с аппаратными требованиями и сетевыми соединениями и многое другое.
Книга может использоваться в качестве руководства как для начинающих, так и для опытных системных администраторов Unix-систем.
Операционная система Unix ведет свое происхождение от разработанной Ф. Корбато (F. Corbato) из Массачусетсского технологического института (MIT) в начале 1960-х годов системы CTSS (Comprehensive Time-Sharing System - Система с комплексным разделением времени). Оценив преимущества многопользовательской многозадачной системы, компании General Electric, AT&T Bell Labs и MIT начали проект, названный Multiplexed Information and Computing Service (Мультиплексированный информационный и вычислительный сервис, MULTICS) для создания подобной системы, способной работать на системах GE635. В феврале 1969 года проект сильно запаздывал по сравнению с графиком, поэтому компания AT&T решила отказаться от участия в нем, а коллектив ее сотрудников, вовлеченных в проект MULTICS, начал работу над другими проектами.
В начале лета 1969 года Руд Кенедей (Rudd Canaday), Дуг Мак-Илрой (Doug McIlroy), Дэннис Ричи (Dennis Ritchie) и Кен Томпсон (Ken Thompson) подробно обсудили, что можно сделать для спасения некоторых идей, связанных с проектом MULTICS, и начали собственное исследование. В августе того же года, обнаружив в шкафу неиспользуемый компьютер DEC PDP-7, Томпсон пишет операционную систему, оболочку, редактор и ассемблер, потратив по неделе на каждую из составляющих. После обработки набросков замысла в офисе Кенедея, Томпсон воплотил его в PDP-7. Питер Нейман (Peter Neumann) назвал новую систему Uniplexed Information and Computing Service (UNICS, игра слов с "обессилевшим" MULTICS). Неизвестно, кто изменил написание названия системы на UNIX, затем и на более привычное Unix.
Летом 1970 года Д. Ричи и К. Томпсон (с помощью Джо Оссанны (Joe Ossanna) и Ли Мак-Махона (Lee McMahon)) приобретают PDP-11/20, обещая создать "систему обработки текстов". Томпсон пишет строчный редактор (названный ed). Ричи пишет roff (основанный на программе runoff Дж. Салцера (J. Saltzer)). Отдел патентов компании Bell Labs был удовлетворен. Через несколько месяцев он вступил во владение PDP-11/20 и купил модель 11/45 для вычислительных исследований.
Между 1970 и 1972 годами систему улучшали, в нее добавили много новых функций. Но использование системы Unix было ограничено узлами компании AT&T в Нью-Джерси до тех пор, пока Нейл Граундвотер (Neil Groundwater), только что прибывший из Пенсильвании, не установил систему Unix в компании New York Telephone в Манхеттене, использовав при этом систему PDP-11/20, 56 Кбайт оперативной памяти и два жестких диска RK11/05 объемом 2,4 Мбайт. В течение следующего года все больше и больше членов вычислительного сообщества узнавали об операционной системе Unix, и многие запрашивали данную систему. Но компания AT&T оказалась в затруднительном положении. Она не могла заниматься бизнесом, не связанным с телефонной или телеграфной индустрией, поэтому компания решила отдать систему Unix за номинальную стоимость университетским исследовательским центрам на следующих условиях:
Без рекламы
Без поддержки
Без исправления ошибок
Оплата авансом
После того как система Unix оказалась в руках университетских исследовательских центров, сообщество пользователей ОС Unix образовало единое целое и стало расти. В феврале 1973 года существовало 16 установленных систем Unix. В октябре того же года Д. Ричи и К. Томпсон организовали первую презентацию "Операционной системы Unix" на симпозиуме ACM (Association for Computing Machinery, Ассоциация машинных вычислений) по операционным системам. В течение шести месяцев число установленных систем Unix утроилось. В июле 1974 года в журнале Communications of the ACM вышла статья Д. Ричи и К. Томпсона. Но еще перед этим событием несколько пользователей сплотились в группу.
В мае 1974, еще до публикации статьи, Лоу Кац (Lou Kats), Мел Ференц (Mel Ferentz) и Рейдар Бонхолт (Reidar Bornholt) организовали первую встречу пользователей системы Unix в Columbia University's College of Physicians and Surgeons. На встрече присутствовало примерно две дюжины одержимых из дюжины учреждений. Вторую встречу, в июне 1975 года, посетило уже свыше 40 человек из 20 учреждений. Использование системы Unix постоянно росло, несмотря на отсутствие интереса и поддержки со стороны компании AT&T.
В это время в Нью-Джерси положение также изменялось. В 1971 году Дуг Мак-Илрой настоял на том, чтобы Д. Ричи и К. Томпсон написали руководство программиста. Поскольку система Unix постоянно изменялась, версии этой системы называются именно по этим руководствам пользователя: первое издание - 1971 год, второе издание - 1972 год, третье издание - февраль 1973 года, четвертое издание - 1973 год, пятое издание - 1974 год, шестое издание -1975 год, седьмое издание -1979 год, восьмое издание - 1985 год, девятое издание - 1986 год и десятое издание - 1989 год.
Именно о четвертом издании Unix говорили Томпсон и Ричи на презентации в октябре 1973 года. Поскольку система была легкодоступной и компания AT&T не собиралась помогать пользователям, пользователи сами встречались, чтобы оказать друг другу помощь, а некоторые из них работали над развитием дополнительных полезных функций. Калифорнийский университет в Беркли (UCB) стал центром подобных усовершенствований.
Профессор Роберт Фабри (Robert Fabry) из этого университета принимал участие в программе симпозиума SOSP (Symposium on Operating Systems Principles) и был очарован презентацией Томпсона. Он собрал достаточно средств для приобретения PDP-11/45 и в январе 1974 года установил систему Unix. В 1975 году тот же университет заказывает PDP-11/70. В то же время Кен Томпсон отправляется в годичный отпуск и посещает Калифорнийский университет, при этом в туда же прибывают два новых аспиранта - Чак Хели (Chuck Haley) и Билл Джой (Bill Joy). Они были очарованы придуманной Томпсоном модификацией языка Pascal; Pascal Томпсона мог работать в операционной системе Unix. Джой также написал строчный редактор, который был "добрее к пользователю", чем редактор ed. Редактор Джоя получил название ex, и стал прообразом экранного редактора vi.
В начале 1978 года, после нескольких заявок, полученных отделом разработок UCB, Джой начал создание дистрибутива программ Беркли (Berkeley Software Distribution - BSD). Первая лента (360 метров, 800 bpi (бит на дюйм), стоимостью примерно $50), содержала систему Pascal для Unix и текстовый редактор ex; распространено около 30 копий. До конца 1978 года распространялся другой пакет - 2BSD; отправлено около 75 копий. Приблизительно в то же время компания Interactive Systems (Питер Уэйнер (Peter Weiner) и Гейнц Ликлама (Hienz Lycklama)) выпускает первую коммерческую систему Unix, а компания Whitesmiths (П. Дж. Плогер (P. J. Plauger)) создает первый клон системы Unix, названный Idris.
Седьмое издание (или версия 7) Unix было одной из важнейших версий. Это была первая переносимая операционная система. Она содержала команды awk, make и uucp; полные компиляторы языка С, сделанные Б. Кернигеном (B. Kernighan) и Д. Ричи; оболочку Bourne; команды find и cpio и многое другое. Правда, производительность всего этого была, тем не менее, хуже, чем в системе шестого издания. Пришлось заняться новой работой, и в январе 1982 года Том Феррин (Tom Ferrin) объявил о многочисленных сделанных усовершенствованиях и выпуске в свет модели 2.8.1BSD. Эти усовершенствования были проведены в университете UCB (и других местах в США) и в Австралии. Версия 7 также дала начало первой 32-разрядной версии системы Unix и демонстрации переносимости: Дэннис Ричи и Стив Джонсон (Steve Johnson) из компании AT&T перенесли ее в систему Interdata, а группа программистов из австралийского университета University
of Wollongong перенесла ее на систему Interdata 8.
Было ясно, что юридический отдел компании AT&T даже и не представлял, что может получиться в результате их политики "без поддержки": пользователи стали связываться друг с другом для создания новых программ и отладки программ, созданных компанией Bell Labs. А когда систему Unix признали самой предпочтительной для новой Internet, это усилило ее использование. Компания AT&T произвела на свет операционную систему Programmer's Workbench (рабочее место программиста), а затем System III Unix. Тем временем из Беркли начинают распространяться версии 4BSD (октябрь 1980); 4.1BSD (июнь 1981); 4.1а, 4.1b и 4.1c (1982-1983); 4.2BSD (сентябрь 1983). Эта последняя версия была действительно сильно переработанной системой. Она включала работу с сетью (протокол TCP/IP), более быструю файловую систему и возможность использования сигналов.
Последней версией UCB была версия 4.4BSD (июнь 1993) выпущенная в феврале 1994 года компанией BSDI (Berkeley Software Design, Inc) после судебного процесса. Университетские разработки системы Unix прекращены, и последующее развитие BSD Unix происходит теперь от компании BSDI.
Компания AT&T передала все права на систему Unix в собственную лабораторию Unix System Laboratories (USL), которая, в свою очередь, продала права компании Novell, Novell продала их компании Santa Cruz Operation (SCO). На момент выхода книги в печать SCO продавала переработанную и исправленную систему SVR4. Операционная система Linux является клоном BSD, созданным Линусом Торвальдсом (Linus Torvalds) в 1991 году .
Таким образом, существует два основных и не сильно отличающихся типа систем Unix. Один тип происходит от версий 4.2, 4.3 или 4.4BSD, другой тип основан на системах SVR3 или SVR4. (Версия SVR4 больше похожа на 4.4BSD, чем SVR3 на версию 4.3.) Эта книга охватывает как системы BSD, так и системы, происходящие от System V версий ОС Unix.
Быстрее всего определяется, к какому классу относится ваша система, с помощью команды для печати. Если вы для печати используете команду lp, то ваша система относится к производным от AT&T-систем, если вы используете команду lpr, то ваша система относится к типу BSD. (Если вы работаете с OSF/1 или HP-UX, можно использовать обе эти команды.)
Пусть данный момент вас не смущает. Хотя и существуют различия между двумя основными типами систем Unix, практически все пользовательские команды идентичны во всех версиях. Используете ли вы AIX, BSD, Chorus, HP/UX, Irix, Linux, SINIX, Solaris, SunOS, SVR4 или Ultrix - все это система Unix.
Питер Салус (Peter H. Salus)
СТРУКТУРА ДАННОЙ КНИГИ
Книга состоит их семи частей и трех приложений.
Часть I. Основы Unix
Это вводная часть в основы ОС Unix и предлагаемые системой сервисы. В главах части I обсуждается строение ОС Unix, включая использование дискового пространства, работу файловой системы, дебри ядра ОС Unix, использование модульных драйверов для управления периферийными устройствами, управление процессами ОС Unix и взаимодействие процессов. В части I также рассматриваются оболочки ОС Unix и свойства оболочки, которые вы можете использовать для более продуктивной работы сложных программ. Наконец, в данной части вы узнаете, как ОС Unix облегчит вашу жизнь пользователя или системного администратора.
Часть II. Внутри ОС Unix
В главах части II книги приведен обзор настроек и выбора конфигурации ядра ОС Unix; обсуждение основ файловой системы Unix и стратегий разбиения диска, применяемых для различных вариантов использования машины с ОС Unix; введение в работу с сетью под ОС Unix; расширенное обсуждение работы с сетью, включающее более глубокое рассмотрение работы с протоколом TCP/IP.
Часть III. Рабочая станция Unix
В главах части III книги обсуждается система X Window - действенный механизм, обеспечивающий простой для использования графический интерфейс пользователя в вашей системе Unix. Изучаются различия между рабочей станцией и сервером; уроки настройки и запуска системы X Window в вашей системе Unix. Кроме того, обсуждается, как получить функциональный графический интерфейс, подобный Windows 9x, в рабочей станции Unix (Linux), и описывается настройка доступа в Internet с рабочей станции Unix с помощью обычного модема и протокола PPP.
Часть IV. Unix-серверы
В этой части книги проводится анализ административных ролей и стратегий, которых вы можете придерживаться, в зависимости от набора сервисов, предоставляемых вашей системой Unix; приводятся подробности регламентных работ для серверов под ОС Unix; обзор различных систем управления базами данных и ключевых вопросов, касающихся конфигурирования и управления ими.
Часть V. Общие вопросы системного администрирования
Главы части V книги описывают основные функции системы Unix и соответствующие задачи управления системой; конфигурирование и управление стандартными сервисами ОС Unix; предотвращение катастроф в системе; интеграция вашей системы в разнородную среду; реализация системы безопасности Unix; обнаружение и устранение неисправностей в сети.
Часть VI. Упреждающее администрирование Unix-сервера
В главах части VI книги обсуждаются методы сбора данных о работе системы, способы их представления и анализа, а также технические приемы управления системой.
Часть VII. Система Unix и Internet
В части VII представлены подробности управления Internet-серверами, включая управление трафиком электронной почты и управление серверами, обеспечивающими WWW-сервис. В данной части также объясняется, как работают DNS (Domain Name Service, сервис имен доменов) и электронная почта, как передать файлы через Internet, различные способы использования HTTP-серверов в сети. Также вы прочитаете о группах новостей Usenet, о достоинствах и недостатках связи через Internet с точки зрения системного администратора, а также о многочисленных коммерческих и свободно распространяемых сервисных программах, обеспечивающих расширенные функции для обеспечения работы сети в масштабе предприятия.
Приложения
Книга завершается описаниями нескольких средств, способных помочь вам как системному администратору Unix.
Приложение А приводит удобное соответствие команд DOS командам Unix. Вам это окажется полезным, если вы хорошо знакомы с интерпретатором команд MS DOS.
Приложение Б - справочник по стандартному текстовому редактору vi, включенному фактически во все версии Unix. Знать vi хотя бы на элементарном уровне обязательно для каждого системного администратора. Таким образом, данное приложение поможет вам начать изучение vi, если вы с ним еще не знакомы.
В Приложении В приведен список некоторых полезных программ, а также указано, где найти их самые свежие версии.
ВВЕДЕНИЕ
Одно время операционная система Unix использовалась преимущественно в учебных заведениях и исследовательских институтах. Но в последнее время система Unix стала применяться в самых различных отраслях, поскольку многие приложения работают с данной системой. В качестве операционной системы Unix и подобные ей системы получили распространение в корпоративной среде; ее устойчивая работа в сети, богатый выбор инструментария, многозадачные многопользовательские возможности во многих случаях сделали ее предпочтительной операционной системой для приложений, требующих повышенной надежности. Корпоративные офисы - некогда область безраздельного господства централизованных систем коллективного пользования - уступили место новейшим, более гибким технологиям. Internet и сети в общем основательно изменили направление нашей работы. Децентрализация облегчила доступ и работу с данными, обеспечивая инструмент
для лучшего выполнения нашей работы. Unix внесла свой вклад во многие новшества и, несомненно, будет продолжать это де
Исходная цель данной книги - обеспечить вас базовыми знаниями для работы и администрирования систем под ОС Unix. В то же время в книгу включено много общей информации, показавшейся нам полезной для большего, чем простое администрирование сети, поэтому объем книги был расширен за счет нескольких новых глав, которые, надеемся, будут полезны более широкому кругу читателей. Сейчас есть много различных публикаций по ОС Unix, но большинство из них рассматривают довольно ограниченный круг вопросов. Они хороши для специализированной информации о конкретных сервисах и различных аспектах ОС Unix, но, если вы только начинаете работать с Unix, появляется законный вопрос: с чего начинать? В данной книге мы попытались прояснить смысл ОС Unix и показать все основные аспекты работы с данной операционной системой, давая вам возможность увидеть полную картину того, как Unix работает и как заставить ее работать
на вас.