2. Архітектура файлової системи
Зміст
Поняття файлової системи
Фа́йлова систе́ма — спосіб організації даних, який використовуються операційною системою для збереження інформації у вигляді файлів на носіях інформації. Також цим поняттям позначають сукупність файлів та директорій, які розміщуються на логічному або фізичному пристрої.
Cтворення файлової системи відбувається в процесі форматування.
В залежності від організації файлів на носії даних, файлові системи можуть поділятись на:
- ієрархічні файлові системи - дозволяють розміщувати файли в каталоги;
- пласкі файлові системи - не використовують каталогів;
- кластерні файлові системи - дозволяють розподіляти файли між кількома однотипними фізичними пристроями однієї машини;
- мережеві файлові системи - забезпечують механізми доступу до файлів однієї машини з інших машин мережі;
- розподілені файлові системи - забезпечують зберігання файлів шляхом їх розподілу між кількома машинами мережі.
Приклади файлових систем
- FAT 16;
- FAT 32;
- NTFS;
- Ext2;
- Ext3;
- Ext4;
- ZFS;
- ISO 9660 (також відома як CDFS - CD File System).
Filesystem Hierarchy Standard
Filesystem Hierarchy Standard, FHS («Стандарт Ієрархії Файлової Системи») — стандарт прийнятий для уніфікації розташування файлів і каталогів загального призначення у файловій системі ОС UNIX. Сьогодні більшість UNIX-подібних систем в тій або іншій мірі слідують цим правилам.
Структура каталогів
В FHS всі файли і каталоги знаходяться всередині кореневого каталогу, навіть якщо вони розташовані на різних фізичних носіях. Проте, деякі з каталогів можуть бути присутніми тільки у випадку, якщо встановлено певне програмне забезпечення, таке як наприклад X Window System. Велика частина цих каталогів існує у всіх UNIX-подібних операційних системах і використовується схожим чином.
Каталог | Опис |
---|---|
/ | Кореневий каталог, що містить всю файлову ієрархію |
/bin | містить в основному готові до виконання програми, більшість з яких необхідні під час старту системи (або в однокористувацькому системному режимі, що використовується для зневадження). Тут зберігається значна кількість загальновживаних команд Linux (наприклад: cat, ls, cp тощо) |
/boot | Містить основні постійні файли для завантаження системи, зокрема завантажуване ядро. Файли з цього каталогу потрібні лише під час завантаження системи |
/dev | Каталог спеціальних файлів або файлів пристроїв |
/etc | Цей каталог і його підкаталоги містять більшість даних, необхідних для початкового завантаження системи і основні конфігураційні файли. У /etc знаходяться, наприклад, файл inittab, що визначає завантажувану конфігурацію, і файл паролів користувачів passwd. Частина конфігураційних файлів може знаходиться і в /usr/etc. Каталог /etc не повинен містити двійкових файлів (їх слід перенести в /bin або /sbin). Нижче наводиться призначення основних (але далеко не всіх) підкаталогів каталогу /etc |
|
Цей підкаталог містить файли, які використовуються в процесі початкового завантаження системи |
|
Коли створюється новий користувач і account для нього, то файли з цього каталогу копіюються в знов створений домашній каталог користувача |
|
Каталог, що містить деякі (але не всі) конфігураційні файли системи |
|
Каталог для конфігураційних файлів підсистеми X11 (наприклад, XF86Config) |
/home | Містить домашні каталоги користувачів, які у свою чергу містять персональні настройки і дані користувача. Часто розміщується на окремому розділі |
/lib | Цей каталог містить бібліотеки функцій, потрібних компілятору мови C, і модулі ядра (драйвери пристроїв, файлових систем тощо). Навіть якщо в системі не встановлено компілятор мови C, спільні бібліотеки є необхідними, оскільки вони використовуються багатьма прикладними програмами. Вони завантажуються в пам'ять за потребою виконання якихось функцій, що дозволяє зменшити розмір двійкового коду програм — інакше той самий код багато разів повторювався б в різних програмах |
/lost+found | Цей каталог використовується при відновленні файлової системи командою fsck. Якщо fsck виявляє файл, батьківський каталог якого визначити неможливо, вона поміщає такий файл в каталог /lost+found. Оскільки батьківський каталог втрачено, то таким файлам присвоюються імена, що збігаються з номерами їхніх індексних дескрипторів |
/media | Точки монтування для змінних носіїв, таких як CD-ROM, DVD-ROM (вперше описано в FHS-2.3), а в останні роки і розділи жорсткого диску — наприклад в LinuxMint це sda1, sda2 для 1 та 2-го розділу відповідно. |
/mnt/ | Містить тимчасово змонтовані файлові системи |
/opt/ | Додаткове програмне забезпечення |
/proc/ | Віртуальна файлова система, що представляє стан ядра операційної системи і запущених процесів у вигляді файлів |
/root | Домашній каталог користувача root. Зверніть увагу на те, що він розташований не там, де розташовуються особисті каталоги решти користувачів (у /home) |
/sbin | Подібно до каталогу /bin містить в основному виконувані файли — програми і утиліти ОС, що використовувані в процесі завантаження і запускаються системним адміністратором. У стандарті FHS мовиться, що в цей каталог треба поміщати ті виконувані файли, які використовуються для успішного монтування файлової системи /usr. Мінімальний вміст цього каталогу включає програми clock, getty, init, update, mkswap, swapon, swapoff, halt, reboot, shutdown, fdisk, fsck.*, mkfs.*, lilo, arp, ifconfig, route |
/tmp | Каталог для тимчасових файлів. У будь-який момент суперкористувач може стерти файли з цього каталогу без великого збитку для решти користувачів. Проте, не варто стирати файли з цього каталогу, окрім, якщо вам точно відомо, що конкретний файл або група файлів заважають продуктивній роботі на машині. Система сама періодично очищає цей каталог, тому не слід зберігати тут файли, які вам можуть знадобитися надалі |
/usr | Цей каталог величезний і його структура в основному повторює структуру кореневого каталогу. У його підкаталогах знаходяться основне програмне забезпечення. Відповідно до стандарту FHS рекомендується виділяти для цього каталогу окремий розділ диска або взагалі розташовувати його на мережевому диску, загальному для всіх комп'ютерів в мережі. Такий розділ або диск вмонтовують тільки для читання і розташовують в ньому загальні конфігураційні і виконувані файли, документацію, системні утиліти і бібліотеки, а також файли, що включаються (файли типу include) |
|
Готові до виконання програми — утиліти і додатки, які часто викликають звичайні користувачі.
|
|
Цей каталог містить файли зі словниками для програм перевірки коректності написання слів. |
|
Тут містяться конфігураційні файли для групи машин. Проте, команди і програми повинні дивитися в каталог /etc, в якому повинні бути посилання до файлів в каталозі /usr/etc |
|
Цей каталог містить сирцевий код стандартних бібліотек мови C, що додається в програмах директивою препроцесора include. Тому користувачеві треба мати, принаймні, право на читання з цього каталогу. У жодному випадку не слід змінювати файли в цьому каталозі, тому що вони ретельно зневаджені розробником системи (хіба що ви знаєте систему краще за розробника) |
|
У даному каталозі містяться об'єктні бібліотеки підпрограм, динамічні бібліотеки, деякі готові до виконання програми, які не викликаються безпосередньо. Складні програмні системи можуть мати свої підкаталоги в цьому каталозі.
|
|
Зазвичай тут поміщають програми і підкаталоги, які є локальними (унікальними) для даної машини [1]
|
|
Сирці сторінок інтерактивного керівництва man (не підготовлені для перегляду)
|
|
Цей каталог містить виконувані програми для системного адміністрування, які не використовуються під час завантаження |
|
Сирці для різних частин Linux
|
|
Ще одне місце для зберігання тимчасових файлів. Як правило, це символічне посилання на каталог /var/tmp |
|
Файли X-Window, що відносяться до системи (версії 11, реліз 6).
|
/var | Цей каталог містить файли, в яких зберігаються різні змінні дані, що визначають конфігурацію деяких програм при наступному запуску або інформацію, що тимчасово зберігається, яка використовуватиметься пізніше в ході поточного сеансу. Обсяг даних у цьому каталозі може сильно змінюватися, оскільки він містить, наприклад, файли протоколів (логи), файли спулінга і блокування (locking), тимчасові файли тощо |
|
Містить облікову і діагностичну інформацію, потрібну системному адміністраторові |
|
Цей каталог використовується, щоб зберегти резервну копію важливих системних файлів |
|
Цей каталог використовується, щоб зберігати вже сформовані сторінки керівництва відповідно до номера розділу |
|
Тут містяться керівні файли системи, які використовуються для резервування використання тих або інших ресурсів системи |
|
Файли протоколів (логи) |
|
Змінні файли часу виконання різних програм. Вони містять ідентифікатори процесів (PIDs) і записують поточну інформацію (utmp). Файли в цьому каталозі зазвичай очищаються під час завантаження системи |
|
Файли різних програм, поставлені в чергу на обслуговування
|
|
Тимчасові файли |
Помилка цитування: Для наявного тегу <ref>
не знайдено відповідного тегу <references/>