exportfs(8)

NAME
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 文件將信息提供給 mountd 。 mountd 將等待內核請求，提供需要的信息。

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

選項 (OPTIONS)

-a  打開或取消所有目錄共享。

-o options,...
    指定一列共享選項，與 exports(5) 中講到的類似。

-i  忽略 /etc/exports 文件，從而只使用默認的和命令行指定的選項。

-r  重新共享所有目錄。它使 /var/lib/nfs/xtab 和 /etc/exports 同步。 它將 /etc/exports 中已刪除的條目從 /var/lib/nfs/xtab 中刪除，將內核共享表中任何不再有效的條目移除。

-u  取消一個或多個目錄的共享。

-f  在“新”模式下，刷新內核共享表之外的任何東西。 任何活動的客戶程序將在它們的下次請求中得到 mountd 添加的新的共享條目。

-v  輸出詳細信息。當共享或者取消共享時，顯示在做什麼。 顯示當前共享列表的時候，同時顯示共享的選項。

討論 (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