Igorka лекція №5 - призначення основних каталогів

У цій лекції йтиметься про файлову систему Linux і про призначення основних каталогів. Для початку давайте подивимося як файлова система реалізована в Windows. Є фізичний жорсткий диск, який розбивається на логічні розділи і кожному розділу призначається латинська буква починаючи з букви С (С. D. E: і т.д.). На кожному логічному розділі є каталоги і файли. Якщо ми додамо, наприклад, ще один жорсткий диск, йому буде призначена наступна вільна буква.

У Linux організовано по іншому. Основою всього є так званий "корінь" або "рут". Позначається символом /. Корінь файлової системи - це віртуальний об'єкт в ядрі. Ядро створює віртуальний корінь, а потім до нього монтує диски (файлові системи) за допомогою команди mount. Користувачам працювали в Windows спочатку важко звикнути до того, що файлові системи потрібно монтувати перед використанням і демонтувати після. Але з часом ви звикнете до цього. До того ж якщо раніше, вставляючи диск у привід, його потрібно було спочатку подмонтировать до дерева файлової системи, то зараз ці дії виконуються автоматично. Пізніше ми будемо більш детально говорити про монтування, а поки давайте розглянемо призначення основних каталогів Linux.

/ Bin - в цьому каталозі розміщуються утиліти (виконувані файли) для роботи на рівні системи. З прикладів можна привести ls, date, cp, pwd і т.д.

/ Sbin - в цьому каталозі розміщені системні утиліти і програми, які призначені для управління самою системою. Приклад: shutdown, init, ifconfig.

/ Boot - в цьому каталозі розміщені файли запуску системи: ядро, файли GRUB, initrd. а також файл конфігурації ядра. initrd - це образ RAM-диска який використовується для того, щоб змонтувати тимчасову файлову систему на час завантаження ядра. По суті initrd містить необхідні модулі які дозволять змонтувати реальну файлову систему і продовжити ініціалізацію і завантаження системи.

/ Boot / grub / - каталог містить завантажувач GRUB і його конфігураційні файли.

/ Etc - в цьому каталозі знаходиться більшість конфігураційних файлів системи. Утримуємо багато підкаталогів кожен їх яких відповідає за певну область. розглянемо деякі з них. / Alsa - розширена підтримка звукових пристроїв, /sane.d - підтримка сканера, / X11 - файли графічної підсистеми, /init.d - скрипти, які керують службами, /rc0.d - /rc6.d - містять скрипти, які повинні виконуватися на відповідному рівні (runlevel), /cron.d - файли служби періодичного запуску процесів, / cups - файли служби друку, / samba - конфігураційні файли однойменної системи, / udev - файли однойменної підсистеми.

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

/ Selinux - каталог однойменної підсистеми, яка з'явилася не так давно і дозволяє більш жорстко контролювати права користувачів (в тому числі і рута) для більшої безпеки.

/ Lib - в цьому каталозі зберігаються бібліотеки операційної системи і додатків.

/ Lib / modules / - каталог містить модулі ядра. У цьому каталозі розташовані підкаталоги, які збігаються з версіями ядра, які були встановлені в системі. Тобто для кожної версії ядра є свій набір модулів. Це дуже важливо і потрібно звернути на це увагу. Часто при компіляції ядра забувають змінювати версію, нове ядро ​​при завантаженні використовує модулі попередньої версії і система не завантажується. Поточну версію ядра можна дізнатися по команді uname -r. повертається версія обов'язково збігатиметься з назвою одного з каталогів в / lib / modules /.

/lib/modules/2.6.28-15-generic/kernel/fs/ - модулі підтримки різних файлових систем.

/lib/modules/2.6.28-15-generic/kernel/net/ - модулі підтримки різних типів мереж (Apple Talk. X25. IPX і інші).

/ Mnt - каталог призначений для монтування в ньому блокових пристроїв, які не є частиною системи Linux. Наприклад, Windows-розділ жорсткого диска не є частиною Linux і монтується в саме в цей каталог. Також кілька років тому в цю директорію монтувалися і CDROM і Floppy-диски. Зараз можуть монтуватися або в / media або безпосередньо в корінь. Залежить від дистрибутива.

/ Media - призначений для монтування блокових пристроїв які підключаються фізично до системи в процесі її роботи. Найпоширеніші з пристроїв це флешки, зовнішні накопичувачі. Монтуються пристрої в цей каталог як правило автоматично підсистемою udev.

/ Usr - в цьому каталозі зберігаються всі програми (не плутати з утилітами). Файли Linux-додатків на відміну від Windows-додатків зберігаються у відповідних папках залежно від типу. Тому в каталозі / usr є такі підкаталоги як / etc - для файлів конфігурацій, / bin - для виконуваних файлів, / lib - бібліотеки додатків і інші. Тобто виходить, що / usr - це як би корінь для додатків. Також хочу відзначити, що в багатьох дистрибутивах конфігураційні файли додатків можуть розташовуватися не в / lib / etc /. а в / etc. і каталогу / lib / etc / може не бути. У каталозі / usr також розташовуються різні служби такі як apache. bind і інші, які не мають безпосереднього відношення до Linux. Для додатків, яким в силу певних причин необхідно зберігати всі свої файли в одному каталозі (наприклад це різні кроссплтаформенние додатки) придумали директорію / opt. Наприклад, там можуть бути такі програми як OpenOffice, Picasa, Chrome.

/ Tmp - Каталог для зберігання тимчасових файлів, які необхідні під час роботи програм. У цій директорії тимчасові файли існують поки працює додаток, яке їх створило. Як тільки додатки припиняє роботу тимчасові файли видаляються. Тимчасові файли можуть містити різну інформацію і деякі з них можуть розташовуватися в каталозі / home / ім'я користувача / tmp /.

/ Var - в цьому каталозі зберігаються різні системні файли такі як, наприклад, журнали різних підсистем або буферні каталоги принтерів, електронної пошти і т.д. Для системного адміністратора особливу увагу на каталог / var / log / де якраз і міститися файли-журнали. Так як ці файли постійно зростають, то необхідно уважно стежити за вільним місцем на жорсткому диску де розміщений каталок / var. Розглянемо призначення ще кількох підкаталогів знаходяться в / var. / Var / lock / - тут зберігаються файли котороие сигналізують про блокування того чи іншого ресурсу системи. / Var / run / - в цьому каталозі запущені служби створюють підкаталоги в яких міститься файл і ідентифікатором процесу служби. Наприклад, у файлі /var/run/cron.pid міститься ідентифікатор процесу служби cron. Команди cat /var/run/cron.pid і ps ax | grep cron покажуть, що числа збігаються. / Var / mail / - файли поштових скриньок користувачів. / Var / spool / - в цьому каталозі зберігаються черги різних програм або служб. Наприклад, / var / spool / cups / - містить черги завдань для принтерів.

Каталоги / proc та / sys розглянемо на наступній лекції.