mount

З пляцоўкі Вікіпедыя.
Перайсці да: рух, знайсці

mount — утыліта каманднага радка ў UNIX-падобных сістэмах. Ужываецца для мантавання файлавых сістэм.

Ужыванне[правіць | правіць зыходнік]

mount /dev/cdrom /mnt/cdrom

Прылада /dev/cdrom мантуецца ў каталог /mnt/cdrom, калі ён існуе. Пачынаючы ад моманту мантавання і пакуль карыстальнік не адмантуе файлавую сістэму (ці туды не будзе змантавана нешта іншае) у каталогу /mnt/cdrom будзе змяшчацца дрэва каталогаў прылады /dev/cdrom

Размантаванне камандай umount[правіць | правіць зыходнік]

Для размантавання дастаткова ўказаць пункт мантавання ці імя прылады.

umount /dev/cdrom

Мантаванне USB-дыскаў[правіць | правіць зыходнік]

Для тыповага выпадку, калі USB-дыск мае файлавую сістэму FAT32, каманда мантавання выглядае так:

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

Параметр codepage неабходны, каб імёны створаных файлаў карэктна адлюстроўваліся ў старых АС (напрыклад, DOS). Калі дыстрыбутыў выкарыстоўвае ў якасці кадзіроўкі сістэмнай лакалі не UTF-8, то яе неабходна ўказаць у параметры iocharset такім чынам:

mount -t vfat -o codepage=866,iocharset=koi8-r /dev/sda1 /mnt

Вызначыць тып сістэмнай кадзіроўкі можна выканаўшы каманду locale.

Карыснымі опцыямі пры мантаванні Flash-дыскаў з'яўляюцца sync і flush. Першая ажыццяўляе скід на дыск буфера запісу, так што даныя не губляюцца падчас адлучэння flash-дыска без размантавання. Пабочны эфект такога мантавання — значнае змяншэнне хуткасці запісу. Другая опцыя (даступная толькі ў новых ядрах Linux) прыводзіць да скіду буфера на дыск пасля запісу апошняга файла. Гэта таксама спрыяе захаванню даных у выпадку адлучэння дыска без размантавання, але не выклікае зніжэння хуткасці запісу.

Мантаванне NTFS дыскаў/падзелаў[правіць | правіць зыходнік]

mount -t ntfs -o noatime,users,rw,fmask=111,dmask=000,locale=be_BY.UTF-8 /dev/sda1 /mnt/win_xp 

Мантаванне вобразаў дыскаў[правіць | правіць зыходнік]

Калі маецца вобраз дыска ў выглядзе iso-файла, то для яго мантавання патрэбна ўказаць параметр -o loop і, звычайна, тып файлавай сістэмы -t iso9660 (неабавязкова) (file.iso — гэта імя файла вобразу, а /mnt/iso — пункт мантавання):

mount -o loop -t iso9660 file.iso /mnt/iso

Мантаванне вобразаў у фарматах, адрозных ад iso патрабуе пераўтварэння ў iso-вобраз ці ўжывання эмулятара. Для пераўтварэння можна ўжываць утыліты каманднага радка (гл. ніжэй) ці ўтыліту kiso з графічным інтэрфейсам. Мантаванне вобразаў дыскаў у Linux

Вобразы bin/cue[правіць | правіць зыходнік]

Для пераўтварэння вобраза bin/cue у iso-вобраз можна скарыстацца канвертарам bchunk:

bchunk image.bin image.cue image.iso

Мантаванне сеткавых дыскаў NFS[правіць | правіць зыходнік]

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

Мантаванне сеткавых дыскаў SMB[правіць | правіць зыходнік]

Прыклад мантавання сеткавых SMB-рэсурсаў :

mount -t smbfs -o username=user,password=pass //server/dir /mnt/localdir/
mount -t cifs -o username=user,password=pass //server/dir /mnt/localdir/

(Утыліта smbfs заменена ў ядры linux на сумяшчальную з ёй cifs.) зноскі:

  • "-t cifs" можна часам не ўказваць , калі імя дыск, які мантуецца мае від "//server/dir"
mount //server/dir /mnt/localdir/ -o username=user,password=pass
  • калі для аўтарызацыі патрэбна ўказаць даменнае імя карыстальніка, то ў параметрах каманды mount яно ўказваецца як "-o username=domain\\user", аднак пры ўказанні рэсурса ў /etc/fstab імя карыстальніка ўказваецца як "domain/user":
//server/dir /mnt/localdir/  cifs user=domain/user,password=pass 0 0

Мантаванне FTP сервераў[правіць | правіць зыходнік]

curlftpfs -v -o iocharset=UTF-8 ftp://user:password@ftp.domain.ru/ /mnt/ftp

Мантаванне аддаленага каталогу праз ssh[правіць | правіць зыходнік]

Модуль ядра Fuse (быў прыняты ў афіцыйную галіну ядра пачынаючы з 2.6), дазваляе непрывілеяваным карыстальнікам мантаваць розныя файлавыя сістэмы.

