exportfs -
管理NFS共享檔案系統列表
/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
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
給出的主機的一個適當的共享條目進入核心的共享表中。
- -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
- 輸出詳細資訊。當共享或者取消共享時,顯示在做什麼。
顯示當前共享列表的時候,同時顯示共享的選項。
第一條概述中顯示出如何執行命令來新增新的共享。
當執行
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。
第三種語法顯示了怎樣取消一個當前的共享目錄。
當執行
exportfs -ua, 的時候,
xtab
中的所有條目被從核心共享表中移除,
這個檔案會被清空。這樣可以迅速停止所有NFS服務。
要取消單獨的共享條目,可以指定一個
host:/path
引數。這樣刪除了
xtab
中的條目並且移除了對應的核心條目(如果有的話)。
執行不帶選項的
exportfs
將列出當前的共享列表。當給出
-v
選項時,會列出各自的標誌。
這條命令將所有
/etc/exports
中列出的目錄加入到
/var/lib/nfs/xtab
中,將結果送入核心:
# exportfs -a
如果要將
/usr/tmp
目錄共享給
djando主機,
允許匿名寫入,應當這樣:
# exportfs -o async django:/usr/tmp
提供給IP子網,DNS和NIS域的共享不會使這些工作組中的客戶程式馬上就能讀取NFS;
這種型別的共享其實是向
mountd(8)
提供的資訊,為來自這些客戶的掛載請求授權。
這通常不是一個大問題,因為重啟過程中,任何存在的載入都儲存在
rmtab 中。
當取消一個子網或域的共享時,當前任何提供給這個工作組中的成員的共享
將被檢查。如果它們不再有效,它們將被移除。
exports(5),
mountd(8)
Olaf Kirch, <
[email protected]>
Neil Brown, <
[email protected]>
袁乙鈞 <[email protected]>
2003.10.26
http://cmpp.linuxforum.net
本頁面中文版由中文 man
手冊頁計劃提供。
中文 man 手冊頁計劃:
https://github.com/man-pages-zh/manpages-zh