Монтирование диска в Linux
Разделы дисков в Linux подключаются к системе совсем не так, как в Windows. Здесь есть корневая файловая система, куда подключаются все другие разделы и устройства, которые вы будете использовать. Системные разделы монтируются автоматически при старте системы. Но если вам нужно подключить дополнительные разделы, в некоторых случаях, может понадобиться это делать вручную.
В этой статье мы рассмотрим как выполняется монтирование диска в Linux, поговорим о том, как правильно использовать утилиту mount, umount и посмотреть какие разделы куда примонтированы.
Что такое монтирование?
Как я уже сказал Linux имеет единую корневую файловую систему, куда подключаются все запоминающие устройства и другие ресурсы. На самом деле, в Windows происходит что-то подобное, только все это скрыто от пользователя.
Фактически смонтированный раздел становится частью корневой файловой системы и система старается сделать работу со всеми разделами, независимо от их файловых систем, прозрачной. Это значит, что если вы примонтируете участок оперативной памяти или удаленную сетевую папку, то сможете работать с ней в файловом менеджере точно так же, как и с локальным диском.
Например, вы хотите примонтировать флешку. Вы даете системе команду подключить ее в папку /run/media/имя_пользователя/UUID_флешки/. Система определяет файловую систему устройства, а затем, используя драйвера ядра подключает ее к указанной папке. Дальше вам остается работать с той папкой, как с любой другой. Больше ни о чем думать не нужно. Когда надумаете извлечь флешку, ее нужно отмонтировать.
Монтирование дисков в Linux
Обычно, монтированием занимаются специальные сервисы оболочки, но не всегда они доступны. А иногда нужно сделать все вручную, чтобы задать дополнительные опции монтирования или другие параметры. Для монтирования в Linux используется команда mount. Рассмотрим ее параметры:
$ mount файл_устройства папка_назначения
Или расширенный вариант:
$ mount опции -t файловая_система -o опции_монтирования файл_устройства папка_назначения
Опции задают различные дополнительные особенности работы утилиты. Опция -t необязательна, но она позволяет задать файловую систему, которая будет использована и иногда это очень полезно. С помощью опции -o вы можете задать различные параметры монтирования, например, монтировать только для чтения и т д. Последних два параметра — это файл устройства, например, /dev/sda1 и папка назначения, например, /mnt.
Перед тем как перейти к рассмотрению примеров работы утилитой, давайте рассмотрим ее основные опции:
- -V — вывести версию утилиты;
- -h — вывести справку;
- -v — подробный режим;
- -a, —all — примонтировать все устройства, описанные в fstab;
- -F, —fork — создавать отдельный экземпляр mount для каждого отдельного раздела;
- -f, —fake — не выполнять никаких действий, а только посмотреть что собирается делать утилита;
- -n, —no-mtab — не записывать данные о монтировании в /etc/mtab;
- -l, —show-labels — добавить метку диска к точке монтирования;
- -c — использовать только абсолютные пути;
- -r, —read-only — монтировать раздел только для чтения;
- -w, —rw — монтировать для чтения и записи;
- -L, —label — монтировать раздел по метке;
- -U, —uuid — монтировать раздел по UUID;
- -T, —fstab — использовать альтернативный fstab;
- -B, —bind — монтировать локальную папку;
- -R, —rbind — перемонтировать локальную папку.
Это не все, но основные опции, которые вам понадобятся во время работы с утилитой. Также, возможно, вы захотите знать список опций монтирования, которые могут быть полезными. Они все перечислены в статье автоматическое монтирование в fstab и писать их еще и здесь нет смысла. А теперь перейдем к примерам и рассмотрим как монтировать диск в linux.
Монтирование разделов с помощью mount
Монтирование разделов с помощью mount выполняется очень просто. Фактически в большинстве случаев будет достаточно упрощенной версии команды. Например, смонтируем раздел /dev/sdb6 в папку /mnt:
sudo mount /dev/sdb6 /mnt/
В большинстве случаев вы будете вынуждены выполнять команду mount с правами суперпользователя, если обратное не указано в fstab (опция монтирования users). Вы можете посмотреть информацию о процессе монтирования добавив опцию -v:
sudo mount -v /dev/sdb6 /mnt/
Если нужно, вы можете указать файловую систему с помощью опции -t:
sudo mount -v -t ext4 /dev/sdb6 /mnt
Если необходимо примонтировать файловую систему только для чтения, то вы можете использовать опцию -r или опцию монтирования -o ro, результат будет одинаковым:
sudo mount -t ext4 -r /dev/sdb6 /mnt
$ sudo mount -t ext4 -o ro /dev/sdb6 /mnt
Вы можете использовать и другие опции чтобы выполнить монтирование разделов linux, например, указать, что на этом разделе нельзя выполнять программы:
sudo mount -t ext4 -o noexec /dev/sdb6 /mnt
Обратите внимание, что вы не можете использовать опции uid, gid, fmask для файловых систем ext. Они поддерживаются только в FAT, vFAT, exFAT.
Вы можете использовать не только имена устройств чтобы выполнить монтирование диска в linux. Для этого можно применять UUID или метки, например, монтирование с помощью UUID:
sudo mount —uuid=»b386d309-05c1-42c8-8364-8d37270b69e0″ /mnt
Посмотреть uuid для ваших разделов можно с помощью команды:
Точно так же вы можете использовать метки. Команда монтирования диска linux будет выглядеть так:
sudo mount —label=»home» /mnt/
Вы можете примонтировать одну папку в другую, для этого используйте опцию —bind
sudo mount —bind /mnt/ /media/
Возможно, не только монтирование разделов linux, но и монтирование файлов, если они содержат файловую систему, например, образов дисков. Монтирование образа диска linux работает точно так же:
Посмотреть список всех примонтированных устройств можно просто выполнив mount без параметров:
Размонтирование устройств в Linux
Когда вы хотите завершить работу с устройством, особенно с флешкой, его нужно размонтировать. Для этого существует утилита umount. В качестве параметров она принимает точку монтирования или устройство. Например:
Теперь ваше устройство не смонтировано. Но иногда может возникнуть ошибка размонтирования. Система сообщит, что устройство занято: umount: /mnt: target is busy.
Проблему можно решить закрыв все программы, которые могут использовать любой файл в этой папке. Какие именно это программы вы можете узнать с помощью команды lsof:
lsof -w /mnt
$ lsof -w /dev/sdb6
Здесь вы видите всю необходимую информацию, чтобы понять что происходит и что с этим делать. Утилита вывела название программы, ее PID, и даже файл, с которым она работает. Вы можете завершить все программы, а потом снова повторить попытку или используйте опцию -l, файловая система будет отключена немедленно, несмотря на то, что она занята:
Выводы
В этой статье мы рассмотрели как выполняется монтирование жестких дисков linux, а также разделов и даже образов. Вы знаете как правильно использовать опции mount и umount. Если у вас остались вопросы, спрашивайте в комментариях!
Смотрим список дисков Linux
Linux отображает подключённые жёсткие диски иначе, чем Windows. В операционной системе от Microsoft мы привыкли к тому, что у нас есть диск C, D, E, и нам не нужно задумываться о реальных именах разделов и жёстких дисков. Все диски размещены в проводнике и очень просто доступны.
В Linux такой возможности нет, как и нет такой абстракции. Диски и разделы именуются как есть, и вы будете иметь дело именно с этими именами. В этой статье мы разберём, как посмотреть список дисков Linux.
Как посмотреть список дисков в Linux
В Linux все отображается в файловом виде, в том числе и устройства. Все подключённые к операционной системе Linux устройства размещаются в каталоге /dev/ здесь вы найдете микрофоны, камеры, жёсткие диски, флешки, одним словом, все внешние и внутренние устройства.
Жёсткие диски имеют особенные названия. В зависимости от интерфейса, через который подключён жёсткий диск, название может начинаться на:
- sd — устройство, подключённое по SCSI;
- hd — устройство ATA;
- vd — виртуальное устройство;
- mmcblk — обозначаются флешки, подключённые через картридер;
В наше время большинство блочных устройств Linux подключаются через интерфейс SCSI. Сюда входят жёсткие диски, USB-флешки, даже ATA-диски теперь тоже подключаются к SCSI через специальный переходник. Поэтому в большинстве случаев вы будете иметь дело именно с дисками sd.
Третья буква в имени диска означает его порядковый номер в системе. Используется алфавитная система. Например sda — первый диск, sdb — второй диск, sdc — третий и так далее. Дальше следует цифра — это номер раздела на диске — sda1, sda2.
Самый простой способ увидеть все подключённые диски — это посмотреть содержимое каталога /dev/ и отфильтровать устройства sd:
Как видите, в моей системе сейчас есть только один диск и два раздела. Дальше мы можем посмотреть, куда примонтирован каждый из разделов:
Здесь, кроме дисков, будут отображаться различные специальные файловые системы: procfs, sysfs, tmpfs, cgroup и так далее. Однако все эти команды не помогут нам получить доступ к информации о дисках. Поэтому нам понадобится кое-что другое. Посмотреть подключённые диски с выводом информации о размере и свободном пространстве можно с помощью утилиты df:
Здесь отображается уже подробная информация. Но вы можете узнать ещё больше с помощью команды lsblk:
В этом случае список примонтированных дисков Linux включает ещё и информацию о точке монтирования, типе раздела (диск, раздел, привод) и его мажорном и минорном номере, по которым можно понять, что это за устройство. Если вам нужна информация о размере, то лучше использовать fdisk:
Это все утилиты, которыми вы можете воспользоваться, чтобы просмотреть список дисков Linux. Но есть ещё и графические утилиты.
Посмотреть список дисков в GUI
Во-первых, если к компьютеру подключено несколько дисков, то вы сможете их увидеть на левой панели файлового менеджера Nautilus или Dolphin. Там будет отображаться список подключенных устройств Linux, их метки и размер:
В Gnome есть программа Disks, которая позволяет настраивать поведение дисков, она же может отображать список подключенных устройств к системе. Вы можете найти её в главном меню:
Утилита отображает всю доступную информацию о дисках и разделах на них, вы можете даже посмотреть информацию о состоянии smart. Список дисков находится на панели слева, а справа разделы на этом диске:
Ещё одна утилита, которую вы можете использовать, чтобы посмотреть список жёстких дисков Linux — это Gparted. Это редактор разделов для Linux, но вы можете посмотреть подключнёные диски и структуру каждого из них. Раскрывающийся список вы найдёте в верхнем правом углу:
А в основной части окна программы отображается список разделов.
Выводы
В этой статье мы разобрали несколько способов посмотреть список примонтированных дисков Linux. Каждый из них может понадобиться в различных ситуациях. Если у вас остались вопросы, спрашивайте в комментариях!