# Руководство &ksysv;

Peter
Putzer

    putzer@kde.org

Олег
Баталов

     batalov@twiga.kz

Перевод на русский
2001-03-21
1.03.06
1998
2000
2001
Peter Putzer
&FDLNotice;

&ksysv; - графический редактор для конфигурации загрузки типа SysV.

KDE
KSysV
Runlevel
Runlevel editor
System V init

## Введение

Добро пожаловать в Редактор System V Init для &kde;, известный (в дальнейшем упоминаемый) как &ksysv;. Этот раздел вводит несколько понятий и объясняет что вы можете делать с помощью &ksysv;.

## Краткое описание System V Init

Следующее объяснение заимствовано из tksysv (пример для &ksysv;):

System V init быстро становится стандартом для мира &Linux;, для управления запуском программ во время загрузки. Из за того что это является более лёгким в использовании и более мощным и гибким чем традиционный BSD init.

Я не буду описывать здесь историю (главным образом, из за того что я её не знаю :-).

Двоичный файл init расположен в `/sbin` а не в `/etc`. Это важно поскольку возможно модернизировать машину до System V init без переустановки и переформатирования. Ядро &Linux; ищет init сначала в `/etc`, так что вы должны убедиться и удалить старый init в этом каталоге.

SysV init также отличается от BSD init тем что файлы конфигурации в подкаталогах `/etc` вместо того чтобы находиться непосредственно в каталоге `/etc`. Этот каталог называется `rc.d`. Здесь вы можете найти `rc.sysinit` и следующие каталоги:

- `init.d/`

- `rc0.d/`

- `rc1.d/`

- `rc2.d/`

- `rc3.d/`

- `rc4.d/`

- `rc5.d/`

- `rc6.d`

`init.d` содержит набор сценариев. В основном вам необходим один сценарий для каждой службы, которую вам возможно необходимо запускать во время загрузки либо при переходе на следующий уровень выполнения. Службы - вещи типа NFS, &Sendmail;, httpd,&etc; Службы не включают вещи подобно `setserial`, который выполняется один раз и затем завершается. Подобные вещи должны включаться в файл `rc.local`.

`rc.local` должен находиться в `/etc/rc.d` если он необходим. Большинство систем используют его даже если он ничего не выполняет. Вы также можете поместить в `/etc/rc.d` файл `rc.serial` если вам необходимо выполнить определённый действия с последовательным портом во время начальной загрузки.

Цепочка событий следующая:

1. Ядро проверяет несколько мест и запускает первый попавшейся файл init.

2. init запускает `/etc/rc.d/rc.sysinit`.

3. `rc.sysinit` набор необходимых действий, и если необходимо запускает `rc.serial` (если он существует)

4. init запускает `rc.local`

5. init запускает все сценарии для текущего уровня выполнения

Уровень выполнения по умолчанию определён в `/etc/inittab`. У вас должна быть ближе к началу файла строка типа:

    id:3:initdefault:

Из этого, как вы видите во втором столбце уровень выполнения по умолчанию - 3 как должно быть для большинства систем. Если вам необходимо изменить его, вы можете отредактировать файл `/etc/inittab` вручную и заменить 3. Будьте очень осторожны когда изменяете inittab. Если вы сделали это неверно вы можете перезапустить систему и сделать:

    LILO boot: linux single

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

Теперь, как это позволяет выполнять правые сценарии? Если вы выполняете ``ls` `-l`` в каталоге `rc3.d`, вы должны увидеть подобное следующему:

    lrwxrwxrwx 1 root root 13 13:11 S10network -> ../init.d/network
    lrwxrwxrwx 1 root root 16 13:11 S30syslog -> ../init.d/syslog
    lrwxrwxrwx 1 root root 14 13:32 S40cron -> ../init.d/cron
    lrwxrwxrwx 1 root root 14 13:11 S50inet -> ../init.d/inet
    lrwxrwxrwx 1 root root 13 13:11 S60nfs -> ../init.d/nfs
    lrwxrwxrwx 1 root root 15 13:11 S70nfsfs -> ../init.d/nfsfs
    lrwxrwxrwx 1 root root 18 13:11 S75keytable -> ../init.d/keytable
    lrwxrwxrwx 1 root root 23 13:11 S80sendmail -> ../init.d/sendmail.init
    lrwxrwxrwx 1 root root 18 13:11 S90lpd -> ../init.d/lpd.init
    lrwxrwxrwx 1 root root 11 13:11 S99local -> ../rc.local

