一個(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)存在的子目錄中。
主要從事網(wǎng)頁(yè)設(shè)計(jì)、PC網(wǎng)站建設(shè)(電腦版網(wǎng)站建設(shè))、wap網(wǎng)站建設(shè)(手機(jī)版網(wǎng)站建設(shè))、自適應(yīng)網(wǎng)站建設(shè)、程序開(kāi)發(fā)、微網(wǎng)站、重慶小程序開(kāi)發(fā)公司等,憑借多年來(lái)在互聯(lián)網(wǎng)的打拼,我們?cè)诨ヂ?lián)網(wǎng)網(wǎng)站建設(shè)行業(yè)積累了豐富的成都網(wǎng)站建設(shè)、做網(wǎng)站、網(wǎng)絡(luò)營(yíng)銷經(jīng)驗(yàn),集策劃、開(kāi)發(fā)、設(shè)計(jì)、營(yíng)銷、管理等多方位專業(yè)化運(yùn)作于一體,具備承接不同規(guī)模與類型的建設(shè)項(xià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)的磁盤(pán)或分區(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è)備文件給出硬盤(pán)原始內(nèi)容的存取,安裝到的目錄給出磁盤(pán)上文件的存取。安裝到的目錄叫安裝點(diǎn)。
Linux支持許多文件系統(tǒng)。mount 會(huì)試著猜測(cè)文件系統(tǒng)種類。也可以使用-t fstype 選項(xiàng)直接定義種類;這有時(shí)是必要的,因?yàn)樽詸z測(cè)mount 并非總能成功。例如要mount一個(gè)MSDOS軟盤(pán),可以用如下命令:
$
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)上寫(xiě)任何東西,可以使用mount 的-r開(kāi)關(guān) 做一個(gè)只讀mount。這將使核心停止任何對(duì)此文件系統(tǒng)的寫(xiě)要求,也將停止核心的對(duì)i節(jié)點(diǎn)的文件存取時(shí)間的更新。 只讀mount對(duì)不可寫(xiě)介質(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它,使之可寫(xiě)。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的軟盤(pán), 而不能僅僅將軟盤(pán)彈出軟驅(qū)!由于磁盤(pán)緩沖,在你unmount軟盤(pán)之前無(wú)須回寫(xiě), 因此過(guò)早取出軟盤(pán)將導(dǎo)致內(nèi)容不正確。只從軟盤(pán)上讀還不要緊,如果寫(xiě),就可能發(fā)生災(zāi)難性的損失。
mount和umount需要超級(jí)擁護(hù)特權(quán),即只有root 用戶可以做。 原因是:如果任何用戶都可以mount軟盤(pán)到任何目錄,那么很容易用軟盤(pán)做,比如,用特洛伊木馬替換/bin/sh , 或者其他常用的程序。但是允許用戶使用軟盤(pán)經(jīng)常又是必要的,有幾種方法:
最后一個(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 stops mount -a from 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)的軟盤(pán):
$
mount /floppy$
軟盤(pán)可以用相關(guān)的umount 被unmount。
如果想提供多種軟盤(pán)的存取,需要給出多個(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)(不僅是軟盤(pán)),可能需要用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è)好主意。