# Підручник з &ksysv;

Peter
Putzer

    putzer@kde.org

Юрій
Чорноіван

    yurchor@ukr.net

Переклад українською
2001-03-21
1.03.06
1998
2000
2001
Peter Putzer
&FDLNotice;

&ksysv; — графічний редактор налаштування init у стилі SysV.

KDE
KSysV
Рівень запуску
Редактор рівнів запуску
Init System V

## Вступ

Ласкаво просимо до &kde;-редактора Init System V, широко відомого як &ksysv; (цю назву ми використовуватимемо далі за текстом). У цьому розділі ви знайдете декілька вступних пояснень та огляд того, що ви можете робити за допомогою &ksysv;.

## Короткий опис Init System V

Опис далі за текстом запозичено з tksysv (джерела натхнення для &ksysv;):

System V init швидко стає стандартом у світі &Linux; для керування запуском програм під час завантаження системи. Цей факт пояснюється тим, що ця система є простішою у використанні, потужнішою і гнучкішою ніж традиційний init BSD.

Ох, звільніть мене від цих старих історій (головним чином тому, що я про них не знаю :-).

Виконуваний файл init знаходиться у теці `/sbin`, а не у теці`/etc`. Це важливо, оскільки дехто може спробувати оновити систему до init System V без перевстановлення і переформатування. Ядро &Linux; спочатку шукатиме init у теці `/etc`, отже вам слід перевірити наявність і, у разі виявлення, вилучити старий init з цієї теки.

Крім того, init SysV відрізняється від init BSD тим, що файли налаштування знаходяться у підтеці `/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 тощо. Серед служб немає програм на зразок `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, який встановлено на більшості систем. Якщо ви бажаєте його змінити, ви можете вручну дописати відповідне значення замість 3 до файла `/etc/inittab`. Будьте дуже обережні, коли маєте справу з таблицею 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`, init викликає скрипт з параметром `start`.

### Навіщо всі ці рівні запуску?

Люди прагнуть до спрощення налаштування багатоцільових комп’ютерів. Можна встановити рівень запуску сервера, за якого буде запущено лише httpd, &Sendmail;, роботу з мережею тощо. Крім того, можна мати рівень запуску користувача, за якого буде запущено &kdm;, роботу з мережею тощо.

## Основи вигляду

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

### Миша

Користування &ksysv; за допомогою миші або іншого координатного пристрою просте: перетягніть запис з області Доступних служб до одного з шести рівнів запуску, щоб запустити (або відповідно зупинити) цю службу на вказаному рівні запуску.

Крім того, ви можете пересувати скрипти між рівнями запуску або змінювати розташування вказаного рівня запуску перетягуванням. Перетягування вилучатиме запис з його початкового рівня запуску (або розташування). Винятком є перетягування записів з області Доступні служби.

Під час перетягування до нового місця записи зникають зі старих місць. Щоб скопіювати службу на інший рівень запуску, вам слід скористатися пунктом Копіювати з меню Правка або контекстного меню, а потім скористатися пунктом Вставити, щоб вставити запис у місце призначення.

Іноді порядковий номер запису обчислити неможливо. У таких випадках вам слід спочатку змінити порядкові номери сусідніх записів, а потім повторити спробу вставки служби.

Порядкові номери слід обирати з діапазону від 00 до 99, і не більше.

Ви можете вилучати записи перетягуванням їх до області Смітника (її позначає піктограма у вигляді кошика для сміття).

У поточній версії не існує способу відновлення записів, які було перетягнуто до Смітника, отже, будьте обережні!

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

Для перемикання фокусу між різними панелями (Доступні служби, Рівень виконання 1 Запуск, Рівень виконання 1 Зупинка тощо) ви можете скористатися клавішею Tab, а також клавішами зі стрілочками для пересування виділення вгору і вниз.

Щоб пересунути запис на інший рівень запуску, виконайте дію Вирізати (за допомогою комбінації клавіш &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-Init...

  Налаштувати поведінку &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 = відсоток площі вікна, зарезервований для показу файла журналу

## Запитання і відповіді

Я грався (гралася) з типовим рівнем запуску. Тепер мій комп’ютер весь час перезавантажується. Що робити?

Введіть `linux single` у рядок запрошення LILO і натисніть клавішу Enter, щоб завантажити систему у режимі одного користувача. Відкрийте для редагування файл `/etc/inittab` і встановіть безпечний типовий рівень запуску. Зазвичай, цим значенням є `3`.

Мій комп’ютер вимикається одразу після завантаження

Дивись Питання 1, вище за текстом.

Я запланував (запланувала) запуск певних служб на рівні запуску X за допомогою &ksysv;, чому ж вони не працюють?

Якщо ви використовуєте дистрибутиви &SuSE; або Delix (DLD), вам слід змінити характерний для цих дистрибутивів файл у `/etc`. Щоб дізнатися більше, будь ласка, прочитайте підручник з вашого дистрибутива.

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

Якщо ви використовуєте інший дистрибутив, будь ласка, перевірте, що у вас є всі потрібні для цієї служби файли налаштування, і чи знаходяться ці файли у потрібних місцях. Деякі фонові служби, наприклад Apache (тобто `httpd`), просто завершують роботу без будь-яких повідомлень, якщо відсутні файли налаштування, або ці файли містять помилки.

## Стандартна семантика рівнів запуску

Така семантика може бути різною у різних дистрибутивах, отже, наведена тут інформація є неповним списком найпоширеніших дистрибутивів &Linux;. Якщо ви маєте інформацію щодо інших дистрибутивів, будь ласка, надішліть її авторові цього підручника, — надану інформацію буде додано у наступні версії підручника.

&RedHat;
  Рівень запуску 0:

    Зупинка (вимикання комп’ютера)

  Рівень запуску 1:

    Режим з одним користувачем.

  Рівень запуску 2:

    Режим з декількома користувачами, лише текстовий інтерфейс, без NFS.

  Рівень запуску 3:

    Режим з декількома користувачами, лише текстовий інтерфейс, повноцінна робота у мережі.

  Рівень запуску 4:

    Не використовується.

  Рівень запуску 5:

    Режим з декількома користувачами, X11, повноцінна робота у мережі.

  Рівень запуску 6:

    Перезавантаження

## Ліцензія і подяки

Авторські права на &ksysv; належать © 1997-1998 Peter Putzer

- Peter Putzer, putzer@kde.org — розробник

Документація:

- Peter Putzer, putzer@kde.org — початковий варіант

- Eric Bischoff, &Eric.Bischoff.mail; — редактор

Переклад українською: Юрій Чорноіванyurchor@ukr.net

&underFDL; &underGPL;

## Встановлення

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