Вы обратили внимание что в каталоге не существует никаких реальных файлов. Всё здесь - это ссылки на соответствующие сценарии в каталоге `init.d`.

Ссылки также имеют в начале `S` и номер. `S` означает что сценарий должен быть запущен, а `K` означает остановку его. Номер необходим для сортировка порядка запуска сценариев. Init запускает все службы в порядке их сортировки. Вы можете дублировать номера, но это только может немного вас запутать. Вы должны использовать два одинаковых номера только, совместно с верхним регистром `S` или `K` для запуска или остановки служб, которые вам необходимы.

Как это запускает и останавливает службы? Просто. Каждый из сценариев написан для принятия аргумента который может быть либо `start` , либо `stop`. Фактически вы можете запускать эти сценарии вручную командой типа:

    /etc/rc.d/init.d/httpd.init stop

Для остановки сервера httpd. Init просто читает имя и если оно начинается с `K`, запускает сценарий с аргументом `stop`. Если оно начинается с `S` запускает сценарий с аргументом `start`.

### Для чего все эти уровни выполнения?

Некоторые люди хотят иметь простой способ настройки компьютеров для многоцелевого использования. Я могу иметь уровень выполнения сервер, который выполняет только httpd, sendmail, networking, &etc; Также я могу иметь уровень выполнения пользователь на котором выполняется kdm , networking, &etc;

## Элементы экрана

Здесь вы узнаете как использовать &ksysv;, который не должен быть труден для понимания, так как он был разработан с целью быть максимально дружественным к пользователю.

### Мышь

Использование в &ksysv; мыши или другого координатного устройства достаточно легко: просто перетащите запись из области Доступных служб в один из семи уровней выполнения для запуска (либо остановки) его на этом уровне выполнения.

Перетаскиванием вы также можете перемещать сценарии между уровнями выполнения, и изменять их позицию в текущем уровне выполнения. Это удаляет его запись с предыдущего уровня выполнения (или позиции). Это не происходит если вы перетаскиваете запись из области Доступных служб.

Записи перемещаются, когда вы перетаскиваете их в новую область. Для копирования службы на другой уровень выполнения, вам необходимо выбрать выбрать в меню Правка или контекстном меню пункт Копировать и Вставить на уровне выполнения в который копируете.

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

Порядковый номер может быть в диапазоне от 00 до 99, но не выше.

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

В настоящее время нет никакого способа восстановить элементы перемещённые в мусорную корзину , так что будьте внимательны!

### Клавиатура

Вы можете использовать клавишу Tab для переключения фокуса между различными панелями (Доступные службы, Уровень запуска 1 Запустить , Уровень запуска 1 Стоп, &etc;) и клавиши курсора для перемещения выбора вверх и вниз.

Для перемещения элемента на другой уровень выполнения, Вырезать его в буфер обмена (используя &Ctrl; X ) и Вставить его в уровень выполнения назначения (с помощью &Ctrl; V).

Для ручного изменения порядка сортировки элементов или их имён, нажмите клавишу Enter чтобы открыть диалог свойств. Используйте клавишу Tab для переключения между различными полями. Закройте диалог нажатием клавиши Enter для принятия изменения или клавишей Esc для их отмены.

### Пункты меню

Подробное описание меню &ksysv;.

#### Меню Файл

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

Файл Восстановить исходную конфигурацию...

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

&Ctrl; O Файл Открыть...

  Открыть предварительно сохранённую конфигурацию.

&Ctrl; S Файл Сохранить конфигурацию

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

Файл Сохранить как...

  Сохранить копию вашей новой конфигурации.

&Ctrl; L Файл Сохранить журнал...

  Сохранить журнал

&Ctrl; P Файл Печать журнала...

  Распечатать копию журнала.

&Ctrl; Q Файл Выход

  Выход из &ksysv;.

#### Меню Правка

&Ctrl; Z Правка Отменить действие

  Отменить последние сделанные и не сохранённые изменения.

&Ctrl; Shift Z Правка Повторить отменённое действие

  Восстановить последнее отменённое действие.

&Ctrl; X Правка Вырезать

  Вырезать текущую выбранную службу в буфер обмена

&Ctrl; C Правка Копировать

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

&Ctrl; V Правка Вставить

  Вставить содержимое буфера обмена в текущую позицию курсора.

Правка Свойства

  Открыть диалог свойств для выбранного элемента.

#### Меню Сервис

