Mount
mount — утиліта командного рядка в Unix системах. Застосовується для монтування файлових систем.
В Unix-подібних операційних системах файлові системи монтуються в загальне дерево директорій, вершиною якого є кореневий каталог «/». Нова файлова система може бути змонтована в будь-яку вже існуючу директорію (точку монтування) будь-де в дереві директорій. FHS передбачає дві директорії для монтування: /media для змінних носіїв (оптичні диски, USB-накопичувачі, карти пам'яті) та /mnt для тимчасово монтованих файлових систем (петлеві пристрої, спільні мережеві ресурси).
Використання
- mount /dev/cdrom /mnt/cdrom
Пристрій /dev/cdrom монтується в каталог /mnt/cdrom, якщо він існує. Відтепер попередній вміст каталога /mnt/cdrom маскується деревом каталогів пристрою /dev/cdrom і, доки користувач не відмонтує файлову систему від цього каталога (або не змонтує туди щось інше), буде недоступним.
Відмонтування командою umount
Для відмонтування достатньо вказати точку монтування чи ім'я пристрою
- umount /mnt/cdrom
або
- umount /dev/cdrom
Монтування USB-пристроїв
Монтування USB-пристроїв звичайно не відрізняється від монтування пристроїв, приєднаних через інші шини (SATA, SAS, SCSI та ін.). Ядро UNIX повинне мати підтримку USB-пристроїв і, можливо, процеси для обробки подій приєднання/від'єднання цих пристроїв.
Монтування пристроїв з іменами файлів з різним кодуванням
Файлова система DOS (наприклад, на дискетах чи флеш-картах), — має 8-бітне кодування імен файлів, у якому назви файлів українською, російською чи білоруською мовами використовують кодову сторінку 866. Для показу цих назв у операційній системі з іншим кодуванням (його можна визначити, виконавши команду locale) необхідна конверсія. Найуживаніші кодування для української мови — UTF-8, KOI-8U та CP1251.
Так, наприклад, для найпоширенішої файлової системи USB-дисків — FAT32:
- Версія Linux :
- mount -t vfat -o iocharset=utf8,codepage=866 /dev/sdc1 /mnt/usb
Ключем -t визначається тип файлової системи, що монтується, ключем -o — параметри монтування. У Лінуксі для монтування файлової системи FAT32 використовується назва типу vfat. В параметрі iocharset вказується кодування командної оболонки або GUI операційної системи. Папаметр codepage визначає кодування назв файлів. Так, codepage=866 — кодова сторінка 866 для такого йменування файлів українською, російською чи білоруською мовами, щоби створені у Linux-системі файли коректно відображалися в старих ОС (наприклад, в DOS),. /dev/sdc1 — пристрій, що монтується, /mnt/usb — точка монтування цього пристрою (куди монтується)
- Версія FreeBSD :
- mount -t msdosfs -L uk_UA.KOI8-U -D CP866 /dev/ad1s1 /mnt
Ключем -L визначається кодування командної оболонки, ключем -D — кодування файлової системи, ключем -t — тип ФС (у прикладі — MS-DOS).
Монтування образів файлових систем
Образи файлових систем (копії) можуть бути змонтованими таким же чином, як і оригінальна файлова система, але деякі параметри команди відрізняються. Приклад монтування образу компакт-диску (iso-файла):
- Версія Linux :
- mount -o loop=/dev/loop0 -t iso9660 file.iso /mnt/iso
Визначення спеціального пристрою: loop=/dev/loop0, тип файлової системи: iso9660, ім'я файла образу: file.iso, точка монтування: /mnt/iso.
- Версія FreeBSD :
- mdconfig -a -t vnode -f file.iso -u 1
- mount -t cd9660 /dev/md1 /mnt/cdrom
Команда mdconfig створює спеціальний пристрій типу vnode з номером 1 (/dev/md1) і асоціює його з файлом образу file.iso. Команда mount монтує спеціальний пристрій /dev/md1 з типом файлової системи cd9660 у точку монтування /mnt/cdrom.
Монтування мережевих дисків NFS
- mount 172.22.2.1:/mnt/iso/ /mnt/CD/
Тут каталог /mnt/iso/ сервера з мережевою адресою 172.22.2.1 монтується в каталог /mnt/CD локальної машини.
Параметри монтування
У разі потреби при виконанні команди mount можна вказати додаткові параметри монтування.
-t (тип файлової системи)
Зазвичай при монтуванні тип визначається автоматично або береться з файлу конфігурації (див. нижче). Але бувають випадки, коли потрібно вказувати тип файлової системи явно. Наприклад, при монтуванні DVD диска з файловою системою UDF.
- mount /dev/cdrom /mnt/dvd -t udf
Якщо неправильно вказати тип файлової системи, то команда mount видасть повідомлення про помилку:
mount: wrong fs type, bad option, bad superblock on /dev/cdrom, missing codepage or other error In some cases useful info is found in syslog - try dmesg | tail or so
і порадить подивитися в кінець файлу системних повідомлень.
Unable to identify CD-ROM format.
У разі успішного монтування зазвичай повідомляється, що компакт-диск змонтований (типово) в режимі «лише для читання».
mount: block device /dev/cdrom is write-protected, mounting read-only
-o (атрибути доступу)
- Доступ «лише для читання» (ro) або на «читання і запис» (rw)
- Дозвіл або заборона запуску програм (noexec)
mount --bind
Команда mount з ключем --bind застосовується в системах на ядрі Linux (починаючи з 2.4) для створення синоніма каталога в дереві файлової системи. Наприклад, команда:
- mount --bind /mnt/cdrom/Files /var/ftp/cdrom
дозволить звертатися до файлів, розміщених у /mnt/cdrom/Files, через шлях /var/ftp/cdrom, де /var/ftp/cdrom — якийсь уже існуючий (можливо, порожній) каталог (його справжній вміст буде недоступний до моменту размонтування).
Перевагою цього способу створення посилань на каталоги перед символьним посиланням є можливість обходити обмеження доступу до файлової системи, що виникають перед процесами, запущеними в середовищі chroot або серверами, що застосовують принцип chroot. Наприклад, FTP-сервер proftp робить недоступними символьні посилання, вказуючі на файли й каталоги поза певним каталогом. Дія команди mount --bind нагадує DOS-івський subst.
Список змонтованих файлових систем
При запуску без параметрів виводиться список змонтованих файлових систем:
/dev/md/5 on / type reiserfs (rw,noatime) proc on /proc type proc (rw) sysfs on /sys type sysfs (rw,nosuid,nodev,noexec) udev on /dev type tmpfs (rw,nosuid) devpts on /dev/pts type devpts (rw,nosuid,noexec) /dev/md/4 on /files type xfs (rw,noatime) /dev/sda3 on /mnt/a type ext3 (rw,noatime) /dev/sdd2 on /mnt/docs type reiserfs (rw,noatime) shm on /dev/shm type tmpfs (rw,noexec,nosuid,nodev) usbfs on /proc/bus/usb type usbfs (rw,noexec,nosuid,devmode=0664,devgid=85) binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev) nfsd on /proc/fs/nfs type nfsd (rw,noexec,nosuid,nodev) //ax2/i on /mnt/smb type smbfs (0) 172.22.2.1:/files on /mnt/files type nfs (rw,addr=172.22.2.1)
В цьому прикладі вказано багато змонтованих файлових систем (ФС):
- перший рядок повідомляє, що коренева ФС — це RAID-массив, тип її — reiserfs, параметри монтування: доступ на читання й запис (rw) та вказівка не оновлювати атрибут часу останнього доступу (noatime)
- sysfs, udev, devpts — це стандартні (для систем Linux) віртуальні ФС
- /dev/sda3 — це розділ SATA диска
- usbfs — це змотований USB Flash-диск
- //ax2/i — це шлях до мережевого диска SMB
- 172.22.2.1:/files — шлях до мережевого диска NFS, що знаходиться на сервері з IP-адресою 172.22.2.1
Файл конфігурації
Щоби полегшити процедуру монтування, можна внести до файлу конфігурації /etc/fstab відповідні рядки. Зразок цього файлу в форматі Лінуксу:
# <fs> <mountpoint> <type> <opts> <dump/pass> #/dev/BOOT /boot ext2 noauto,noatime 1 2 /dev/sda5 / reiserfs noatime 0 1 /dev/sda1 none swap sw 0 0 /dev/cdrom /mnt/cdrom iso9660 noauto,ro 0 0 #/dev/fd0 /mnt/floppy auto noauto 0 0 proc /proc proc defaults 0 0 shm /dev/shm tmpfs nodev,nosuid,noexec 0 0
Надалі можна вказувати в команді mount лиш ім'я пристрою або точку монтування — всі додаткові параметри братимуться з файлу конфігурації. Наприклад, стосовно вказаної конфігурації, команда
- mount /mnt/cdrom
буде еквівалентна виконанню команди
- mount /dev/cdrom /mnt/cdrom -t iso9660 -o noauto,ro
Інше призначення файлу конфігурації — автоматичне монтування файлових систем при завантаженні системи. Якщо при цьому не потрібно монтувати певні файлові системи, то для них у файлі конфігурації потрібно вказати параметр noauto.
Джерела
- Керівництво Man8/mount.8(укр.)
- mount(8) [Архівовано 5 травня 2014 у Wayback Machine.] Linux man page
- Програми UNIX-подібних операційних систем
|