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:

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 — точка монтування цього пристрою (куди монтується)

mount -t msdosfs -L uk_UA.KOI8-U -D CP866 /dev/ad1s1 /mnt

Ключем -L визначається кодування командної оболонки, ключем -D — кодування файлової системи, ключем -t — тип ФС (у прикладі — MS-DOS).

Монтування образів файлових систем ред.

Образи файлових систем (копії) можуть бути змонтованими таким же чином, як і оригінальна файлова система, але деякі параметри команди відрізняються. Приклад монтування образу компакт-диску (iso-файла):

mount -o loop=/dev/loop0 -t iso9660 file.iso /mnt/iso

Визначення спеціального пристрою: loop=/dev/loop0, тип файлової системи: iso9660, ім'я файла образу: file.iso, точка монтування: /mnt/iso.

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.

Джерела ред.