ПЕРЕЛІК ДИСЦИПЛІН:
  • Адміністративне право
  • Арбітражний процес
  • Архітектура
  • Астрологія
  • Астрономія
  • Банківська справа
  • Безпека життєдіяльності
  • Біографії
  • Біологія
  • Біологія і хімія
  • Ботаніка та сільське гос-во
  • Бухгалтерський облік і аудит
  • Валютні відносини
  • Ветеринарія
  • Військова кафедра
  • Географія
  • Геодезія
  • Геологія
  • Етика
  • Держава і право
  • Цивільне право і процес
  • Діловодство
  • Гроші та кредит
  • Природничі науки
  • Журналістика
  • Екологія
  • Видавнича справа та поліграфія
  • Інвестиції
  • Іноземна мова
  • Інформатика
  • Інформатика, програмування
  • Юрист по наследству
  • Історичні особистості
  • Історія
  • Історія техніки
  • Кибернетика
  • Комунікації і зв'язок
  • Комп'ютерні науки
  • Косметологія
  • Короткий зміст творів
  • Криміналістика
  • Кримінологія
  • Криптология
  • Кулінарія
  • Культура і мистецтво
  • Культурологія
  • Російська література
  • Література і російська мова
  • Логіка
  • Логістика
  • Маркетинг
  • Математика
  • Медицина, здоров'я
  • Медичні науки
  • Міжнародне публічне право
  • Міжнародне приватне право
  • Міжнародні відносини
  • Менеджмент
  • Металургія
  • Москвоведение
  • Мовознавство
  • Музика
  • Муніципальне право
  • Податки, оподаткування
  •  
    Бесплатные рефераты
     

     

     

     

     

     

         
     
    Керівництво Системного адміністратора Linux
         

     

    Інформатика, програмування

    ОС Linux. Керівництво системного адміністратора

    ======================================== ============================

    Ларс Вірженіус (Lars Wirzenius)

    - 2 -

    Зміст

    Глава 1 Вступ 4

    1.1 Проект документування системи Linux 6

    Глава 2 Огляд системи Linux 8

    2.1 Різні складові операційної системи 8

    2.2 Важливі складові ядра 9

    2.3 Основні функції системи UNIX 10

    2.3.1 init 10

    2.3.2 Підключення до системи з терміналів 11

    2.3.3 Syslog 11

    2.3.4 Періодичне виконання команд: cron та at 11

    2.3 .5 Графічний інтерфейс користувача 12

    2.3.6 Робота з мережею 12

    2.3.7 Підключення до системи через мережу 13

    2.3.8 Мережеві файлові системи 13

    2.3.9 Пошта 14

    2.3.10 Друк 14

    2.4 Структура файлової системи 15

    Глава 3 Запуск Системи і Перезавантаження 16

    3.1 Огляд 16

    3.2 Процес запуску при близькому розгляді 17

    3.3 Завершення роботи та вимкнення системи 20

    3.4 Перезавантаження системи 23

    3.5 однокористувацький режим роботи 23

    3.6 Дискети для екстенной завантаження 23

    Глава 4 Використання дисків та інших Пристроїв 25

    4.1 Типи пристроїв 26

    4.2 Жорсткі диски 27

    4.3 Гнучкі диски 30

    4.4 Форматування 31

    4.5 Дискові розділи 34

    4.5.1 MBR, завантажувальні сектори та таблиця розділів 35

    4.5.2 Розширені та логічні розділи 35

    4.5.3 Типи розділів 37

    4.5.4 Поділ жорсткого диска 38

    4.5.5 Файли пристроїв та розділи 39

    4.6 Файлові системи 39

    4.6.1 Що таке файлова система? 39

    4.6.2 Типи файлових систем 41

    - 3 -

    4.6.3 Яку файлову систему встановлювати? 44

    4.6.4 Установка файлової системи 44

    4.6.5 Монтування та демонтування 46

    4.6.6 Підтримка працездатності файлових систем 50

    4.7 Диски без файлових систем 52

    4.8 Розподіл дискового простору 53

    4.8.1 Схеми поділу дисків 53

    4.8.2 Вимоги до дискового простору 54

    4.8.3 Приклади розподілу жорсткого диска 55

    4.8.4 Використання додаткового дискового простору 55

    4.8.5 Методи збереження дискового простору 55

    Глава 5 Огляд Структури Каталогів 57

    5.1 Введення 57

    5.2 Файлова система root 59

    5.2.1 Каталог/etc 60

    5.2 .2 Каталог/dev 62

    5.3 Файлова система/usr 63

    5.4 Файлова система/var 64

    5.5 Файлова система/proc 65 < p> Глава 6 Упpавленіе Пам'яттю 68

    6.1 Що таке віpтуальная пам'ять? 68

    6.2 Створення swap області 69

    6.3 Використання swap пpостpанства 70

    6.4 Поділ swap областей з дpугих операційну 71

    6.5 Розміщення swap пpостpанства 72

    6.6 Дисковий буфеp 73

    Глава 7 Підключення та Вихід з Системи 76

    7.1 Підключення до системи чеpез теpмінали 76

    7.2 Підключення до системи чеpез мережа 77

    7.3 Що виконує пpогpамма login 78

    7.4 X та xdm 79

    7.5 Контpоль доступу 79

    7.6 Запуск оболонки 80

    .

    - 4 -

    Глава 1 Введення

    У цій книзі розглядаються аспекти системного

    адміністрування операційної системи Linux. У першу чергу

    цей посібник призначено для тих, хто практично нічого

    не знає про системному адмініструванні, але ознайомлений з основами

    роботи з системою Linux, які розглянуті в книзі "Руководство

    Користувача системи Linux". У цьому посібнику не приділяється

    уваги проблемам, пов'язаним з установленням системи (вичерпну

    інформацію можна отримати з книги "Установка і Запуск Системи

    Linux"). У багатьох посібниках із серії LDP (Linux Documentation

    Project) розглядаються одні й ті ж питання з різних точок

    зpенія. Нижче міститься більш докладна інформація про посібниках

    за системою Linux.

    Що ж називається системним адмініструванням? Це все те,

    що потрібно для підтримки працездатності комп'ютерної системи

    (наприклад, створення резервних копій деяких файлів, установка

    нових програм, створення і видалення користувачів, перевірка

    цілісності файлової системи і т.д.). Якщо порівнювати комп'ютер з

    будинком, то системне адміністрування можна назвати вмістом

    цього будинку, що включає в себе збирання, усунення різних

    несправностей і т.д. Але системне адміністрування не називають

    змістом, тому що тоді це було б занадто просто.

    Керівництво складено таким чином, що голови не залежать

    один від одного і можуть бути розглянуті окремо. Наприклад, для

    отримання інформації щодо створення резервних копій Ви можете

    прочитати тільки одну главу. Це дуже зручно і дозволяє

    використовувати книгу як довідкового посібника, а також

    уникнути читання всього керівництва замість декількох розділів.

    Однак, перш за все це книга, а потім вже довідник.

    Звичайно, в цій книзі не містить всієї необхідної

    інформації з системного адміністрування, хоча багато корисного

    можна знайти і в іншій документації по системі Linux. Наприкінці

    - 5 -

    -решт, системний адміністратор це просто користувач з

    привілейованих правами доступу і певними обов'язками.

    Також багато корисної та важливої інформації можна дізнатися з

    вбудованих описів до програм (за допомогою команди 'man').

    У той час як ця книга розрахована на використання

    операційної системи Linux, вона може бути розглянуті і по

    відношенню до інших UNIX-подібних операційних систем. Так як

    різні версії системи UNIX сильно відрізняються (особливо в питаннях

    системного адміністрування), то досить складно охопити весь

    матеріал, що стосується кожної модифікації. Навіть розгляд всіх

    особливостей ОС Linux - складне завдання, так як вона зараз

    знаходиться в стадії розвитку. На даний момент не існує

    офіційною версією Linux, тому в різних людей вона встановлена

    по різному. У книзі вказані відмінності між такими системами і

    розглянуті деякі альтернативи, де це можливо. Також в

    книзі міститься багато інформації, яка не кожному може

    знадобитися. Такі моменти спеціально відзначені і можуть бути

    пропущені, якщо використовується вже сконфигурированная система.

    Також як і інші роботи, пов'язані з операційною

    системою Linux, книга була написана на добровільних засадах.

    Однак, як і в будь-якій добровільній роботі, існує межа

    вживаються зусиллям, а також знань і досвіду автора. Це

    означає, що цей посібник не обов'язково також добре

    написано, як якби воно було написано на комерційній основі.

    Слід зазначити, що в цій книзі не повністю охоплені

    багато проблем, які розглянуті в інших вільно

    розповсюджуваних посібниках та документація. Особливо це

    відноситься до описів до різних програм, наприклад, до

    особливостям використання mkfs (8). У цьому посібнику описано

    тільки призначення цієї програми в обсязі, необхідному для

    використання в книзі. Для отримання більш детальної інформації

    є посилання до інших інструкцій та документація, що

    звичайно є частиною повного набору документації по системі

    Linux. < p> - 6 -

    У автора є прагнення розвивати і покращувати цю розробку.

    Прохання надсилати всі зауваження (помилки, нові ідеї, інформація про

    відмінності між різними версіями системи UNIX і т.д.) або за

    адресою електронної пошти lars.wirzenius @ helsinki.fi, або звичайною

    поштою за адресою:

    Lars Wirzenius/Linux docs

    Hernesaarentie 15 A 2

    00150 Helsinki

    Finland

    Автор хоче поблагадоріть наступних людей, що

    підтримку при створенні цієї книги: Matt Welsh, Andy Oram, Olaf

    Kirch, Adam Richter та інших.

    H. Peter Anvin, Remy Card, Theodore Ts'o і Stephen Tweedie

    дозволили використати частину їхніх робіт у книзі. Stephen Tweedie

    також дозволив використовувати його порівняння файлових систем xia та

    ext2.

    На додаток до вище сказаного, автор дякує Mark

    Komarinski за публікацію в 1993 році його робіт та інших статей,

    що мають відношення до системного адміністрування, в журналі Linux

    Journal.

    Автор висловлює подяку Erik Troan з Red Hat за

    створення версією керівництва у форматі plain text, а також

    наступним людям: Paul Caprioli, Ales Cepek, Marie-France

    Declerfayt, Olaf Flebbe , Helmut Geyer, Larry Greenfield, Stephen

    Harris, Jyrki Havia, Jim Haynes, York Lam, Timothy Andrew Lister,

    Jim Lynch, Dan Poirier, Daniel Quinlam, Philippe Steindl.

    1.1 Проект документування системи Linux

    Проект документування системи Linux або LDP (Linux

    Documentation Project), це вільна команда письменників,

    коректорів і редакторів перед якими стоїть мета створення повної

    - 7 -

    документації по операційній системі Linux. Головним координатором

    проекту є Matt Welsh, який був призначений Lars'ом

    Wirzenius і Michael'ом K. Johnson.

    Даний посібник є одним з набору розповсюджуваних

    керівництв проекту LDP, який включає в себе "Руководство

    Користувача системи Linux", "Руководство Системного

    Адміністратора системи Linux "," Керівництво Мережевого

    Адміністратора системи Linux "і" Керівництво Зломщик Ядра

    Linux ". Ці книги доступні в початковому форматі LaTeX,. Dvi форматі

    і у форматі postscript через FTP:

    ftp://sunsite.unc.edu/pub/Linux/docs/LDP

    ftp://tsx-11.mit.edu/pub/linux/docs/guides

    Для того, щоб зв'язатися з LDP, потрібно надіслати листа Matt'у

    Welsh за вказаною нижче адресою:

    [email protected]

    .

    - 8 -

    Глава 2 Огляд системи Linux

    У цій главі дається огляд операційної системи Linux. Перш

    всього розглядаються основні функції системи. Потім слід

    опис програм, що реалізують ці функції. Мета голови - дати

    розуміння системи в цілому, тому кожен розділ розглядається

    більш докладно пізніше.

    2.1 Різні складові операційної системи

    Будь-яка UNIX-подібна операційна система складається з ядра і

    деяких системних програм. Також існують деякі

    прикладні програми для виконання якої-небудь завдання. Ядро

    є серцем операційної системи. Воно розміщує файли на

    диску, запускає програми і перемикає процесор і інше

    обладнання між ними для забезпечення мультизадачності,

    розподіляє пам'ять та інші ресурси між процесами,

    забезпечує обмін пакетами в мережі і т.п. Ядро саме по собі

    виконує лише маленьку частину спільної роботи, але воно

    надає засоби, що забезпечують виконання основних

    функцій. Воно також запобігає використання прямого доступу до

    апаратних засобів надаючи спеціальні засоби для

    звернення до периферії. Таким чином ядро дозволяє контролювати

    іспользовніє апаратних засобів різними процесами і

    забезпечувати деякий захист користувачів один від одного.

    Засоби, що надаються ядром, використовуються через системні

    виклики (див. розділ 2 керівництва для більш докладної інформації з

    цього питання).

    Системні програми використовують кошти, що надаються

    ядром для забезпечення виконання різних функцій операційної

    системи. Системні та всі інші програми виконуються 'на

    поверхні ядра', в так званому режимі користувача.

    Існує деякими різниця між системними і прикладними

    програмами. Прикладні програми призначені для виконання

    будь-якої певної завдання, в той час як системні програми

    - 9 -

    використовуються для підтримки роботи системи. Текстовий процесор

    є прикладною програмою, а програма telnet - системної,

    хоча часто межа між ними досить смутна.

    Досить часто операційна система містить компілятори і

    відповідні їм бібліотеки (GCC та C бібліотеки для Linux), хоча

    не обов'язково всі мови програмування мають бути частиною

    операційної системи. Документація, а іноді навіть ігри, можуть

    бути її частиною. Зазвичай складу операційної системи

    визначається вмістом установочного диска або стрічки, хоча справа

    йде дещо складніше, тому що різні частини операційної

    системи розкидані по різних FTP серверів під усьому світі.

    2.2 Важливі складові ядра

    Ядро системи Linux складається з декількох основних частин:

    блок керування процесами, блок керування пам'яттю, драйвери

    пристроїв, драйвери файлових систем, блок керування мережею а також

    інші невеликі процедури.

    Найбільш важливі складові ядра (що забезпечують

    життєздатність системи) - це блок управління пам'яттю і

    процесами. Блок управління пам'яттю забезпечує розподіл

    областей пам'яті і swap-областей між процесами, що складають

    ядра і для кеш-буфера. Блок управління процесами створює нові

    процеси і забезпечує багатозадачність шляхом перемикання завдань.

    На найнижчому рівні ядро містить драйвери пристроїв для

    кожного типу підтримуваного обладнання. Існує досить

    великий набір різних драйверів, так як постійно

    розробляються нові типи пристроїв. Існує досить багато

    однакових пристроїв, які відрізняються тільки тим, як

    відбувається взаємодія між самим пристроєм і драйвером.

    Така схожість дозволяє використовувати класи драйверів,

    підтримують однакові операції. У кожного члена такого класу

    використовується однотипний інтерфейс для ядра, але різні схеми

    взаємодії з пристроєм. Наприклад, всі драйвери жорсткого

    диска представляються для ядра абсолютно однаково, тобто у них у

    - 10 -

    всіх є такі операції, як 'ініціалізація жорсткого диска ',

    ' читання сектора N ',' запис сектора N '.

    Деякі функції, що надаються ядром, мають однакові

    властивості. Наприклад, різноманітні мережеві протоколи об'єднані в один

    програмний інтерфейс - BSD socket бібліотеку. Ось інший приклад -

    різні файлові системи, що підтримуються системою Linux. Ядро

    містить віртуальну файлову систему (Virtual File System - VFS)

    яка включає в себе всі функції, які використовуються для роботи

    системи, а також драйвер для кожної підтримуваної файлової

    системи. При спробі доступу до будь-якої файлової системи запит

    проходить через VFS, звідки спрямовується до відповідного

    драйвера файлової системи.

    2.3 Основні функції UNIX системи

    У цьому розділі досить поверхово розглядаються

    деякі найбільш важливі функції UNIX системи. Більш докладно вони

    розглянуті у наступних розділах.

    2.3.1 init

    Єдину і найважливішу функцію в системі UNIX

    надає пpоцесс init. Він запускається в будь-якій системі UNIX

    як найперший процес, а також завершує процедуpу завантаження

    системи. При запуску init, продовжується процес завантаження

    (перевіряються та встановлюються файлові системи, запускаються

    різні програми-демони і т.д.).

    Точний список того , що виконується при запуску init, залежить

    від версії програми. Зазвичай init надає

    однокористувацький режим, за якого ніхто не може

    підключитися до системи. Звичайний режим - це багатокористувацький.

    Деякі версії використовують поняття "рівень запуску '. Наприклад,

    однокористувацький і розрахований на багато користувачів режими - це різні

    рівні запуску. Також існують додаткові рівні, наприклад

    для запуску X-windows.

    - 11 -

    При працюючій системі, дві найважливіші завдання програми < p> init - це переконається, що всі програми-демони getty працюють

    (тобто є можливість підключення до системи) та адаптування

    orphan-процесів (тобто процесів , чий батьківський процес був

    знищений; в системі UNIX всі процеси повинні належати одному

    дереву процесів, тому orphan-процеси повинні бути

    адаптовані).

    При завершенні роботи системи та перезапуску, init знищує

    все залишилися процеси, демонтує файлові системи і

    зупиняє процесор.

    2.3.2 Підключення до системи з терміналів

    Підключення до системи з терміналів (через послідовні

    лінії) і з головної консолі (якщо не запущено X) забезпечується

    програмою getty. init запускає окремий процес getty для

    кожного терміналу. getty счітавает ім'я користувача і запускає

    програму login, яка читає пароль. Якщо ім'я та пароль

    відповідають одному користувачеві, то login запускає оболонку.

    При виході з оболонки, тобто при виході з системи, або при

    завершення програми login у разі якщо ім'я користувача і пароль

    не підходять, init запускає новий процес getty. Ядро не

    контролює підключення до системи, а лише виконує системні

    програми.

    2.3.3 Syslog

    Іноді при роботі ядра або різних системних програм

    виникають помилки, попередження та інші повідомлення. Програма

    syslog записує всі повідомлення в файл так, що він може бути

    згодом переглянутий. Syslog можна настроїти так, що

    повідомлення будуть сортуватися і записуватися в різні файли з

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

    окремий файл, тому що ці повідомлення найбільш важливі і повинні

    регулярно переглядатися, щоб уникнути серйозних проблем.

    2.3.4 Періодичне виконання команд: cron та at

    - 12 -

    Як отдельнием користувачам, так і системного адміністратора

    іноді потрібно періодично запускати определенние команди.

    Наприклад, системному адміністратору може знадобитися

    періодично запускати команду для очищення каталогів від тимчасових

    файлів (/ tmp та/var/tmp), для запобігання переповнення диска.

    Для цього використовується функція cron. У кожного користувача

    є файл crontab, в якому міститься список команд,

    представлених до виконання і кількість разів, яку вони повинні

    бути виконані. Програма-демон crond забезпечує своєчасне

    виконання зазначених команд.

    Функція at ідентична функції cron, тільки команда запускається

    один раз у вказаний час та запуск більше не повторюється .

    2.3.5 Графічний інтерфейс користувача

    Чому в системі UNIX так і в Linux, призначений для користувача інтерфейс

    не вбудовується в ядро системи. Замість цього він представляється

    програмами користувацького рівня. Це застосовується як до

    текстовим, так і до графічних оболонок.

    Такий стандарт робить систему більш гнучкою, хоча і має свої

    недоліки. Наприклад, це легко дозволяє створювати нові

    інтерфейси для програм, що ускладнює вивчення системи.

    Спочатку використовуваної з системою Linux графічної

    оболонкою була система X Window System ( скорочено X). X не

    реалізує інтерфейс користувача, а тільки віконну систему,

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

    інтерфейс. Три найбільш популярних версії графічних інтерфейсів

    на основі X - це Athena, Motif та Open Look.

    2.3.6 Робота з мережею

    Мережа - це засіб, що дозволяє з'єднуватися двох або більше

    комп'ютерів між собою.

    - 13 -

    UNIX-подібні операційні системи мають широкий спектр

    мережних можливостей . Більшість базових функцій (файлові

    системи, друк, створення резервних копій і так далі) можуть бути

    реалізовані за допомогою мережі. Це може значно полегшити

    роботу системного адміністратора, тому що дозволяє використовувати

    централізоване адміністрування.

    Однак, у цій книзі поверхнево розглянуті питання роботи < p> з мережею. Для більш докладної інформації див книгу "Руководство

    Мережевого Адміністратора системи Linux".

    2.3.7 Підключення до системи через мережу

    Підключення до системи через мережу працює трохи інакше,

    ніж звичайне підключення. Існують окремі фізичні

    послідовні лінії для кожного терміналу, через які і

    відбувається підключення. Для кожного користувача, що підключаються

    до системи, існує окреме віртуальне мережеве з'єднання та

    їх може бути будь-яка кількість. Однак не представляється можливим

    запустити окремий процес getty для кожного можливого

    віртуального з'єднання. Існують також і інші способи

    підключення до системи за допомогою мережі. Наприклад, telnet і rlogin

    - основні служби в TCP/IP мережах.

    При використанні мережі для підключення до системи, крім

    великої кількості процесів getty використовується окрема

    програма-демон (при використанні як telnet так і login

    використовуються різні програми-демони), яка відстежує всі

    спроби з'єднання з комп'ютером. Якщо визначають спроба

    з'єднання, то програма створює новий процес - створює сама себе

    для обробки цього з'єднання - а потім продовжує відстеження

    нових сполук. Створюваний процес ідентичний програмою getty.

    2.3.8 Мережеві файлові системи

    Одна з найбільш корисних функцій, яка може бути

    реалізована за допомогою мережі, цей поділ файлів через мережеву

    - 14 -

    файлову систему. Зазвичай використовується система, яка називається Network

    File System або NFS, яка розроблена корпорацією Sun.

    При роботі з мережевою файловою системою будь-які операції над

    файлами, що здійснюються на локальному ком'ютера, передаються через

    мережу на віддалену машину. При роботі мережевої файлової системи

    програма вважає, що всі файли на віддаленому комп'ютері є

    на комп'ютері, де вона запущена. Таким чином поділ

    інформації за допомогою такої системи не вимагає внесення

    будь-яких змін в програму.

    2.3.9 Пошта

    Електронна пошта є найважливішим засобом зв'язку між

    комп'ютерами. Електронні листи зберігаються в одному файлі у

    спеціальному форматі. Для читання й відправлення листів застосовуються

    спеціальні програми.

    У кожного користувача є окремий "поштова скринька"

    (тобто файл, де інформація зберігається у спеціальному форматі), в

    котрому зберігається приходить пошта. Якщо на ком'ютера приходить

    лист, то програма обробки пошти знаходить файл поштової скриньки

    соответвующего користувачів та додає туди одержаний лист.

    Якщо ж поштову скриньку користувача знаходиться на іншому комп'ютері,

    того листа перенаправляється на цей комп'ютер, де проходить його

    подальша обробка.

    Поштова система складається з безлічі різних програм. < p> Доставка листів до локальних або віддалених поштових скриньок

    проводиться однією програмою (наприклад, sendmail або smail), у той

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

    велике колічетсво різних програм (наприклад, Pine або elm).

    Файли поштових скриньок зазвичай зберігаються у каталозі/var/spool/mail.

    2.3.10 Друк

    В один момент часу принтером може користуватися тільки

    один користувач. Тому для того, щоб принтером могли

    - 15 -

    користуватися відразу декілька користувачів, використовується

    спеціальна програма, яка забезпечує обслуговування черги до < p> принтером. Всі завдання для принтера містяться в буфеp. Коли

    принтер закінчує обробку одного завдання, следуещее передається

    до нього автоматично. Це значно спрощує роботу з принтером.

    Програма обслуговування черги до принтера поміщає

    інформацію, яка повинна бути роздрукована, на диск, тобто

    текст розташовується на диску , у той час як завдання знаходиться в

    черги. Це дозволяє прикладним програмам досить швидко

    роздруковувати тексти, розміщуючи їх в чергу, тому що для

    продовження роботи з додатком не потрібно чекати закінчення

    роздруківки.

    2.4 Структура файлової системи

    Файлова система поділяється на кілька частин: файлова

    система root, що складається з каталогів/bin,/lib,/etc,/dev і

    деяких інших, файлова система/usr, де зберігаються різні

    програми і дані не підлягають зміні, файлова система/var,

    де містяться змінювані файли (такі як log файли тощо) і

    файлова система/home, яка складається з особистих каталогів

    користувачів. Поділ може істотно відрізнятися від вище

    зазначеного в залежності від роботи системного адміністратора і

    конфігурації апаратного забезпечення.

    У главі 5 сруктурам файлової системи розглядається більше

    докладно (див. також Linux Filesystem Standard).

    .

    - 16 -

    Глава 3 Запуск Системи і Перезавантаження < p> У цьому розділі описується те, що відбувається в системі Linux

    при її запуску і перезавантаження і як це правильно зробити.

    3.1 Огляд

    Процес включення комп'ютера і завантаження операційної системи

    називається запуском. Під час запуску спочатку загружется невелика

    програма, називається початковою завантажувачем, яка в свою

    чергу загружет в пам'ять і запускає операційну систему.

    Початковий завантажувач зазвичай знаходиться в визначеному місці на

    жорсткому диску або дискеті. Тому як Linux це досить складна і

    велика система, її запуск проводиться в два етапи, хоча первинно

    завантажується код повинен бути досить маленьким (кілька сотень

    байт ).

    На різних комп'ютерах початкова завантаження проводиться за

    різному. На персональних комп'ютерах спочатку счітивется перший

    сектор дискети або жорсткого диска (за допомогою процедур BIOS),

    який називається завантажувальним сектором. У цьому секторі знаходиться

    початковий завантажувач, який потім завантажує операційну систему,

    яка може бути розташована в іншому місці на диску або

    де-небудь ще.

    Після завантаження Linux, ініціалізувалися драйвери пристроїв, а

    потім запускається init (8), який в свою чергу запускає інші

    процеси, які дозволяють підключатися до системи і забезпечують

    нормальну роботу. Цей етап розглянуто нижче більш докладно.

    Для перезапуску системи спочатку всі процеси повинні бути

    завершені (тобто закриті всі використовувані ними файли та ін), потім

    демонтуються файлові системи та swap-області і, врешті-решт,

    на екран видається повідомлення про те, що харчування може бути

    відключено. Якщо ж така процедура не буде зроблено, то можуть

    відбутися серйозні збої в подальшій роботі системи. Наприклад,

    - 17 -

    інформація, що зберігається в кеш буфері файлової системи, буде

    загублена, порушиться цілісність файлової системи і, отже,

    вона буде не придатна до використання.

    3.2 Процес запуску при близькому розгляді

    Linux може бути запущена як з дискет, так і з жорсткого

    диска . У книзі "Установка і запуск Linux" докладно описаний запуск

    системи.

    При включенні комп'ютера, спочатку BIOS виробляє

    тестування обладнання, а потім запуск операційної системи.

    Спочатку вибирається пристрій, з якого буде проводиться

    запуск (звичайно перший дисковод, якщо в нього вставлена дискета, в

    іншому випадку - перший жорсткий диск, якщо він встановлений, хоча

    порядок вибору може бути налаштований) і зчитується найперший

    сектор, який називається завантажувальним. Його також називають MBR

    (Master Boot Record), так як у жорсткого диска може бути

    кілька розділів і у кажодого може бути свій завантажувальний

    сектор.

    У завантажувальному секторі знаходиться невелика програма

    (відносно невелика щоб вона могла розміститься в одному

    секторі), яка завантажує і запускає операційну систему. При

    завантаженні з дискети, в завантажувальному секторі знаходиться код, який

    забезпечує тільки зчитування ядра системи в певну заздалегідь

    область пам'яті. Завантажувальна дискета для Linux не містить ніяких

    файлових систем. Ядро записано на дискеті як послідовність

    блоків, тому що це значно спрощує процес завантаження. Проте,

    цілком можна завантажуватися з дискети, на якій встановлена

    якась файлова система, використовуючи загpузчік LILO.

    При завантаженні з жорсткого диска, код, розташований в MBR,

    перевіряє таблицю розділів (також розташовану в MBR), визначає

    активний розділ (розділ, що використовується при завантаженні), зчитує

    завантажувальний сектор цього розділу і запускає лічений код. Код,

    розташований в завантажувального сектору активного розділу жорсткого

    диска, виконує ті ж функції, що і код, що знаходиться в

    - 18 -

    завантажувального сектору дискети: він зчитує ядро з обраного

    розділу, а потім запускає його. Однак тут існує багато

    тонкощів, так як використання окремого розділу диску тільки

    для збереження коду ядра неефективно, тому код, розташований в

    завантажувального сектору розділу, не просто послідовно зчитує

    інформацію з диска, а використовує зчитування по секторах.

    Існує кілька способів вирішення цієї проблеми, але найбільш

    простим з них є використання LILO завантажувача (інформацію

    з установки і налаштування LILO зверніться до документації по LILO).

    При завантаженні з використанням LILO зазвичай відразу ж

    завантажується і запускається ядро, задане за замовчуванням, однак

    LILO можна настроїти так, щоб можна було б завантажити

    одне з декількох можливих ядер або навіть іншу операційну

    систему (на додаток до Linux ). Також можна вказати потрібне ядро

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

    ALT, SHIFT або CTRL (після завантаження LILO) буде видано запит, де

    можна вказати ядро або систему. Однак при конфігуруванні можна

    встановити опцію, при якій LILO буде завжди видвать такий

    запит, а також вказати час, після якого завантажується

    ядро, встановлене за замовчуванням.

    Існують і інші завантажувачі, подібні LILO, проте у нього

    є декілька корисних функцій, яких немає в інших завантажувача,

    так як він був написаний спеціально для Linux. Наприклад, є

    можливість передачі параметрів ядру під час завантаження або

    зміни деяких опцій, що вбудовані в ядро. Серед подібних

    завантажувачів (bootlin, bootactv та ін) LILO є найкращим

    вибором.

    Завантаження системи як з жорсткого диска, так і з дискет має

    свої переваги, хоча завантаження з жорсткого диска вважається краще

    і швидше, так як вона дозволяє уникнути незручності, пов'язані зі

    зміною дискет. Однак у деяких випадках завантаження з дискет більш

    зручна. Наприклад, при встановленні системи або при пошкодженні

    файлової системи.

    Після того, як ядро системи додано в пам'ять (з жорсткого

    - 19 -

    диска або з дискет) і запущено, виконуються приблизно

    наступні дії:

    Так як ядро Linux встановлено в запакованому вигляді, то перш

    всього вона сама себе розпаковує. Це виконує невелика

    програма, розташована на самому початку коду.

    Якщо на комп'ютері встановлена відеоплата sVGA,

    підтримує нестандартні текстові режими (такі як 100x40),

    видається запит для вказівки необхідного режиму. При компіляції

    ядра можна відразу вказати використовуваний режим, щоб він не

    запитується системою під час завантаження. Режим також може бути

    встановлений за допомогою LILO чи rdev (8).

    Потім ядро тестує апаратне забезпечення (жорсткі диски,

    дисководи, мережні адаптери та ін .) і конфігурує відповідні

    драйвери пристроїв. Під час цього процесу на екран видаються

    підказує повідомлення. Ось приблизно те, що відбувається під час

    завантаження:

    LILO boot:

    Loading linux.

    Console: colour EGA + 80x25, 8 virtual consoles

    Serial driver version 3.94 with no serial options enabled

    tty00 at 0x03f8 (irq = 4) is a 16450

    tty01 at 0x02f8 (irq = 3) is a 16450

    lp_init: lp1 exists (0), using polling driver

    Memory: 7332k/8192 available (300k kernel code, 384k reserved, 176k data)

    Floppy drive (s): fd0 is 1.44M, fd1 is 1.2M

    Loopback device init

    Warning WD8013 board not found at i/o = 280

    Math coprocessor using irq13 error reporting

    Partition check:

    hda: hda1 hda2 hda3

    VFS: Mounted root (ext filesystem)

    Linux version 0.99.pl9-1 (root @ haven) 05/01/93 14:12:20

    Хоча текст повідомлень досить сильно різниться на різних

    - 20 -

    системах і залежить від апаратного забезпечення, версії Linux і

    конфігурації.

    Після цього, ядро намагається смонтіpовать файлову систему

    root . Місце, куди вона буде змонтована, встановлюється під час

    компіляції або за допомогою rdev або LILO. Тип файлової системи

    визначається автоматично. Якщо система root НЕ монтіpуется,

    наприклад через те, що ядро не містить драйвер

    відповідної файлової системи, то система зависає.

    Файлова система root зазвичай монтіpуется в режимі read-only

    (це встановлюється таким же чином як і вузол монтіpованія).

    Це робить можливим перевірку файлової системи в той час як вона

    смонтіpована , хоча перевірка файлової системи, встановленої в

    режимі read-write НЕ рекомедуется.

    Потім ядро запускає програму init (8) у фоновому режимі (вона

    розташована в каталозі/sbin/init) яка стає головним

    процесом. init виконує різні функції, необхідні при

    встановленні системи.

    Зрештою init запускає програму getty (8) для

    віртуальних консолей і послідовних ліній. Ця програма

    дозволяє підключатися до системи за допомогою віртуальних консолей

    і терміналів, підключених через послідовні порти. init

    може бути налаштована також для запуску та інших програм.

    Після цього процес запуску системи вважається завершеним і

    система готова до роботи. < p> 3.3 Завершення роботи та вимкнення системи

    разі вимкнення системи Linux необхідно виконувати деякі

    процедури. Якщо цього не зробити, то файлові системи та файли

    можуть пошкодитися. Це відбувається через наявність у Linux

    дискового кешу, інформація з якого записується на диск тільки

    через деякі проміжки часу. Це значно підвищує

    продуктивність системи, але також означає, що якщо просто

    - 21 -

    вимкнути живлення комп'ютера, то в дисковому кеші може знаходиться

    велику кількість інформації і файлова система може бути

    частково пошкоджена, тому що на диск звичайно скидається тільки

    частина інформації.

    Іншою причиною для цього є мультизадачність системи,

    де одночасно може виконуватися декілька процесів і

    вимкнення живлення може бути згубним для системи. Особливо це

    стосується комп'ютерів, на яких одночасно працюють кілька

    користувачів.

    Існують команди, призначені для правильного

    вимикання системи - це shutdown (8) і halt (8), розташовані в

    каталозі/sbin. Є два звичайні способи їх?? рімененія.

    Якщо система встановлена на комп'ютері, де працює одна

    користувач, то зазвичай завершують роботу всіх програм, роботу

    всіх віртуальних консолей, входять в систему під користувачем root

    (або залишаються підключеними під цим користувачем, тільки в цьому

    випадку потрібно перейти в кореневий каталог, щоб уникнути проблем з

    демонтування файлових систем), потім виконується команда halt

    або shutdown-h now (при бажанні можна встановити затримку,

    яка встановлюється заміною параметра now на знак '+' і числом

    хвилин , після закінчення яких буде завершена робота системи) або

    просто halt.

    Якщо на копьютера, на якому встановлена система, що працює

    одночасно кілька користувачів, то можливо використання

    команди shutdown в такому форматі:

    shutdown-h + time message,

    де time цей час, після якого робота системи буде

    завершена, а message - повідомлення, в якому пояснюється причина

    виключення. Напpимеp,

    root # shutdown-h +10 'We will install a new disk. System should

    > be back on-line in three hours. '

    - 22 -

    Виконання цієї команди попередить кожного користувача,

    що працює в системі, що вона буде вимкнено через 10 хвилин.

    Повідомлення видається на кожен термінал, де працюють користувачі,

    включаючи xterm.

    Broadcast message from root (ttyp0) Wed Aug 2 01:03:25 1995 ...

    We will install a new disk. System should

    be back on-line in three hours.

    The system is going DOWN for system halt in 10 minutes!!

    Видача повідомлення автоматично повторюється кілька раз

    перед припиненням роботи системи і кожного разу з більш коротким

    інтервалом. При використанні halt не можна встановити затримку,

    тому ця програма рідко застосовується на розрахованих на багато користувачів

    системах.

    Зауваження: файл/etc/inittab містить команди, які виконуються

    при виключенні системи.

    Після запуску процесу припинення роботи системи,

    демонтуються всі файлові системи (крім системи root),

    завершується виконання всіх процесів та програм-демонів, потім

    демонтується файлова система root і вся робота завершується.

    Після цього видається повідомлення, в якому говориться, що можна

    відключити живлення . Тільки після цього комп'ютер може

    бути відключене.

    У деяких випадках неможливо завершити цей процес

    відповідним чином. Наприклад, при пошкодженні коду ядра в

    пам'яті, порушується його робота або система зависає і просто немає

    можливості ввести нову команду можна тільки сподіватися, що

    нічого не пошкодиться і вимкнути живлення. Якщо ж неполадки не

    такі серйозні (наприклад вийшла з ладу клавіатура), а ядро і

    програма update працюють нормально, то найкращим варіантом буде

    почекати кілька хвилин , поки update (8) не збереже на диску

    інформацію, що зберігається в кеш-буфері і тільки після цього вимкнути

    - 23 -

    харчування.

    Деякі вимикають Копьютер після триразового виконання

    команди sync (8), яка скидає на диск вміст буфера, і,

    після припинення звернення до диска, вимикають комп'ютер. Якщо в

    про виключення робота всіх програм була завершена, то ця

    процедура майже ідентична

         
     
         
    Реферат Банк
     
    Рефераты
     
    Бесплатные рефераты
     

     

     

     

     

     

     

     
     
     
      Все права защищены. Reff.net.ua - українські реферати ! DMCA.com Protection Status