Сервис Запустить службу...

  Запустить выбранную службу

Сервис Остановить службу...

  Остановить выбранную службу

Сервис Перезапустить службу...

  Перезапустить выбранную службу

Сервис Редактировать службу...

  Редактировать выбранную службу

#### Меню Настройка

Настройка Показать панель инструментов

  Переключает отображения панели инструментов.

Настройка Показать строку состояния

  Переключает отображения строки состояния.

Настройка Показать журнал

  Переключает отображения окна журнала

Настройка Сохранить настройки

  Сохранить текущие настройки.

Настройка Настроить быстрые клавиши...

  Настроить раскладке коротких клавиш по умолчанию.

Настройка Настроить панели инструментов...

  Настроить панель инструментов.

Настройка Настроить редактор инициализации SysV...

  Настроить поведение &ksysv;

#### Меню Помощь

&help.menu.documentation;

## Настройка

Все параметры сохраняются в файле `$`KDEHOME`/share/config/ksysvrc`. Значения по умолчанию берутся из глобального файла (`$`KDEDIR`/share/config/ksysvrc`), если он доступен, или создаются в &ksysv;. Изменения к значениям по умолчанию сохраняются в вашем локальном файле `ksysvrc`.

### Распознаваемые разделы

Распознаваемые разделы и параметры плюс их значению по умолчанию.

#### &lsqb;Path Settings&rsqb;

Параметр
По умолчанию
Описание
ScriptPath
/etc/rc.d/init.d
Путь к сценариям, использующимся для старта и остановки служб.
RunlevelPath
/etc/rc.d
Путь к подкаталогам уровней выполнения.

#### &lsqb;Colors&rsqb;

Параметр
По умолчанию
Описание
Changed
red
Цвета для изменённых элементов
New
blue
Цвета использующиеся для новых элементов

#### &lsqb;Geometry&rsqb;

Параметр
По умолчанию
Описание
Width
Ширина окна &ksysv;
Height
Высота окна &ksysv;

#### &lsqb;Other Settings&rsqb;

Параметр
По умолчанию
Описание
ToolBar
true
Включена ли панель инструментов, или нет
StatusBar
true
Включена ли строка состояния, или нет
ShowLog
true
Включено ли окно журнала, или нет
PanningFactor
80
100 - PanningFactor = процент окна зарезервированный для отображения файла журнала

## Вопросы и ответы

Я играл со значением по умолчанию уровня выполнения, и теперь мой компьютер перезагружается всё время. Что я могу сделать?

Введите в подсказке LILO `linux single` и нажмите кнопку Enter для загрузки в однопользовательском режиме. Отредактируйте файл `/etc/inittab` и измените уровень выполнения по умолчанию на нормальный. `3` обычно должен быть безопасен.

Мой компьютер останавливается сразу после загрузки

Смотрите Вопрос 1, выше.

Я с помощью &ksysv; запланировал некоторые службы для запуска в уровне выполнения X, так почему это не работает?

Если вы используете дистрибутивы SuSE либо Delix (DLD), вы также должны отредактировать специфичный для дистрибутива файл в каталоге `/etc`. Подробности смотрите в руководстве по вашему дистрибутиву.

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

Если вы используете другой дистрибутив, убедитесь что у вас есть все файлы конфигурации, необходимые для служб, и что они находятся в правильных каталогах. Некоторые службы, например Apache, (aka `httpd` ) тихо умирают, если их файлы конфигурации отсутствуют или не сконфигурированы.

## Стандартная семантика уровней выполнения

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

&RedHat;
  Runlevel 0:

    halt (выключение машины)

  Runlevel 1:

    Однопользовательский режим

  Runlevel 2:

    Многопользовательский, текстовый, без NFS.

  Runlevel 3:

    Многопользовательский, текстовый, с полной сетью.

  Runlevel 4:

    Не используется

  Runlevel 5:

    Многопользовательский, X11, с полной сетью.

  Runlevel 6:

    Перезагрузка

## Лицензия и благодарности

&ksysv; Авторской право © 1997-1998 Peter Putzer

- Peter Putzer, putzer@kde.org - Разработчик

Документация

- Peter Putzer, putzer@kde.org - Первоначальная

- Eric Bischoff, e.bischoff@noos.fr - Редактор

Перевод на русский: Олег Баталов, olegbatalov@mail.ru

&underFDL; &underGPL;

## Установка

&install.intro.documentation; &install.compile.documentation;