Костромин Виктор Алексеевич
Шрифт:
которая означает, что на этом уровне запуска должен запускаться менеджер дисплея xdm.
Если вы решили запускать xdm при старте и хотите использовать, например, глубину цвета 24 бита на пиксел вместо применяемой по умолчанию 8 bpp (и ваша видеокарта и монитор поддерживают ее), вы должны изменить файл /etc/X11/xdm/Xservers (в нем всего одна строка) следующим образом:
Если вы установили KDE, то вместо xdm, вероятно, запускается kdm. После установки Black Cat Linux, например, строка в /etc/inittab, определяющая менеджер дисплея, имеет вид:
а /etc/X11/prefdm есть ссылка на /usr/bin/kdm.
Очень важное примечание:
Имейте в виду, что команда respawn в только что приведенной строке означает, что при попытках перезапуска системы будет происходить перезапуск менеджера дисплея. В частности, нажатие "магической" комбинации ‹Ctrl›+‹Alt›+‹Del› будет повторно запускать систему в той же конфигурации. Поэтому если вы после установки xdm будете как-то менять системные настройки и в результате ошибочных действий нарушите хрупкое равновесие системы X Window, вы попадете в очень затруднительную ситуацию. У меня, например, после одного из опытов с редактированием файла /etc/X11/XF86Config экран после загрузки стал черным и дальше компьютер ни на что не реагировал, кроме ‹Ctrl›+‹Alt›+‹Del›, а по этой комбинации происходила просто перезагрузка и выход в ту же ситуацию. На этот случай надо помнить, как перевести систему в однопользовательский режим, а прочитать об этом вы можете в следующей главе (точнее, в разд. 8.2).
Глава 8. Основы администрирования системы
Поскольку мы с самого начала считаем, что речь в книге идет о персональном компьютере, надо уделить некоторое внимание задачам администрирования системы. Ведь у вас не будет системного администратора, к которому можно обратиться, столкнувшись с какой-нибудь проблемой. Хочется только с самого начала напомнить, что, в большинстве случаев, для конфигурирования системы необходимо иметь права суперпользователя root.
И еще одно предварительное замечание, которое поможет вам легче понять и освоить принципы администрирования Linux: любые настройки этой ОС могут быть выполнены путем редактирования файлов сценариев (или скриптов) и конфигурационных файлов, которые читаются скриптами. Причем и те, и другие (т. е. и скрипты, и конфигурационные файлы) являются простыми текстовыми файлами. Конечно, в Linux существуют различные специальные утилиты конфигурирования и администрирования системы (типа linuxconf или printtool), однако результаты работы этих программ все равно записываются в тех же конфигурационных файлах. Образно выражаясь, про Linux (и UNIX вообще) можно сказать "это почти целиком обработчик текста". Если с самого начала помнить об этой особенности, можно значительно легче освоить вопросы системного администрирования Linux.
Кстати, если вы хотите облегчить себе работу по редактированию конфигурационных файлов, сразу после инсталляции ОС Linux установите программу Midnight Commander. Это существенно облегчит вам поиск и редактирование конфигурационных файлов, так как можно будет пользоваться встроенным редактором этой программы (не говоря уж о том, что поиск нужного файла тоже сильно облегчается).
8.1. Основные задачи системного администрирования. Процессы и их идентификаторы
К обязанностям системного администратора обычно относят следующие задачи:
• подключение и настройка аппаратных устройств;
• установка и обновление программного обеспечения;
• запуск и настройка общесистемных сервисов (конфигурирование системы);
• управление пользователями;
• управление процессами;
• распределение ресурсов;
• обеспечение безопасности.
Вопросы подключения и настройки аппаратных средств, а также процедуры установки и обновления программного обеспечения мы рассмотрим в двух последующих главах. Остальные задачи системного администрирования будут кратко рассмотрены в настоящем разделе. Начнем с рассмотрения того, как происходит процесс загрузки ОС. Дело в том, что этот этап во многом определяет режим последующей работы системы и ее конфигурацию. Если вы умеете влиять на процесс загрузки, значит, вы уже сможете добиться желаемой конфигурации системы после загрузки.
Но для понимания процедуры начальной загрузки необходимо иметь самое общее представление о том, что такое процесс в системе, поскольку это понятие будет постоянно использоваться в дальнейшем.
В самом первом приближении можно считать, что процесс - это загруженная в оперативную память программа. Но это не совсем точно, правильнее было бы сказать, что "процесс выполняет программу". Дело в том, что в Linux вначале запускается процесс, который загружает в оперативную память программу из указанного ему файла и начинает ее выполнять. Это означает, что каждый процесс должен быть запущен (как говорят - "порожден") каким-то другим процессом. То есть для каждого процесса однозначно определен его "родитель" (или "предок"), для которого данный процесс является "дочерним" (или "потомком"). Если вы хотите увидеть "дерево" запущенных в вашей системе процессов, выполните команду pstree. Вывод этой команды позволяет увидеть, что "отцом" всех процессов в системе (или "корнем дерева процессов") является процесс init, который первым запускается после загрузки ядра.
Каждый процесс в системе имеет уникальный идентификатор - PID, назначаемый процессу при запуске. Процесс с идентификатором 1 выполняет программу init. Именно по этим идентификаторам система различает процессы. Каждый запущенный процесс в любой момент времени находится в одном из следующих состояний: активен (R), приостановлен (T) или "спит" (S). Текущее состояние процесса называют статусом процесса.
Кроме идентификатора и статуса для каждого процесса в специальных структурах ядра сохраняются следующие данные (приводимый ниже перечень является далеко не полным):
• полная командная строка запуска выполняемой процессом задачи;
• информация об отведенном процессу адресном пространстве;
• ссылка на текущий рабочий каталог и корневой каталог процесса (последний служит для ограничения доступа процесса к файловой структуре);
• таблица открытых процессом файлов;
• так называемое окружение процесса, т. е. перечень заданных для данного процесса переменных с их текущими значениями;
• атрибуты, определяющие права и привилегии процесса, таблица обработчиков сигналов;