【转】Linux中Mount和unmount
一個(gè)文件系統(tǒng)可以使用之前,必須mount。 操作系統(tǒng)然后做一些記錄以確認(rèn)正常。因?yàn)閁NIX所有的文件在一個(gè)目錄樹(shù)中, mount操作的結(jié)果使新的文件系統(tǒng)的內(nèi)容好象在某個(gè)已經(jīng)mount的文件系統(tǒng)的 一個(gè)已經(jīng)存在的子目錄中。
例如,圖4.3顯示3個(gè)單獨(dú)的文件系統(tǒng),每個(gè)有其自己的根目錄。 當(dāng)后2個(gè)文件系統(tǒng)被mount到第一個(gè)文件系統(tǒng)的/home和/usr, 我們得到一個(gè)目錄樹(shù),如圖 4.4.
圖4.3:3個(gè)單獨(dú)的文件系統(tǒng)。
圖4.4:/home和/usr已經(jīng)mount上。
上面的mount可能使用如下命令:
$mount /dev/hda2 /home$mount /dev/hda3 /usr$
mount命令使用2個(gè)參數(shù)。 第一個(gè)是與包括文件系統(tǒng)的磁盤或分區(qū)相關(guān)的設(shè)備文件。第二個(gè)是要mount到的目錄。 mount以后,這2個(gè)文件系統(tǒng)的內(nèi)容好象是/home和/usr目錄。 這樣就可以說(shuō):/dev/hda2被mount到/home,/usr也同樣。 要看每個(gè)文件系統(tǒng),就看其被安裝的目錄,好象它就是在那里。 注意設(shè)備文件的區(qū)別,/dev/hda2, 和安裝到的目錄/home。 設(shè)備文件給出硬盤原始內(nèi)容的存取,安裝到的目錄給出磁盤上文件的存取。安裝到的目錄叫安裝點(diǎn)。
Linux支持許多文件系統(tǒng)。mount會(huì)試著猜測(cè)文件系統(tǒng)種類。也可以使用-tfstype選項(xiàng)直接定義種類;這有時(shí)是必要的,因?yàn)樽詸z測(cè)mount并非總能成功。例如要mount一個(gè)MSDOS軟盤,可以用如下命令:
$mount -t msdos /dev/fd0 /floppy$
安裝點(diǎn)目錄不必是空的,但必須存在。其中的所有文件當(dāng)文件系統(tǒng)mount后將不可用名字存取(已經(jīng)打開(kāi)的文件將繼續(xù)可存取。有其他目錄硬 連接的文件可以通過(guò)那些名字存取)。這沒(méi)有壞處,反而可能更有用。 例如,有人喜歡將/tmp和/var/tmp作為同義, 將/tmp作為/var/tmp的符號(hào)連接。 系統(tǒng)啟動(dòng)時(shí),在/usr文件系統(tǒng)被mount之前,使用駐留在根文件系統(tǒng)的/var/tmp目錄。當(dāng)/usr被mount上以后, 根文件系統(tǒng)上的/var/tmp將不可用,如果根文件系統(tǒng)上不存在/var/tmp,那么在mount上/var之前 將不可能使用暫存文件。
如果不打算在一個(gè)文件系統(tǒng)上寫任何東西,可以使用mount的-r開(kāi)關(guān) 做一個(gè)只讀mount。這將使核心停止任何對(duì)此文件系統(tǒng)的寫要求,也將停止核心的對(duì)i節(jié)點(diǎn)的文件存取時(shí)間的更新。 只讀mount對(duì)不可寫介質(zhì)是必要的,例如CDROM。
細(xì)心的讀者可能已經(jīng)注意到一個(gè)小的邏輯問(wèn)題。第一個(gè)文件系統(tǒng)(叫根文件系統(tǒng),因?yàn)樗夸?如何mount, 因?yàn)楹苊黠@,它不能mount到另一個(gè)文件系統(tǒng)? Well, the answer is that it is done by magic.The root filesystem is magically mounted at boot time, and one can rely on it to always be mounted-- 如果根文件系統(tǒng)不能mount,系統(tǒng)將不能啟動(dòng)。 The name of the filesystem that is magically mounted as root 被編譯進(jìn)核心,或用LILO或rdev設(shè)置。
根文件系統(tǒng)通常先被只讀mount。然后啟動(dòng)手稿運(yùn)行fsck校驗(yàn)它的有效性,如果沒(méi)有問(wèn)題,將re-mount它,使之可寫。fsck不能運(yùn)行于一個(gè)已mount的文件系統(tǒng),因?yàn)?tt>fsck運(yùn)行時(shí),任何文件系統(tǒng)的改變將導(dǎo)致錯(cuò)誤。 因?yàn)楦募到y(tǒng)在被檢查時(shí)是只讀,fsck可以無(wú)慮地修復(fù)任何問(wèn)題,因?yàn)?strong>re-mount操作將刷新文件系統(tǒng)在內(nèi)存中的所有數(shù)據(jù)。
在有其他文件系統(tǒng)的許多系統(tǒng)中,啟動(dòng)時(shí)要自動(dòng)mount,可以在/etc/fstab文件中定義: 文件格式細(xì)節(jié)請(qǐng)參考fstab的手冊(cè)頁(yè)。 mount特別的文件系統(tǒng)的特別細(xì)節(jié)依賴于許多因素,可以根據(jù)需要由每個(gè)管理員設(shè)置。 When the chapter on booting is finished, you may read all about it there.
當(dāng)一個(gè)文件系統(tǒng)不需要再mount著,可以用umount.umount加一個(gè)參數(shù)unmount它,參數(shù)可以是設(shè)備文件或安裝點(diǎn)。 例如,要unmount上面例子中的目錄,可以用:
$umount /dev/hda2$umount /usr$
要了解使用這個(gè)命令的更多的說(shuō)明,參閱手冊(cè)。注意:記住unmount已經(jīng)mount的軟盤,而不能僅僅將軟盤彈出軟驅(qū)!由于磁盤緩沖,在你unmount軟盤之前無(wú)須回寫, 因此過(guò)早取出軟盤將導(dǎo)致內(nèi)容不正確。只從軟盤上讀還不要緊,如果寫,就可能發(fā)生災(zāi)難性的損失。
mount和umount需要超級(jí)擁護(hù)特權(quán),即只有root用戶可以做。 原因是:如果任何用戶都可以mount軟盤到任何目錄,那么很容易用軟盤做,比如,用特洛伊木馬替換/bin/sh, 或者其他常用的程序。但是允許用戶使用軟盤經(jīng)常又是必要的,有幾種方法:
給用戶root口令,很明顯這對(duì)安全不利,但是最簡(jiǎn)單的方法。 如果沒(méi)有安全要求,這個(gè)方法很好,比如在非網(wǎng)絡(luò)的、個(gè)人系統(tǒng)上。
使用一個(gè)程序比如sudo允許擁護(hù)使用mount。 這同樣對(duì)安全不利,但沒(méi)有直接給任何人超級(jí)用戶特權(quán)。
讓用戶使用mtools, 這是一個(gè)利用MSDOS文件系統(tǒng)的軟件包,無(wú)須mount。 如果是MSDOS軟盤這樣做很好,否則不好。
在/etc/fstab中用合適的選項(xiàng)列出軟驅(qū)設(shè)備和允許的安裝點(diǎn)。
最后一個(gè)選擇可以在/etc/fstab文件中加類似下面的一行來(lái)完成:
/dev/fd0 /floppy msdos user,noauto 0 0
各列分別是:要mount的設(shè)備文件,要安裝到的目錄,文件系統(tǒng)類型,選項(xiàng),備份頻率(用于dump) 和fsck次序(定義啟動(dòng)時(shí)文件系統(tǒng)被檢查的次序,0表示不檢查)。
noauto選項(xiàng)使系統(tǒng)啟動(dòng)是不自動(dòng)mount(即, it stopsmount -afrom mounting it)。user允許任何用戶mount這個(gè)文件系統(tǒng),并且,由于安全原因,不允許執(zhí)行程序(normal or setuid) and interpretation of device files from the mounted filesystem。 這樣,任何用戶都可以用如下命令mount一個(gè)msdos文件系統(tǒng)的軟盤:
$mount /floppy$
軟盤可以用相關(guān)的umount被unmount。
如果想提供多種軟盤的存取,需要給出多個(gè)安裝點(diǎn)。對(duì)每個(gè)安裝點(diǎn)的設(shè)置可以不同。 例如,提供MSDOS和ext2文件系統(tǒng)的存取,可以在/etc/fstab文件中加如下行:
/dev/fd0 /dosfloppy msdos user,noauto 0 0 /dev/fd0 /ext2floppy ext2 user,noauto 0 0
對(duì)于MSDOS文件系統(tǒng)(不僅是軟盤),可能需要用uid,gid,和umask文件系統(tǒng)選項(xiàng)來(lái)限制 存取權(quán)限,請(qǐng)看mount手冊(cè)頁(yè)。如果不小心,mount一個(gè)MS-DOS文件系統(tǒng)將給予任何用戶至少是讀權(quán)限,這 可不是一個(gè)好主意。
總結(jié)
以上是生活随笔為你收集整理的【转】Linux中Mount和unmount的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 社会广告的现状和发展前景如何
- 下一篇: 怎么创建具有真实纹理的CG场景岩石?