Монтирование дисков в Linux
Монтирование дисков в Linux
Монтирование дисков — понятие новое для бывших пользователей Windows
Мы с вами с ним в первые столкнулись, когда устанавливали Linux и нам необходима было примонтировать раздел Windows, что бы мы могли им пользоваться и в Linux.
В линукс монтируется все — жесткие/виртуальные диски, CD дисководы, Flash карты и т.д.
mount / umount
Для монтирования дисков в ручную используется команда mount в консоли.
пример монтирования CD дисковода:
mount -t auto /dev/cdrom /media/cdrom -o iocharset=utf8,users,gid=users,umask=000,ro,exec,codepage=866
Распишем пример
mount — сама команда
-t — параметр (более подробно можно узнать о параметрах набрав mount --help )
auto — файловая система диска, авто означает, что определяется автоматически (более подробно рассмотрим ниже)
/dev/cdrom — устройство, что монтируем
media/cdrom — папка, куда монтируем (должна существовать)
-o — дополнительный параметр, после которого идут дополнительные данные об монтировании (рассмотрим ниже)
mount — без параметров, показывает, что в настоящее время смонтированно
umount — размонтирование устройства
пример umount media/cdrom
fstab - Автоматическое монтирование файловых систем
Файл fstab содержит информацию об автоматическом монтировании дисков и находится по адресу /etc/fstab
В нем расписана похожая информация из нашего примера ручного монтирования, только несколько в ином порядке:
Устройство - точка монтирования - файловая система — параметры — флаг бэкапа — флаг проверки
Пример
/dev/sda4 /mnt/windows ntfs defaults 0 1
Редактируя информацию этого файла вы можете определять, что и как должно монтироваться.
Теперь разберем все по-порядку:
1. Устройство
Название устройства чаще всего зависит от конкретной UNIX (LINUX) системы и от самого устройства.CD/DVD - устройство /dev/cdrom или /dev/sr#, где вместо # - номер устройства, начиная с 0 (диск А-0, B-1)
Floppy дисковод - /dev/fd# , где вместо # - номер устройства, начиная с 0 (диск А-0, B-1)
Жесткие диски:
IDE: primary master: /dev/hda#
primary slave: /dev/hdb#
secondary master: /dev/hdc#
secondary slave: /dev/hdd#
SCSI/SATA: /dev/sdX#, где вместо X - буква по порядку подключенного винчестера (Первый - a, второй - b и т.д )
Везде - вместо # - номер раздела на жестком диске, начиная с 0.
В моем случае SCSI/SATA:
/dev/sda# - разделы жесткого диска
dev/sdb1 — dev/sdd1 — флешь карты
Здесь есть особенности. Для файловой системы procfs, дающей доступ к внутренним структурам ядра, здесь может находиться любой текст, а для сетевой файловой системы указывается имя сервера и подкаталога на нем.
2. Точка монтирования
Это каталог, через которую будет производиться обращение к разделу. В принципе, может быть любой.
Прежде чем монтировать в какой-либо каталог (папку), не забудьте ее создать.
В данном поле нужно обратить внимание на следующее обстоятельство, если у Вас одна система монтируется, к примеру, в каталог /mnt/disk1, а вторая, находящаяся на другом носителе, в каталог /mnt/disk1/partition1, то строка с описанием /mnt/disk1 должна стоять в файле /etc/fstab до строки с описанием точки монтирования /mnt/disk1/partition1.
А также следует заметить, что для раздела-подкачки (swap) данное поле не используется, а его содержимое может быть любым, но обязательно должно присутствовать, так как этого требует формат файла.
3. Файловая система
Данное поле описывает какой тип файловой системы будет монтироваться. Для получения данных о поддерживаемых типах файловых систем лучше обратиться к командеman 8 mount
Для жестких дисков: указывается файловая система, например fat32,ntfs,ext2,ext3 и т.д.
Для СD/DVD-приводов: iso9660,udf
Для Floppy-дисководов и флеш-дисков: vfat
Можно воспользоваться значением auto, и тогда команда попытается сама определить тип файловой системы. Однако, это не панацея, т.к. имеется ряд трудностей, связанных с тем, что перебираются только файловые системы, которые поддерживаются ядром в данный момент (они перечислены в файле /proc/filesystems).
4. Параметры монтирования
Параметры этого поля и их значения представлены в таблице.
Параметр | Значение |
---|---|
async | весь ввод-вывод осуществляется асинхронно |
atime | изменять параметр "время доступа" при обращении к файлам (по умолчанию) |
auto | система может быть смонтирована при автоматическом монтировании |
defaults | установки по умолчанию rw + suid + dev + exec + auto + nouser + async |
dev | система может содержать файлы блочных и символьных устройств |
exec | система может содержать исполняемые файлы |
loop | для размещения можно использовать обычный файл
(стандартно файловые системы размещаются на устройствах, к каковым обычные файлы не относятся, но если указать параметр loop программа mount находит свободное loop-устройство, "связывает" с ним с помощью программы losetup заданный файл и передает имя этого устройства системному вызову mount, именно так монтируются образы CD-ROM) |
noatime
noauto nodev noexec nosuid nouser |
параметры, противоположные по значению соответствующим параметрам без "no" |
remount | перемонтировать уже смонтированную систему, например для изменения параметров первоначального монтирования |
ro | смонтировать файловую систему в режиме "только чтение" |
rw | смонтировать файловую систему для чтения и для записи (по умолчанию) |
suid | разрешить интерпретацию битов SUID и SGID |
sync | весь ввод-вывод осуществляется синхронно |
user | разрешить обычному пользователю (не обладающему
правами root) монтировать и размонтировать данную файловую систему. Этот параметр влечёт за собой noexec, nosuid и nodev, если после него явно не указано exec, suid или dev. |
Перечисленные опции интерпретируются
командой mount. Некоторые параметры
должны интерпретироваться ядром системы,
в данной статье они не рассматриваются.
5.Флаг бэкапа
Если 1 - то программа dump включит этот раздел при резервном копировании.
Если 0 - то этот раздел не будет включен при резервном копировании.
6.Флаг проверки
Перед автоматическим подмонтированием файловая система проверяется программой fsck, которая проверяет ее целостность, и, если необходимо, исправляет ошибки. Это занимает определенное количество времени, иногда очень большое.
Значение этого поля имеет следующий смысл:
файловые системы для которых это параметр равен 0 либо отсутствует , не проверяются fsck вообще
корневая файловая система, должна иметь в этом поле значение 1 (если не 0)
все остальные файловые системы должны иметь это поле равным 2 (если не 0)
файловые системы, расположенные на одном носителе будут проверяться последовательно
файловые системы, расположенные на разных носителях, будут проверяться параллельно
Если в файле /etc/fstab имеется строка относящаяся к данной файловой системе. то при вызове для нее команды mount можно опустить параметры монтирования, название устройства или точку монтирования, то есть в нашем случае, команда
mount /mnt/floppy
смонтирует устройство /dev/fd0 в точку /mnt/floppy
Также, значения этого файла используются в графических оболочках, таких как KDE и GNOME, в которых файловые системы монтируются щелчком мыши.
Если нужно отмонтировать например CD-привод, но какой нибудь процесс обращается к нему, то надо отмонтировать с параметром -l umount -l /mnt/cdrom
Использование уникальных идентификаторов
В файле /etc/fstab иногда применяются вместо указания устройств уникальные идентификаторы, пример:
Без
#/dev/sda1 /boot ext2 noauto,noatime 1 2
Вариант 1
LABEL=b00t /boot ext2 noauto,noatime 1 2
Вариант 2
UUID=84e7c2c9-f26e-4e3f-98b8-93eec152cd5a /boot ext2 noauto,noatime 1 2
Но об это в следующих статьях.