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