next up previous contents index
Дал╕: Коренева файлова система Вгору: Дерево директор╕й Назад: Дерево директор╕й

Основи

Цей розд╕л базу╓ться на стандарт╕ файлово╖ системи Л╕накса, FSSTND, верс╕╖ 1.2 (див. б╕бл╕ограф╕ю Linux Filesystem Structure---Release 1.2, який намага╓ться встановити стандарт того, як повинно бути орган╕зованим дерево директор╕й в Л╕накс╕. Позитивним у створенн╕ такого стандарту ╓ те, що з ним буде легше писати чи переносити з ╕ншо╖ системи програми в Л╕накс, а також адм╕н╕струвати машини з Л╕наксом, через те, що все в цьому випадку повинно бути на сво╖х звичних м╕сцях. За спиною цього стандарту нема╓ жодно╖ авторитетно╖ ╕нстанц╕╖, тим не менше, його п╕дтримують майже вс╕ робробники Л╕накса. Тому перш, н╕ж в╕дхилятися в╕д цього стандарту треба добре подумати ╕ мати на це справд╕ важлив╕ п╕дстави. Стандарт FSSTND намага╓ться сл╕дувати традиц╕ям Юн╕кса та сучасним тенденц╕ям, що робить Л╕накс знайомим тим, хто працював з ╕ншими верс╕ями Юн╕кса ╕ навпаки.

Цей розд╕л не наст╕льки детал╕зований, як стандарт FSSTND. Для кращого розум╕ння системи кожному системному адм╕н╕стратору варто прочитати FSSTND.

Даний розд╕л не поясню╓ призначення кожного файлу в деталях. Наш╕ нам╕ри - не описати кожен файл, а дати загальн╕ в╕домост╕ про систему з точки зору файлово╖ системи. Б╕льш детальна ╕нформац╕я про кожен окремий файл м╕ститься в ╕нших розд╕лах та стор╕нках п╕дказок - man pages.

Все дерево директор╕й Л╕накса повинно бути спроектовано таким чином, щоб його можна було розд╕ляти на менш╕ частини. Кожну частину можна пом╕стити на окремому розд╕л╕ чи окремому диску, щоб ефективн╕ше використовувати його об'╓м та полегшити створення резервних коп╕й ╕ виконання ╕нших обов'язк╕в системного адм╕н╕стратора. Основн╕ частини цього дерева - це коренева файлова система (root), файлов╕ системи /usr , /var  та /home  (див. мал.  [*]). Кожна з частин файлово╖ системи ма╓ сво╓ призначення. Побудова дерева директор╕й така, що да╓ можлив╕сть ефективно╖ роботи в мереж╕. Комп'ютери в мереж╕ можуть сп╕льно користовуватися деякими частини файлових систем, що забезпечу╓ться через пристр╕й з доступом т╕льки на читання (наприклад, CD-ROM) або через мережу з NFS.


  
Рисунок: Частини дерева директор╕й Юн╕кса. Пунктирн╕ л╕н╕╖ вказують меж╕ п╕дрозд╕л╕в диск╕в.
\includegraphics{walkabout/fstree.ps}

Призначення р╕зних частин дерева директор╕й подано нижче.

Незважаючи на те, що р╕зноман╕тн╕ частини файлово╖ системи Л╕накса називалися файловими системами в попередн╕х абзацах, вони не обов'язково повинн╕ лежати на окремих дискових розд╕лах. В однокористувацьк╕й невеличк╕й систем╕ або в систем╕, де на реч╕ дивляться просто, вс╕ розд╕ли легко можна розташувати на одному дисковому розд╕л╕. Дерево директор╕й також можна под╕лити на п╕дрозд╕ли (або файлов╕ системи) базуючись на ╕нших критер╕ях. Все залежить в╕д розм╕р╕в диск╕в та в╕д того, як дисковий прост╕р вид╕ля╓ться для тих чи ╕нших потреб. Однак при всяк╕й схем╕ розпод╕лу, важливою залиша╓ться вимога, щоб вс╕ стандартн╕ назви працювали. Нав╕ть, якщо, скаж╕мо var  та usr  знаходяться на одному п╕дрозд╕л╕, то назви /usr/lib/libc.a  та /var/adm/messages  повинн╕ ╕снувати. Цього можна добитися, наприклад, перен╕сши файли ╕з-п╕д /var  в /usr/var  та зробивши /var  символ╕чною ссилкою на /usr/var .

Файлова система Юн╕кс групу╓ файли в╕дпов╕дно до ╖х призначення, тобто, вс╕ команди знаходяться в одному м╕сц╕, вс╕ файли даних - в ╕ншому, документац╕я - ще в ╕ншому, тощо. Альтернативним п╕дходом ╓ групування файл╕в по ╖х належност╕ до певно╖ програми. Тобто, вс╕ файли, що належать до Emacs'а будуть розташован╕ в одн╕й директор╕╖, вс╕ файли в╕д TEXа в ╕нш╕й, ╕ т.п. При такому п╕дход╕ проблемою ╓ те, що значно затрудня╓ться сп╕льне використання деяких файл╕в (директор╕╖ програм часто м╕стять обидв╕, як статичну так ╕ динам╕чну верс╕╖ файл╕в) ╕ часто нав╕ть звичайний пошук потр╕бного файлу (наприклад, стор╕нки п╕дказки по певн╕й програм╕) перетворю╓ роботу в маячню.



Dmytro Kovalev
1999-06-10