mount

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук

mount — утиліта командного рядка в Unix системах. Застосовується для монтування файлових систем.

В Unix-подібних операційних системах файлові системи монтуються в загальне дерево директорій, вершиною якого є кореневий каталог «/». Нова файлова система може бути змонтована в будь-яку директорію будь-де в дереві директорій. В деяких системах існує домовленість щодо спеціального каталогу «/mnt», в якому, або у піддиректорії якого можна монтувати файлові системи на зразок файлових систем дискет, компакт-дисків, флеш-пам'яті тощо.

Зміст

Використання [ред.]

mount /dev/cdrom /mnt/cdrom

Пристрій /dev/cdrom монтується в каталог /mnt/cdrom, якщо він існує. Відтепер і поки користувач не відмонтує файлову систему в каталозі (або туди не буде змонтовано щось інше) /mnt/cdrom міститиме дерево каталогів пристрою /dev/cdrom

Відмонтування командою umount [ред.]

Для відмонтування досить вказати точку монтування або ім'я пристрою.

umount /dev/cdrom

Монтування USB пристроїв [ред.]

Монтування USB пристроїв звичайно не відрізняється від монтування пристроїв приєднаних через інші шини (SATA,SAS,SCSI і тп). Ядро UNIX має мати підтримку USB пристроїв і, можливо, процеси для обробки подій приєднання/роз'єднання пристроїв.

Монтування пристроїв з іменами файлів з різним кодуванням [ред.]

Диски з файловою системою DOS (наприклад дискети, флеш-пам'ять) мають 8-бітні імена файлів. У разі іменування файлів кирилицею використовується кодова сторінка № 866. Для показу назв файлів в командної оболонці, кодування якої відрізняється від 866, необхідна конверсія. Кодування яке використовується в командної оболонці можна визначити виконавши команду locale. Для української мови найпоширеніші: UTF-8, KOI-8U або CP1251.

Ключем -t визначається тип файлової системи, що монтується.

mount -t vfat -o iocharset=utf8,codepage=866 /dev/sdl1 /mnt/usb/

У Лінуксі для монтування файлової системи DOS використається назва типу vfat. В параметрі iocharset вказується кодування командної оболонки, або GUI. Папаметр codepage визначає кодування назв файлів.

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

Ключем -L визначається кодування командної оболонки, ключем -D визначається кодування файлової системи.

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

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

  • Версія Linux :
mount -o loop=/dev/loop0 -t iso9660 file.iso /mnt/iso

Визначення спеціального пристрою: -o loop=/dev/loop0, тип файлової системи: -t 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 монтує спеціальний пристрій з типом файлової системи cd9660 у точку монтування /mnt/cdrom.


Монтування мережевих дисків NFS [ред.]

mount 172.22.2.1:/mnt/iso/ /mnt/iso/

Параметри монтування [ред.]

У разі потреби при виконанні команди 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.

Джерела [ред.]