Перайсці да зместу

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 у 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/ Архівавана  6 лютага 2019. /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 ці з кароткім ключом -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.