Как посмотреть точки монтирования Linux
Одно из самых заметных отличий Linux от Windows, это то, что операционная система позволяет пользователям прозрачно управлять монтированием разделов диска. Это позволяет гибким образом настроить структуру каталогов, использовать несколько файловых систем, где каждая будет выполнять свое предназначение.
Благодаря такой возможности, вы можете переустановить операционную систему и не потерять пользовательские файлы, обращаться к параметрам ядра с помощью каталогов /proc и /sys, а к блочным устройствам с помощью каталога /dev. В этой статье мы разберемся что такое точки монтирования, а также как посмотреть точки монтирования в Linux.
Что такое точки монтирования в Linux?
Чтобы понять как тут всё происходит, давайте проведём аналогию. Допустим, у вас есть большое поле и вы на нём хотите посадить картошку. Но выращивать вы хотите несколько сортов. Поэтому вы делите поле на несколько участков и на каждом из них садите нужный сорт. Когда приходит время собирать урожай, независимо от сорта картошку надо выкопать и вывезти, а к полю идёт только одна дорога и вся полученная картошка будет вывезена именно по ней не зависимо от того, с какого участка она была собрана.
Как посмотреть точки монтирования?
Для просмотра точек монтирования можно использовать команду mount. Её надо запустить без параметров:
С появлением технологии snap и flatpack, точки монтирования Linux слегка засорены монтированием различных snap пакетов и их содержимого к файловой системе, но всё же здесь можно разобрать и смонтированные жесткие диски. Чтобы отфильтровать только жесткие диски используйте утилиту grep:
Не только посмотреть, но и настроить точки монтирования можно с помощью файла /etc/fstab. Здесь перечислены все разделы диска, которые монтируются к системе.
Более подробно о его настройке я писал в этой статье.
Выводы
Из этой статьи вы узнали что такое точки монтирования Linux, а также как их посмотреть и настроить. А что вы думаете по поводу них? Удобнее ли это чем в Windows? Напишите в комментариях!
Разделы жесткого диска и файловые системы
Содержание
Разделы жесткого диска
Раздел — часть долговременной памяти жёсткого диска или флеш-накопителя, выделенная для удобства работы, и состоящая из смежных блоков. На одном устройстве хранения может быть несколько разделов.
Создание разделов на различных видах современных накопителей почти всегда предусмотрено (хотя, к примеру, на, ныне уже не используемых, флоппи-дисках было невозможно создать несколько разделов). Однако в Windows, с флешки с несколькими разделами будет доступен только первый из них (в Windows принято считать флешки аналогом флоппи-диска, а не жесткого диска).
Преимущества использования нескольких разделов
Выделение на одном жёстком диске нескольких разделов даёт следующие преимущества:
Таблица разделов жесткого диска
Структура диска, разбитого на разделы (MBR)
Виды разделов
Первичный (основной) раздел
Расширенный и Логические разделы
Таблица разделов может содержать не более 4 первичных разделов, поэтому были изобретёны расширенный разделы. В расширенном разделе можно создать несколько логических разделов. Логические разделы выстраиваются в цепочку где информация о первом логическом разделе храниться в MBR, а информация о последующем хранится в первом секторе логического раздела. Такая цепочка позволяет (в теории) создавать неограниченное количество разделов, но (на практике) число логических разделов ограничивается утилитами и, обычно, больше 10 логических разделов не создать.
Выбор файловой системы
Подобно Windows, Linux за свою жизнь повидала несколько разных файловых систем. Ubuntu «понимает» файловые системы Windows, но не установится на них. Ubuntu может сразу же записывать и считывать из разделов FAT16, FAT32 и VFAT и NTFS. Однако Windows не может работать с файловыми системами Linux, и вам придётся передавать файлы в и из Windows из-под операционной системы Ubuntu.
Точки монтирования
Linux не назначает буквы каждому диску и разделу, как в Windows и DOS. Вместо этого вы должны задать точку монтирования для каждого диска и раздела. Linux работает по принципу иерархического дерева каталогов, где корневой каталог ( / ) является основной точкой монтирования, в которую по умолчанию входят все остальные. В отличии от Windows в Linux все используемые разделы дисков монтируются в подкаталоги корня, а не как отдельные устройства (C:, D: …).
К примеру, в /home хранятся все ваши персональные файлы. Если вы хотите разместить эти данные в отдельном от корня разделе, то создадите новый раздел и установите точку монтирования на /home. Это можно сделать для любого подкаталога. Во время установки Ubuntu предоставляет возможность задать следующие точки монтирования: /boot (начальный загрузчик и заголовки ядра), /dev (драйверы и устройства), /home (пользовательские файлы), /opt (дополнительное программное обеспечение), /srv (системные сервисы) /tmp (временные файлы), /usr (приложения), /usr/local (данные, доступные всем пользователям) и /var (server spool и логи). Также при установке можно создать и свои точки монтирования с произвольными именами.
Для типичной настольной системы нет никакого смысла выделять собственные разделы для /dev, /opt, /srv, /tmp, /usr/local и /var. Если вы планируете запускать более двух операционных систем или использовать шифрование корневого раздела, то возможно потребуется отдельный раздел для /boot. Иногда стоит также создать раздел для /usr, но только если вы уже имеете чёткое представление о том, сколько места займут приложения. Желательно создать отдельный раздел для /home. Это предоставит вам дополнительные удобства при обновлении и переустановке системы.
Минимально можно ограничится только двумя разделами: «root» и «swap», тогда /boot, /home, /usr и все остальные будут просто храниться в корневом разделе ( / ).
Структура файловой системы
| Директория | Описание |
|---|---|
| / | Корневая директория, содержащая всю файловую иерархию. |
| /bin/ | Основные системные утилиты, необходимые как в однопользовательском режиме, так и при обычной работе всем пользователям (например: cat, ls, cp). |
| /boot/ | Загрузочные файлы (в том числе файлы загрузчика, ядро и т.д.). Часто выносится на отдельный раздел. |
| /dev/ | Основные файлы устройств системы (например физические устройства sata винчестеры /dev/sda, видео камеры или TV-тюнеры /dev/video или псевдоустройства, например «чёрные дыры» /dev/null, /dev/zero ). |
| /etc/ | Общесистемные конфигурационные файлы, лежат в корне директории и файлы конфигурации установленных программ (имя происходит от et cetera). |
| /etc/X11/ | Файлы конфигурации X Window System версии 11. |
| /etc/apt/ | Файлы конфигурации пакетного менеджера Apt. |
| /etc/samba/ | Файлы конфигурации сервера Samba, расшаривающего файлы по сети с windows машинами. |
| /home/ | Содержит домашние директории пользователей, которые в свою очередь содержат персональные настройки и данные пользователя. Часто размещается на отдельном разделе. |
| /lib/ | Основные библиотеки, необходимые для работы программ из /bin/ и /sbin/. |
| /media/ | Точки монтирования для сменных носителей, таких как CD-ROM, DVD-ROM, flash дисков. |
| /opt/ | Дополнительное программное обеспечение. |
| /proc/ | Виртуальная файловая система, представляющая состояние ядра операционной системы и запущенных процессов в виде каталогов файлов. |
| /root/ | Домашняя директория пользователя root. |
| /sbin/ | Основные системные программы для администрирования и настройки системы, например, init, iptables, ifconfig. |
| /srv/ | Данные, специфичные для окружения системы. |
| /tmp/ | Временные файлы (см. также /var/tmp). |
| /usr/ | Вторичная иерархия для данных пользователя; содержит большинство пользовательских приложений и утилит, используемых в многопользовательском режиме. Может быть смонтирована по сети только для чтения и быть общей для нескольких машин. |
| /usr/bin/ | Дополнительные программы для всех пользователей, не являющиеся необходимыми в однопользовательском режиме. |
| /usr/include/ | Стандартные заголовочные файлы. |
| /usr/lib/ | Библиотеки для программ, находящихся в /usr/bin/ и /usr/sbin/. |
| /usr/sbin/ | Дополнительные системные программы (такие как демоны различных сетевых сервисов). |
| /usr/share/ | Архитектурно-независимые общие данные. |
| /usr/src/ | Исходные коды (например, здесь располагаются исходные коды ядра). |
| /usr/local/ | Третичная иерархия для данных, специфичных для данного хоста. Обычно содержит такие поддиректории, как bin/, lib/, share/. Она пригодится, когда /usr/ используется по сети. |
| /var/ | Изменяемые файлы, такие как файлы регистрации (log-файлы), временные почтовые файлы, файлы спулеров. |
| /var/cache/ | Данные кэша приложений. Сюда скачиваются пакеты перед их установкой в систему, здесь же они какое-то время и хранятся |
| /var/lib/ | Информация о состоянии. Постоянные данные, изменяемые программами в процессе работы (например, базы данных, метаданные пакетного менеджера и др.). |
| /var/lock/ | Lock-файлы, указывающие на занятость некоторого ресурса. |
| /var/log/ | Различные файлы регистрации (log-файлы). |
| /var/mail/ | Почтовые ящики пользователей. |
| /var/run/ | Информация о запущенных программах (в основном, о демонах). |
| /var/spool/ | Задачи, ожидающие обработки (например, очереди печати, непрочитанные или неотправленные письма). |
| /var/tmp/ | Временные файлы, которые должны быть сохранены между перезагрузками. |
| /var/www/ | Директория веб-сервера Apache, всё что находится внутри транслируется им в интернет (конфигурация по-умолчанию) |
Дисковые файловые системы, применяемые в Ubuntu
Как разбить жесткий диск для установки Ubuntu
Настоятельно рекомендуется при установке разбивать жесткий диск вручную, создавая как минимум 2 раздела (для корня файловой системы и для /home), что в последствии облегчает процессы обновления, переустановки, восстановления системы или переход на другой дистрибутив.
Для разбития жесткого диска можно воспользоваться программой GParted, входящей в состав LiveCD Ubuntu или же любой другой программой поддерживающей необходимые вам файловые системы.
Расположение разделов на жестком диске
Нужен ли SWAP?
Раздел SWAP используется системой при нехватке оперативной памяти и для спящего режима, поэтому его необходимость определяется двумя факторами: размером оперативной памяти 3) и намерением использовать спящий режим.
Более подробную информацию о SWAP вы можете прочитать в статье SWAP.
Объем раздела для корня файловой системы
Свежеустановленная система Ubuntu занимает 4-6 Гб дискового пространства, однако при активном использовании (установке большого количества программ, увеличении кэша программ, и т.д.) или возникновении сбоев в работе, что приводит к росту объема папок с логами системы (/var/log) может понадобиться большее количество дискового пространства, поэтому для корня файловой системы необходимо выделять раздел 10-15Гб.
Объем раздела для /home
Разделу с папкой /home обычно отдают всё оставшееся пространство, если Ubuntu будет единственной системой на ПК и все мультимедиа данные будут храниться в ней, или, в случае установки рядом с Windows, выделяют отдельный раздел в формате NTFS для мультимедиа данных, а раздел для /home делают минимальным только для хранения файлов конфигурации.
Перенос папки /home на новый раздел после установки
Часто возникает желание привести в порядок неправильно разбитый жесткий диск при установке Ubuntu. При этом возникает необходимость перенести папку /home на отдельный раздел жесткого диска. Ниже приведена краткое руководство действий для выполнения этой задачи.
Создание отдельного раздела
Загрузите компьютер с LiveCD(LiveUSB);
Создайте новый раздел в неразмеченной области или отделив необходимое количество свободного пространства от уже существующего. Отформатируйте его в выбранную вами файловую систему.
Перенос данных на новый раздел
загрузитесь с LiveCD(LiveUSB)
примонтируйте раздел c корнем системы и раздел с будущим расположением /home к текущей файловой системе (заменив sda1 и sda2 своими значениями)
переместите папку /home на новый раздел
посмотрите UUID нового раздела
(fstab файл установленной на жестком диске системы) строку (заменив UUID на свой, естественно):
Что такое монтирование и как пользоваться командой mount (РЕШЕНО)
Что такое монтирование
Монтирование в Linux позволяет получить доступ к содержимому диска и организовать структуру файловой системы. С помощью монтирования также можно открыть для работы образ диска (например, созданного с помощью программы dd), а также открыть для доступа и редактирования самые разные файловые системы и образы дисков (например, образы дисков виртуальных машин); даже удалённые сетевые директории могут быть смонтированы, в результате чего они станут доступны как будто бы файлы на любом другом локальном хранилище.
Кроме того, что с помощью монтирования можно работать с образами дисков, правильные настройки монтирования необходимы для компьютера к которому подключается диск для криминалистического анализа — например, этот диск не должен автоматически монтироваться с правами записи (чтобы не быть испорченным).
В Linux есть такое понятие как «монтирование» диска. Чтобы получить доступ к файлам на этом диске, его нужно сначала смонтировать. Может возникнуть вопрос, зачем такие сложности? Монтирование это мощнейшая вещь, которая позволяет поразительно гибко настроить файловую систему!
Суть монтирования в том, что в файловой системе создаётся новая директория (обычная папка), допустим, это папка /mnt/disk_d. А затем командой mount указывается, что теперь, например, диск /dev/sda смонтирован в директорию /mnt/disk_d. После этого можно получить доступ к файлам диска /dev/sda открыв папку /mnt/disk_d в любом менеджере файлов:

