.\" .\" exportfs(8) .\" .\" Copyright (C) 1995 Olaf Kirch .\" Modifications 1999-2003 Neil Brown .TH exportfs 8 "18 July 2003" .SH NAME exportfs \- 管理NFS共享文件系统列表 .SH "概述 (SYNOPSIS)" .BI "/usr/sbin/exportfs [-avi] [-o " "options,.." "] [" "client:/path" " ..] .br .BI "/usr/sbin/exportfs -r [-v]" .br .BI "/usr/sbin/exportfs [-av] -u [" "client:/path" " ..] .br .BI "/usr/sbin/exportfs [-v] .br .BI "/usr/sbin/exportfs -f" .br .SH "描述 (DESCRIPTION)" .B exportfs 命令用来管理当前NFS共享的文件系统列表。 这个列表保存在一个单独的文件 .BR /var/lib/nfs/xtab 中,当远端主机要求对一个文件系统树加载并访问时由 .B mountd 读取,列表中活动的一部分也保存在在内核共享表中。 .P 通常 .B xtab 在执行 .BR "exportfs -a" . .P 的时候,根据 .B /etc/exports 中定义的共享列表来初始化。 但是,管理员可以选择添加或删除独立的文件系统,不必修改 .B /etc/exports ,只要执行 .BR exportfs 就可以了。 .P .B exportfs 和它的合作者 .B mountd 工作在两种模式之一,一种是2.4以及早期的内核采用的传统模式, 另一种是2.6以后内核采用的模式。 2.6之后的内核提供了 .B nfsd 虚拟文件系统,挂载点是 .BR /proc/fs/nfs 。 在2.6内核中如果没有挂载这个系统,将使用传统模式。 .P 在新模式中, .B exportfs 不为内核提供任何信息,只通过 .B /var/lib/nfs/xtab 文件将信息提供给 .B mountd 。 .B mountd 将等待内核请求,提供需要的信息。 .P 在传统模式中,任何标识了一台特定主机(而不是一个子网或是一个工作组)的 共享请求会直接进入内核共享表,同时写入 .BR /var/lib/nfs/xtab . 甚至于,任何列在 .B /var/lib/nfs/rmtab 中的挂载点,只要它符合一个不指定主机的共享请求,将使得 .B rmtab 给出的主机的一个适当的共享条目进入内核的共享表中。 .SH "选项 (OPTIONS)" .TP .B -a 打开或取消所有目录共享。 .TP .BI "-o " options,... 指定一列共享选项,与 .BR exports(5) 中讲到的类似。 .TP .B -i 忽略 .B /etc/exports 文件,从而只使用默认的和命令行指定的选项。 .TP .B -r 重新共享所有目录。它使 /var/lib/nfs/xtab 和 /etc/exports 同步。 它将 /etc/exports 中已删除的条目从 /var/lib/nfs/xtab 中删除,将内核共享表中任何不再有效的条目移除。 .TP .B -u 取消一个或多个目录的共享。 .TP .B -f 在“新”模式下,刷新内核共享表之外的任何东西。 任何活动的客户程序将在它们的下次请求中得到 .B mountd 添加的新的共享条目。 .TP .B -v 输出详细信息。当共享或者取消共享时,显示在做什么。 显示当前共享列表的时候,同时显示共享的选项。 .SH "讨论 (DISCUSSION)" .\" -------------------- Exporting Directories -------------------- .SS "共享目录 (Exporting Directories)" 第一条概述中显示出如何执行命令来添加新的共享。 当执行 .BR "exportfs -a" 时, 所有 .B exports(5) 中的目录将添加到 .B xtab 并且将结果列表送进内核。 .P .I host:/path 参数指定了要共享的目录和可以访问它的主机。 所有 .B exports(5) 中定义的格式都可以支持。 想要将一个目录共享给所有其他机器,只要用 .IR :/path 就可以了。 .P 这种指定一个特定主机/目录的共享选项来自于多种来源。 有一系列的默认选项,可以在 .B /etc/exports 中指定它们(除非指定了 .B -i 选项)。 另外,管理员可以使用 .B -o 参数和一系列以逗号分隔的选项来覆盖所有默认选项。 做法就像在 .BR exports(5) 中一样。 因此, .B exportfs 可以用来修改已经共享的目录的共享选项。 .P .B nfsd(8) 对内核共享表的修改会在命令行解析和 .B xtab 文件修改之后马上进行。 .P 默认的共享选项是 .BR sync,ro,root_squash,no_delay 。 .\" -------------------- Unexporting Directories ------------------ .SS "取消共享 (Unexporting Directories)" 第三种语法显示了怎样取消一个当前的共享目录。 当执行 .BR "exportfs -ua" , 的时候, .B xtab 中的所有条目被从内核共享表中移除, 这个文件会被清空。这样可以迅速停止所有NFS服务。 .P 要取消单独的共享条目,可以指定一个 .I host:/path 参数。这样删除了 .B xtab 中的条目并且移除了对应的内核条目(如果有的话)。 .P .\" -------------------- Dumping the Export Table ----------------- .SS "获取共享表 (Dumping the Export Table)" 执行不带选项的 .B exportfs 将列出当前的共享列表。当给出 .B -v 选项时,会列出各自的标志。 .\" -------------------- EXAMPLES --------------------------------- .SH "范例 (EXAMPLES)" 这条命令将所有 .B /etc/exports 中列出的目录加入到 /var/lib/nfs/xtab 中,将结果送入内核: .P .nf .B "# exportfs -a .fi .P 如果要将 .B /usr/tmp 目录共享给 .BR djando 主机, 允许匿名写入,应当这样: .P .nf .B "# exportfs -o async django:/usr/tmp .fi .\" -------------------- DEPENDENCIES ----------------------------- .SH "依赖性 (DEPENDENCIES)" 提供给IP子网,DNS和NIS域的共享不会使这些工作组中的客户程序马上就能读取NFS; 这种类型的共享其实是向 .B mountd(8) 提供的信息,为来自这些客户的挂载请求授权。 这通常不是一个大问题,因为重启过程中,任何存在的加载都保存在 .B rmtab 中。 .P 当取消一个子网或域的共享时,当前任何提供给这个工作组中的成员的共享 将被检查。如果它们不再有效,它们将被移除。 .P .\" -------------------- SEE ALSO -------------------------------- .SH "参见 (SEE ALSO)" .BR exports(5) ", " mountd(8) .\" -------------------- AUTHOR ---------------------------------- .SH "作者 (AUTHORS)" Olaf Kirch, .br Neil Brown, .SH "[中文版维护人]" .B 袁乙钧 .SH "[中文版最新更新]" .B 2003.10.26 .SH "《中国linux论坛man手册页翻译计划》:" .B http://cmpp.linuxforum.net .SH "跋" .br 本页面中文版由中文 man 手册页计划提供。 .br 中文 man 手册页计划:\fBhttps://github.com/man-pages-zh/manpages-zh\fR