Для работы, неабходна дадаць карыстальніка ў групу fuse, зрабіць гэта можна так:

usermod -G -a fuse user

ці

adduser user fuse

ці ўручную адрэдагаваўшы файл /etc/group. Калі неабходна, прымусова падгрузіць модуль ядра fuse:

modprobe fuse

Пасля гэтага, можна замантаваць аддалены каталог з дапамогай sshfs:

sshfs user@addaleny_server:/tmp ~/addalenaja_tečka

Для адмантавання аддаленага каталогу патрэбна ўвесці каманду:

fusermount -u ~/addalenaja_tečka

Параметры мантавання[правіць | правіць зыходнік]

Пры неабходнасці для выканання каманды 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)

Прыклад 1 (для ўзору, прыведзена мантаванне USB дыска):

mount -t vfat -o rw,noexec,iocharset=utf8,codepage=866 /dev/sda1 /mnt/usb

Прыклад 2 (для ўзору, прыведзена мантаванне ntfs падзела з усталяванай Windows XP):

mount -t ntfs -o noatime,users,rw,fmask=111,dmask=000,locale=be_BY.UTF-8 /dev/sda1 /mnt/win_xp

Прыклад 3 (перамантаваць прыладу з доступам на «чытанне і запіс» (rw))

mount -o remount,rw /dev/sda2

mount --bind[правіць | правіць зыходнік]

Каманда mount з ключом --bind ці з кароткім ключом -B ужываецца ў сістэмах на ядры Linux (пачынаючы з 2.4.0) для стварэння сіноніма каталога ў дрэве файлавай сістэмы. Напрыклад, каманда:

mount --bind /mnt/cdrom/Files /var/ftp/cdrom

дазваляе звяртацца да файлаў з /mnt/cdrom/Files праз шлях /var/ftp/cdrom, дзе /var/ftp/cdrom — нейкі ўжо існуючы (магчыма пусты) каталог (яго сапраўдны змест будзе недаступны да моманту размантавання). Можна таксама замест асобнай опцыі --bind написаць -o bind, што будзе мець такі ж эфект. Таксама гэта дазваляе дадаць правіла ў файл /etc/fstab для мантавання пры старце сістэмы:

/olddir /newdir none bind

Перавагай дадзенага спосабу стварэння спасылак на каталогі над сімвальнымі спасылкамі з'яўляецца магчымасць абыходзіць абмежаванне доступу да файлавай сістэмы, якое ўзнікае перад працэсамі, што запушчаны ў асяроддзі chroot ці серверамі, якія выкарыстоўваюць прынцып chroot. Напрыклад, FTP-сервер proftpd робіць недаступнымі сімвальныя спасылкі, якія указваюць на файлы і каталогі па-за межамі вызначанага каталога. Дзеянне каманды mount --bind нагадвае DOS-аўскі subst.

Спіс змантаваных файлавых сістэм[правіць | правіць зыходнік]

Пры запуску каманды mount без параметраў выводзіцца спіс змантаваных файлавых сістэм:

/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 прыладамі
  • //ax2/i — гэта шлях да сеткавага дыска SMB
  • 172.22.2.1:/files — шлях да сеткавага дыска NFS, які знаходзіцца на серверы з IP-адрасам 172.22.2.1

Файл канфігурацыі[правіць | правіць зыходнік]

Каб палегчыць працэдуру мантавання можна унесці ў файл канфігурацыі /etc/fstab адпаведныя радкі. Прыкладны змест для гэтага файла:

# <fs>                  <mountpoint>    <type>          <opts>          <dump/pass>

# NOTE: If your BOOT partition is ReiserFS, add the notail option to opts.
#/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

# NOTE: The next line is critical for boot!
proc                    /proc           proc            defaults        0 0

# glibc 2.2 and above expects tmpfs to be mounted at /dev/shm for
# POSIX shared memory (shm_open, shm_unlink).
# (tmpfs is a dynamically expandable/shrinkable ramdisk, and will
#  use almost no memory if not populated with files)
shm                     /dev/shm        tmpfs           nodev,nosuid,noexec     0 0

У далейшым можна будзе ўказваць у камандзе mount толькі імя прылады ці пункт мантавання — усе дадатковыя параметры будуць брацца з файла канфігурацыі. Напрыклад (у дачыненні да прыведзенай канфігурацыі) каманда mount /mnt/cdrom будзе эквівалентная выкананню каманды

mount /dev/cdrom /mnt/cdrom -t iso9660 -o noauto,ro

Іншае прызначэнне файла канфігурацыі — аўтаматычнае мантаванне файлавых сістэм пры загрузцы сістэмы. Калі не патрабуецца мантаваць пэўныя файлавыя сістэмы, то для іх у файле канфігурацыі трэба ўказаць параметр noauto.

Гл. таксама[правіць | правіць зыходнік]

Спасылкі[правіць | правіць зыходнік]