С помощью такого подхода — когда любой диск может быть любой папкой в системе, можно делать очень гибкую настройку. Самый частый пример, встречающийся на практике: файлы пользователя хранятся в папке /home/имя_пользователя/, например, у меня это папка /home/mial/. При установке операционной системы я могу сделать так, что мой второй или третий диск (а не системный) будет смонтирован в точку /home/mial/. То есть вся операционная система будет располагаться на одном диске, а все мои пользовательские файлы — на другом. Что это даёт? В случае переустановки системы, я вновь настрою монтирование диска с моими файлами в папку /home/mial/ и в результате в новой, только что установленной системе, уже будут на месте все мои документы, фотографии и прочее!
Поскольку часто узким местом в мощных компьютерах является скорость чтения с диска, то на на серверах с высокой нагрузкой практикуется перенос файлов баз данных (например, /var/lib/mysql/ на другой диск), возможен перенос файлов сервера (/srv/http/) на третий диск, файлов логов (/var/log/httpd/) на ещё один диск и т. д. Это позволяет добиться того, что данные из баз данных считываются независимо от записи журналов, то есть пока выполняются операции чтения-записи для одного процесса, другому процессу не нужно ждать своей очереди — всё выполняется одновременно.
В общем, несмотря на то, что монтирование является чем-то непривычным для пользователей Windows, это потрясающая функция! Причём ничего сложного в этом нет, если понять суть.
Как увидеть точки монтирования
Для просмотра устройств и точек их монтирования, выполните команду:

