Различные накопители, такие как жесткие диски, оптические или flash-накопители хранят на самом деле всю информацию в единичках и ноликах, понятные только непосредственно работающему с этими данными железом. А вот файловые системы предлагают метод структурирования информации на диске и представляет нам ее в виде файлов и каталогов.
В системах Linux организация распределения данных представлена в виде дерева. Основой этого дерева является корневой каталог или его еще обозначают "/". Ветви файлового дерева представлены в виде файловых систем, которые в свою очередь также имеют корневой каталог и список его подкаталогов и файлов.
Некоторые файловые системы представляют собой разделы диска или логические тома с памятью на дисках, а некоторые могут принимать обличие в виде компонентов ядра, сетевых файловых систем и т.д. Обычно файловые системы присоединяются к дереву командой mount. Синтаксис следующий
$mount куда что
куда - указывается то место куда мы хотим примонтировать
что - указывается точка монтирования, заданная в виде пути
Например, следующая команда
$mount /dev/sda /tmp
Смонтирует на диск sda файловую систему с корневым каталогом /tmp.
Чтобы увидеть все смонтированные на данный момент файловые системы, можно вызвать команду mount без параметров. В выводе может быть 20 и более файловых систем, но в основном это различные интерфейсы ядра.
Все смонтированные системы хранятся в файле /etc/fstab. Во время загрузки система автоматически проверяет записи в этом файле и монтирует все, что там перечислено. Поэтому еще один способ монтирование файловой системы, это добавление строки в этот файл и вызов следующей команды
$mount -a
Добавленные файловые системы при этом так же смонтируются и не демонтируются после перезагрузки системы.
Демонтируются файловые системы с помощью команды umount. Но есть один нюанс, если в этой файловой системе есть запущенный исполняемый файл, либо файл, который занят каким-либо процессом отмонтировать ФС не получится. В этом случае можно попробовать запустить комнаду umount -f. Но это так же не всегда срабатывает.
Как вариант, можно посмотреть какой процесс занимает файловую систему. Для этого нам могут помочь две команды.
$fuser -с точка_монтирования
выводит идентификаторы всех процессов, обращающиеся к файлам и каталогам указанной файловой системы.
$lsof точка_монтирования
Эта команда, не всегда доступна в некоторых дистрибутивах, ее тогда необходимо устанавливать дополнительно, но зато ее вывод более детальный. Можно будет увидеть кроме идентификатора процесса еще и его краткое описание.
Заключение.
Вот так, примерно, и происходит монтирование и демонтирование файловых систем в Linux. А для чего это надо и где используется, поговорим об этом немного позже. Так что не пропускайте и подписывайтесь, нажатием клавиши ниже👇