大多數(shù)Linux文件系統(tǒng)都是在引導(dǎo)時(shí)掛載的,并且在系統(tǒng)運(yùn)行時(shí)仍然掛載。在fstab文件中配置的任何遠(yuǎn)程文件系統(tǒng)也是如此。但是,有時(shí)您可能希望只在需求上掛載遠(yuǎn)程文件系統(tǒng)—例如,通過減少網(wǎng)絡(luò)帶寬使用來提高性能,或者出于安全原因隱藏或混淆某些目錄。包autofs提供了這個(gè)特性。在本文中,我將描述如何啟動(dòng)和運(yùn)行基本的自動(dòng)加載配置。
首先,假設(shè)NFS服務(wù)器linux.linuxidc.com已經(jīng)啟動(dòng)并運(yùn)行。還假設(shè)這個(gè)服務(wù)器共享一個(gè)名為ourfiles的數(shù)據(jù)目錄和兩個(gè)用于linuxidc和Sarah的用戶目錄。
一些最佳實(shí)踐將使事情更好地工作:在服務(wù)器上和任何客戶端工作站上為用戶使用相同的用戶ID是一個(gè)好主意,因?yàn)樗麄冇幸粋€(gè)帳戶。另外,您的工作站和服務(wù)器應(yīng)該具有相同的域名。檢查相關(guān)配置文件應(yīng)予以確認(rèn)。
alan@linuxidc:~$ sudo getent passwd linuxidc sarah
[sudo] password for alan:
linuxidc:x:1020:1020:linuxidc,,,:/home/linuxidc:/bin/bash
sarah:x:1021:1021:Sarah,,,:/home/sarah:/bin/bash
alan@linuxidc:~$ sudo getent hosts
127.0.0.1 localhost
127.0.1.1 linuxidc.linuxidc.com linuxidc
10.10.1.5 linux.linuxidc.com tree
如您所見,客戶機(jī)工作站和NFS服務(wù)器都配置在主機(jī)文件中。我假設(shè)一個(gè)基本的家庭或甚至小的辦公室網(wǎng)絡(luò)可能缺乏適當(dāng)?shù)膬?nèi)部域名服務(wù)(即。,DNS)。
安裝包
您只需要安裝兩個(gè)包:NFS客戶端函數(shù)的常用NFS包,以及提供automount函數(shù)的autofs包。
alan@linuxidc:~$ sudo apt-get install nfs-common autofs
您可以驗(yàn)證autofs文件已被放置在etc目錄:
alan@linuxidc:~$ cd /etc; ll auto*
-rw-r–r– 1 root root 12596 Nov 19 2015 autofs.conf
-rw-r–r– 1 root root 857 Mar 10 2017 auto.master
-rw-r–r– 1 root root 708 Jul 6 2017 auto.misc
-rwxr-xr-x 1 root root 1039 Nov 19 2015 auto.net*
-rwxr-xr-x 1 root root 2191 Nov 19 2015 auto.smb*
alan@linuxidc:/etc$
配置autofs
現(xiàn)在您需要編輯其中幾個(gè)文件,并添加文件auto.home。首先,向文件auto.master添加以下兩行:
/mnt/tree /etc/auto.misc
/home/tree /etc/auto.home
每一行都以NFS共享所在的目錄開頭。繼續(xù)創(chuàng)建這些目錄:
alan@linuxidc:/etc$ sudo mkdir /mnt/tree /home/tree
第二步,在auto.misc文件中添加以下行:
ourfiles -fstype=nfs tree:/share/ourfiles
這一行指示autofs在auto中匹配的位置掛載ourfiles共享。用于auto.misc的主文件。如上所示,這些文件可以在目錄/mnt/樹/ourfiles中找到。
第三,創(chuàng)建文件自動(dòng)。家與以下線:
* -fstype=nfs tree:/home/&
這一行指示autofs在auto中匹配的位置掛載用戶共享。自動(dòng).home的主文件。在本例中,linuxidc和Sarah的文件將分別在目錄/home/tree/linuxidc或/home/tree/sarah中可用。星號(hào)(稱為通配符)使每個(gè)用戶的共享在登錄時(shí)自動(dòng)掛載成為可能。& and也作為通配符在服務(wù)器端表示用戶的目錄。它們的主目錄應(yīng)該相應(yīng)地映射到passwd文件中。如果您喜歡本地主目錄,則不必這樣做;相反,用戶可以將其用作特定文件的簡單遠(yuǎn)程存儲(chǔ)。
最后,重新啟動(dòng)autofs守護(hù)進(jìn)程,使其能夠識(shí)別并加載這些配置文件更改。
alan@linuxidc:/etc$ sudo service autofs restart
測(cè)試autofs
如果您更改到文件中列出的目錄之一,則自動(dòng)。掌握并運(yùn)行l(wèi)s命令,您不會(huì)立即看到任何東西。例如,將目錄(cd)更改為/mnt/tree。首先,ls的輸出不會(huì)顯示任何內(nèi)容,但是在運(yùn)行cd ourfiles之后,ourfiles共享目錄將自動(dòng)掛載。cd命令也將被執(zhí)行,您將被放置到新掛載的目錄中。
linuxidc@linuxidc:~$ cd /mnt/tree
linuxidc@linuxidc:/mnt/tree$ ls
linuxidc@linuxidc:/mnt/tree$ cd ourfiles
linuxidc@linuxidc:/mnt/tree/ourfiles$
為了進(jìn)一步確認(rèn)正在工作,mount命令將顯示掛載共享的詳細(xì)信息。
linuxidc@linuxidc:~$ mount
tree:/mnt/share/ourfiles on /mnt/tree/ourfiles type nfs4 (rw,relatime,vers=4.0,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.10.1.22,local_lock=none,addr=10.10.1.5)
對(duì)于linuxidc和Sarah來說,/home/tree目錄也會(huì)以同樣的方式工作。
我發(fā)現(xiàn)在我的文件管理器中書簽這些目錄很有用,以便更快地訪問。