Эта команда отображает целевую точку монтирования (TARGET), исходное устройство (SOURCE), тип файловой системы (FSTYPE) и соответствующие параметры монтирования (OPTIONS) для каждой файловой системы, как показано на скриншоте. Подробности смотрите в статье «Команда findmnt для просмотра смонтированных файловых систем в Linux».
Команда findmnt без опций покажет больше данных:

Но среди вывода будут различные виртуальные файловые системы, которые нужны не всегда.
Команда mount также может показывать список точек монтирования, но эта функция в ней поддерживается только для обратной совместимости. Тем не менее, для вывода смонтированных реальных файловых систем вы можете использовать команду:

А для показа всех точек монтирования, запустите команду следующим образом:

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

Как смонтировать диск
Общая команда монтирования диска имеет вид:
Среди ОПЦИЙ можно указать, например, тип файловой системы или режим только для чтения (по умолчанию монтирование выполняется для чтения и для записи). Существует большое количество опций, некоторые из которых применимы для всех файловых систем, а некоторые из которых специфичны только для определённых файловых систем. Программа mount имеет свои опции, которые относятся к поведению этой утилиты, а также имеются опции, которые относятся к файловым системам, такие опции указываются после -o.
Некоторые опции можно указать любым из этих способов, например, опцию -w, которая означает монтирование для чтения и записи (её псевдонимы —rw, —read-write), также можно указать как «-o rw».
Справочная информация по опциям будет приведена в конце данной статьи.
На самом деле, если вы хотите смонтировать диск для чтения и записи, то можно не указывать никакие опции.
Поэтому обычно для монтирования используется команда вида:
Начинаем с создания директории, в которую будет смонтирован диск:
Монтируем диск /dev/sda:
Разрешаем доступ всем в этот диск, чтобы обычный пользователь также мог смотреть и записывать туда файлы:
На самом деле, права доступа можно настроить более тонко — без полного разрешения для всех.
Как смонтировать диск только для чтения
Для монтирования диска с правами записи, используется любая из опций: -w, —rw, —read-write, -o rw. На самом деле, ни одну из них указывать не нужно, поскольку монтирования с правами записи является поведением по умолчанию.
Чтобы смонтировать диск только с правами чтения, используйте любой из вариантов опции: -r, —read-only, -o ro.
Обратите внимание, что, в зависимости от типа файловой системы, состояния и поведения ядра, система все ещё может записывать данные на устройство. Например, ext3 и ext4 будут использовать журнал, если файловая система загрязнена. Чтобы предотвратить такой доступ для записи, вы можете смонтировать файловую систему ext3 или ext4 с параметрами монтирования ro,noload или установить само блочное устройство в режим только для чтения с помощью команды blockdev:
Обратите внимание, что эффект команды blockdev проявится только если устройство не смонтировано. Если оно уже смонтировано, то изменения вступят в силу после перемонтирования.
Программа hdparm также позволяет установить флаг read-only устройства. Когда значение read-only установлено на 1, Linux не разрешает операции записи на устройство.
Чтобы установить флаг read-only:
Чтобы снять флаг read-only (устройство станет доступным для записи):
Чтобы проверить текущее состояние флага read-only:
Пример проверки значения флага read-only для диска /dev/nvme0n1:
Вывод (режим только чтение отключён, то есть возможна запись на устройство):
Альтернативный (классический) способ создания монтирования привязки только для чтения — использовать операцию повторного монтирования, например:
О привязке (bind) и перемонтировании будет далее.
Как размонтировать диск
Для размонтирования диска используется любая из двух команд:
Частой ошибкой является когда указывают с командой umount одновременно имя диска и точку монтирования — нужно указать только что-то одно.
Если вы получили ошибку, что диск занят, это означает, что какая-то программа держит открытым файл на этом диске. Чтобы выяснить, какая программа препятствует операции размонтирования/перемонтирования, можно использовать программу lsof следующим образом:
Как переместить точку монтирования
Можно переместить точку монтирования в другую директорию, для этого используется команда вида:
Это приведёт к тому, что содержимое, которое ранее отображалось в СТАРАЯ_ДИРЕКТОРИЯ, теперь будет доступно в НОВАЯ_ДИРЕКТОРИЯ. Физическое расположение файлов не меняется. Обратите внимание, что СТАРАЯ_ДИРЕКТОРИЯ должен быть точкой монтирования.
Также обратите внимание, что перемещение монтирования, находящегося под общим монтированием, недопустимо и не поддерживается. Используйте команду findmnt, чтобы увидеть текущие флаги распространения:
Как перемонтировать диск
Можно перемонтировать уже смонтированную файловую систему. Обычно это используется для изменения флагов монтирования файловой системы, особенно для того, чтобы сделать файловую систему доступной для записи. Это не меняет устройство или точку монтирования. Эта операция отличается от предыдущих двух: от привязки и перемещения она отличается тем, что не создаётся новая точка монтирования и не перемещается точка монтирования, но меняются опции монтирования.
Функциональность повторного монтирования соответствует стандартному способу работы команды mount с параметрами из fstab. Это означает, что mount не читает fstab (или mtab) только тогда, когда указаны и устройство, и каталог.
Команда перемонтирования имеет общий вид:
К примеру, чтобы перемонтировать диск, смонтированный в /mnt/disk_d, установив права доступа на «только для чтения»:
Можно также указать одновременно устройство и точку монтирования:
Пример перемонтирования корневой файловой системы с опцией «чтение и запись»:
Опция «чтение и запись» может быть помещена в опцию строки команды -o, например:
После этого вызова все старые параметры монтирования заменяются, а произвольные данные из fstab (или mtab) игнорируются, за исключением параметра loop=, который генерируется внутри и поддерживается командой mount.
После этого вызова mount читает fstab и объединяет эти параметры с параметрами из командной строки (-o). Если в fstab не найдена точка монтирования, разрешается повторное монтирование с неуказанным источником.
mount позволяет использовать —all для повторного монтирования всех уже смонтированных файловых систем, соответствующих указанному фильтру (-O и -t). Например, команда:
Как узнать имя диска для монтирования
Чтобы смонтировать диск (или файл образа) достаточно указать имя устройства и папку, куда его смонтировать (где будут доступны файлы с этого диска). Как мы уже выяснили, не нужно даже указывать тип файловой системы.
Но чтобы смонтировать нужный диск, нужно правильно указать его название или название его раздела.
Отсюда возникает вопрос, как узнать имя раздела для монтирования? Устройства в Linux имеют имена вида /dev/*. Большинство дисков и USB накопителей имеют имена вида /dev/sd*, где в качестве * (звёздочки) используются буквы от a и далее, то есть b, c, d… Номер буквы соответствует порядковому номеру диска в системе. Если диск разбит на разделы, то после буквы идёт цифра раздела, например, /dev/sda1, /dev/sda2 и так далее. Если диск не разбит на разделы, то его можно смонтировать по имени без цифры, например, /dev/sda. Если же диск разбит на разделы, то нужно указать его имя с цифрой раздела, например, /dev/sda3.
В зависимости от используемой технологии дисков, у них могут быть другие имена. Пример имени диска NVMe: /dev/nvme0n1. В этом случае нумерация разделов также не подчиняется описанным выше правилам, первый и второй разделы имеют имена /dev/nvme0n1p1 и /dev/nvme0n1p2 соответственно.
Итак, необходимо правильно определить имя диска (или имя раздела, если диск разбит на разделы).
Обзорную информацию о дисках в системе может дать команда:
Эта команда показала, что в системе есть диски трёх типов: SCSI (внутренний жёсткий диск), [SAT], ATA (жёсткий диск, подключённый по USB переходнику к компьютеру), NVMe (внутренний твердотельный диск).
На самом деле, вывод команды неполный (пропущена USB флешка) и в нём полностью отсутствует информация о разделах. Тем не менее она может помочь вам сориентироваться в присутствующих на вашей системе дисках.
Хорошим вариантом является следующая программа:
Она выводит информацию о каждом диске и каждом разделе. В информации присутствует модель диска, размер и тип разделов — основываясь на этих данных можно найти название нужного раздела.

Если диск монтируется автоматически, то его имя можно увидеть с помощью команда мониторинга:
Ещё одна команда, показывающая обзорную информацию об именах дисках, их файловых системах, ярлык и занятое пространство (в процентах) и доступный объём свободного места (в гигабайтах):

Возможно вы сможете найти полезную информацию в LABEL разделов, чтобы показать сразу все разделы, выполните:
Если вы уже почти определились с разделом и хотите подтвердить свою правоту, то информацию по конкретному разделу можно получить командой вида:
Команда file также может рассказать много интересного про раздел:



