mount
mount — утиліта командного рядка в Unix системах. Застосовується для монтування файлових систем.
В Unix-подібних операційних системах файлові системи монтуються в загальне дерево директорій, вершиною якого є кореневий каталог «/». Нова файлова система може бути змонтована в будь-яку вже існуючу директорію (точку монтування) будь-де в дереві директорій. FHS передбачає дві директорії для монтування: /media для змінних носіїв (оптичні диски, USB-накопичувачі, карти пам'яті) та /mnt для тимчасово монтованих файлових систем (петлеві пристрої, спільні мережеві ресурси).
- mount /dev/cdrom /mnt/cdrom
Пристрій /dev/cdrom монтується в каталог /mnt/cdrom, якщо він існує. Відтепер попередній вміст каталога /mnt/cdrom маскується деревом каталогів пристрою /dev/cdrom і, доки користувач не відмонтує файлову систему від цього каталога (або не змонтує туди щось інше), буде недоступним.
Для відмонтування достатньо вказати точку монтування чи ім'я пристрою
- umount /mnt/cdrom
або
- umount /dev/cdrom
Монтування 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.
- mount 172.22.2.1:/mnt/iso/ /mnt/CD/
Тут каталог /mnt/iso/ сервера з мережевою адресою 172.22.2.1 монтується в каталог /mnt/CD локальної машини.
У разі потреби при виконанні команди mount можна вказати додаткові параметри монтування.
Зазвичай при монтуванні тип визначається автоматично або береться з файлу конфігурації (див. нижче). Але бувають випадки, коли потрібно вказувати тип файлової системи явно. Наприклад, при монтуванні 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
- Доступ «лише для читання» (ro) або на «читання і запис» (rw)
- Дозвіл або заборона запуску програм (noexec)
Команда 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-подібних операційних систем