exportfs(8) System Manager's Manual exportfs(8)

exportfs - 管理NFS共享檔案系統列表

概述 (SYNOPSIS)

/usr/sbin/exportfs [-avi] [-o options,..] [client:/path ..]
/usr/sbin/exportfs -r [-v]
/usr/sbin/exportfs [-av] -u [client:/path ..]
/usr/sbin/exportfs [-v]
/usr/sbin/exportfs -f

描述 (DESCRIPTION)

exportfs 命令用來管理當前NFS共享的檔案系統列表。 這個列表儲存在一個單獨的檔案 /var/lib/nfs/xtab 中,當遠端主機要求對一個檔案系統樹載入並訪問時由 mountd 讀取,列表中活動的一部分也儲存在在核心共享表中。

通常 xtab 在執行 exportfs -a.

的時候,根據 /etc/exports 中定義的共享列表來初始化。 但是,管理員可以選擇新增或刪除獨立的檔案系統,不必修改 /etc/exports ,只要執行 exportfs 就可以了。

exportfs 和它的合作者 mountd 工作在兩種模式之一,一種是2.4以及早期的核心採用的傳統模式, 另一種是2.6以後核心採用的模式。 2.6之後的核心提供了 nfsd 虛擬檔案系統,掛載點是 /proc/fs/nfs。 在2.6核心中如果沒有掛載這個系統,將使用傳統模式。

在新模式中, exportfs 不為核心提供任何資訊,只通過 /var/lib/nfs/xtab 檔案將資訊提供給 mountdmountd 將等待核心請求,提供需要的資訊。

在傳統模式中,任何標識了一臺特定主機(而不是一個子網或是一個工作組)的 共享請求會直接進入核心共享表,同時寫入 /var/lib/nfs/xtab. 甚至於,任何列在 /var/lib/nfs/rmtab 中的掛載點,只要它符合一個不指定主機的共享請求,將使得 rmtab 給出的主機的一個適當的共享條目進入核心的共享表中。

選項 (OPTIONS)

開啟或取消所有目錄共享。
指定一列共享選項,與 exports(5) 中講到的類似。
忽略 /etc/exports 檔案,從而只使用預設的和命令列指定的選項。
重新共享所有目錄。它使 /var/lib/nfs/xtab 和 /etc/exports 同步。 它將 /etc/exports 中已刪除的條目從 /var/lib/nfs/xtab 中刪除,將核心共享表中任何不再有效的條目移除。
取消一個或多個目錄的共享。
在“新”模式下,重新整理核心共享表之外的任何東西。 任何活動的客戶程式將在它們的下次請求中得到 mountd 新增的新的共享條目。
輸出詳細資訊。當共享或者取消共享時,顯示在做什麼。 顯示當前共享列表的時候,同時顯示共享的選項。

討論 (DISCUSSION)

共享目錄 (Exporting Directories)

第一條概述中顯示出如何執行命令來新增新的共享。 當執行 exportfs -a時, 所有 exports(5) 中的目錄將新增到 xtab 並且將結果列表送進核心。

host:/path 引數指定了要共享的目錄和可以訪問它的主機。 所有 exports(5) 中定義的格式都可以支援。 想要將一個目錄共享給所有其他機器,只要用 :/path 就可以了。

這種指定一個特定主機/目錄的共享選項來自於多種來源。 有一系列的預設選項,可以在 /etc/exports 中指定它們(除非指定了 -i 選項)。 另外,管理員可以使用 -o 引數和一系列以逗號分隔的選項來覆蓋所有預設選項。 做法就像在 exports(5) 中一樣。 因此, exportfs 可以用來修改已經共享的目錄的共享選項。

nfsd(8) 對核心共享表的修改會在命令列解析和 xtab 檔案修改之後馬上進行。

預設的共享選項是 sync,ro,root_squash,no_delay

取消共享 (Unexporting Directories)

第三種語法顯示了怎樣取消一個當前的共享目錄。 當執行 exportfs -ua, 的時候, xtab 中的所有條目被從核心共享表中移除, 這個檔案會被清空。這樣可以迅速停止所有NFS服務。

要取消單獨的共享條目,可以指定一個 host:/path 引數。這樣刪除了 xtab 中的條目並且移除了對應的核心條目(如果有的話)。

獲取共享表 (Dumping the Export Table)

執行不帶選項的 exportfs 將列出當前的共享列表。當給出 -v 選項時,會列出各自的標誌。

範例 (EXAMPLES)

這條命令將所有 /etc/exports 中列出的目錄加入到 /var/lib/nfs/xtab 中,將結果送入核心:

# exportfs -a

如果要將 /usr/tmp 目錄共享給 djando主機, 允許匿名寫入,應當這樣:

# exportfs -o async django:/usr/tmp

依賴性 (DEPENDENCIES)

提供給IP子網,DNS和NIS域的共享不會使這些工作組中的客戶程式馬上就能讀取NFS; 這種型別的共享其實是向 mountd(8) 提供的資訊,為來自這些客戶的掛載請求授權。 這通常不是一個大問題,因為重啟過程中,任何存在的載入都儲存在 rmtab 中。

當取消一個子網或域的共享時,當前任何提供給這個工作組中的成員的共享 將被檢查。如果它們不再有效,它們將被移除。

參見 (SEE ALSO)

exports(5), mountd(8)

作者 (AUTHORS)

Olaf Kirch, <okir@monad.swb.de>
Neil Brown, <neilb@cse.unsw.edu.au>

袁乙鈞 <bbbush@163.com>

2003.10.26

《中國linux論壇man手冊頁翻譯計劃》:

http://cmpp.linuxforum.net

本頁面中文版由中文 man 手冊頁計劃提供。
中文 man 手冊頁計劃:https://github.com/man-pages-zh/manpages-zh

18 July 2003