Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
практична робота 8.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
232.96 Кб
Скачать

Операції над файловими системами. Монтування файлових систем

В матеріалах попередніх занять розглядалася тільки одна файлова система, розташована в одному розділі фізичного носія. Як тільки ми переходимо до співіснування декількох файлових систем в рамках однієї операційної системи, встає питання про логічне об'єднання структур цих файлових систем. При роботі операційної системи нам спочатку доступна лише одна, так звана коренева, файлова система. Перш, ніж приступити до роботи з файлом, що лежить в деякій іншій файловій системі, ми повинні вбудувати її у вужі існуючий ациклічний граф файлів. Ця операція – операція над файловою системою – називається монтуванням файлової системи (mount).

Для монтування файлової системи (див. лекцію 12, розділ "Монтування файлових систем") в існуючому графі повинна бути знайдена або створена деяка порожня директорія – точка монтування, до якої і приєднається корінь вмонтовуваної файлової системи. При операції монтування в ядрі заводяться структури даних, що описують файлову систему, а в vnode для точки монтування файлової системи поміщається спеціальна інформація.

Монтування файлових систем звичайно є прерогативою системного адміністратора і здійснюється командою операційної системи mount в ручному режимі, або автоматично при старті операційної системи. Використовування цієї команди без параметрів не вимагає спеціальних повноважень і дозволяє користувачу одержати інформацію про всі змонтовані файлові системи і відповідні їм фізичні пристрої. Для користувача також звичайно дозволяється монтування файлових систем, розташованих на гнучких магнітних дисках. Для першого накопичувача на гнучких магнітних дисках така команда в Linux виглядатиме таким чином:

mount /dev/fd0 <ім'я порожньої директорії>

де <ім'я порожньої директорії> описує точку монтування, а /dev/fd0 – спеціальний файл пристрою, відповідного цьому накопичувачу (про спеціальні файли пристроїв буде детально розказано в наступному розділі).

Команда mount

mount [-hV]

mount [-rw] [-t fstype] device dir

Опис команди

Справжній опис не є повним описом команди mount, а описує тільки ті її опції (дуже малу частину), які використовуються в даному курсі. Для отримання повного опису слід звернутися до UNIX Manual.

Команда mount призначена для виконання операції монтування файлової системи і отримання інформації про вужа змонтованих файлових системах.

Опції -h, -V використовуються при виклику команди без параметрів і служать для наступних цілей:

  • -h – вивести коротку інструкцію по користуванню командою;

  • -V – вивести інформацію про версію команди mount;

Команда mount без опцій і без параметрів виводить інформацію про всі вже змонтовані файлові системи.

Команда mount з параметрами служить для виконання операції монтування файлової системи.

Параметр device задає ім'я спеціального файлу для пристрою, що містить файлову систему.

Параметр dir задає ім'я точки монтування (ім'я деякої вже існуючої порожньої директорії). При монтуванні можуть використовуватися наступні опції:

  • -r — змонтувати файлову систему тільки для читання (read only);

  • -w — змонтувати файлову систему для читання і для запису (read/write). Використовується за умовчанням;

  • -t fstype — задати тип вмонтовуваної файлової системи як fstype. Підтримувані типи файлових систем в операційній системі Linux: adfs, affs, autofs, coda, coherent, cramfs, devpts, efs, ext, ext2, ext3, hfs, hpfs, iso9660 (для CD), minix, msdos, ncpfs, nfs, ntfs, proc, qnx4, reiserfs, romfs, smbfs, sysv, udf, ufs, umsdos, vfat, хеnix, xfs, xiafs. За відсутності явно заданого типу команда для більшості типів файлових систем здатна пізнати його автоматично.

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

umount <ім'я точки монтування>

де <ім'я точки монтування> – це <ім'я порожньої директорії>, використане раніше в команді mount, або у формі

umount /dev/fd0

де /dev/fd0 – спеціальний файл пристрою, відповідного першому накопичувачу на гнучких магнітних дисках.

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

Команда umount

umount [-hV]

umount device

umount dir

Опис команди

Справжній опис не є повним описом команди umount, а описує тільки ті її опції (дуже малу частину), які використовуються в даному курсі. Для отримання повного опису слід звернутися до UNIX Manual (команда man).

Команда umount призначена для виконання операції логічного роз'єднання раніше змонтованих файлових систем.

Опції -h, -V використовуються при виклику команди без параметрів і служать для наступних цілей:

  • -h – вивести коротку інструкцію по користуванню командою;

  • -V – вивести інформацію про версію команди umount.

Команда umount з параметром служить для виконання операції логічного роз'єднання файлових систем. Як параметр може бути задано або ім'я пристрою, що містить файлову систему – device, або ім'я точки монтування файлової системи (тобто ім'я директорії, яке указувалося як параметр при виклику команди mount) – dir.

Помітимо, що файлова система не може бути демонтована до тих пір, поки вона знаходиться у використовуванні (busy) – наприклад, коли в ній існують відкриті файли, який-небудь процес має як робоча директорія директорію в цій файловій системі і т.д.