Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Shpora_1-10_bez_vosmogo1.docx
Скачиваний:
3
Добавлен:
16.04.2019
Размер:
108.79 Кб
Скачать

26 Монтирование и демонтирование файловой системы

Файловое дерево формируется из отдельных частей, называемых файловыми системами, каждая из которых содержит один каталог и список его подкаталогов и файлов. Термин "файловая система", по сути, имеет два значения. С одной стороны, это составная часть файлового дерева, а с другой — все файловое дерево и алгоритмы, с помощью которых UNIX управляет им. Как правило, значение термина становится ясным из контекста.

Большинство файловых систем являются разделами диска, но, как уже упоминалось раньше, файловой системой может быть все, что подчиняется определенным функциональным правилам: сетевые файловые системы, компоненты ядра, резидентные диски и т.д.

Файловые системы прикрепляются к файловому дереву с помощью команды mount. Эта команда берет из существующего файлового дерева каталог (он называется точкой монтирования) и делает его корневым каталогом присоединяемой файловой системы. На время монтирования доступ к содержимому точки монтирования становится невозможным. Как правило, точка монтирования — пустой каталог. Например, команда

# mount /dev/sd1c /users

 монтирует файловую систему, размещенную на устройстве /dev/sd1c, под именем /users. После монтирования можно с помощью команды Is /users посмотреть, что содержит эта файловая система.

Список файловых систем, которые были смонтированы пользователями, хранится в файле /etc/fstab/etc/vfstab или /etc/checklist, в зависимости от операционной системы. Благодаря этому становятся возможными автоматическая проверка (fsck ) и монтирование (mount ) файловой системы на этапе начальной загрузки, а также выполнение коротких команд наподобие mount /usr. Точное местоположение монтируемой файловой системы ищется в файле fstab(см. параграф 8.3).

Демонтируются файловые системы командой umount. В большинстве систем занятую файловую систему демонтировать невозможно. В ней не должно быть открытых файлов и выполняющихся процессов. Если демонтируемая файловая система содержит исполняемые программы, они не должны быть запущены.

Если ядро "жалуется" на то, что демонтируемая файловая система занята, можно запустить команду fuser, которая позволит узнать, кто работает с файловой системой. Команда raser  точка_монтирования выводит идентификаторы всех процессов, обращающихся к файлам или каталогам указанной файловой системы. К этим идентификаторам добавляются специальные символьные коды обозначающие выполняемые действия. Например:

% fuser –c /usr

/usr: 157tm 315ctom 474tom 5049tom 84tm 496ctom 490tm 16938c 16902ctm 358ctom 484tm

 Точное количество символьных кодов зависит от системы. Наиболее распространены следующие коды:

с текущий каталог процесса расположен в файловой системе;

о открыт файл;

t выполняется поограмма;

m подключен файл (обычно совместно используемая библиотека);

r корневой каталог процесса находится в файловой системе (задается с помощью команды chroot).

 Чтобы определить, какие программы связаны с этими процессами, вызовите команду ps, передав ей список интересующих вас идентификаторов процессов, о которых сообщила команда fuser. Например:

% ps -fp "157 315 5049"

 UID

PID

PP1D

С

STIME

TTY

TIME

CMD

root

5049

490

0

Oct 14

?

0:00

/usr/bin/Xll/xdm

root

157

1

0

Jun 27

?

5:26

/usr/sbin/named

lp

315

1

0

Jun 27

?

0:00

/usr/lib/lpsched

Список идентификаторов взят в кавычки, чтобы интерпретатор shell передал его команде ps как один аргумент.

Команда fuser может также выдавать статистику использования отдельных файлов, а не всей файловой системы. Синтаксис ее вызова в этом случае должен быть таким:

fuser -f имя_файла

Указав опцию -k, можно заставить команду fuser послать всем найденным процессам сигнал KILL. Это очень опасное действие, и для его выполнения следует иметь привилегии пользователя root (им можно стать с помощью команды sudo).

27 FAT

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]