/etc/exports 提供了什么以及如何找到它?

/etc/exports 提供了什么以及如何找到它?

我有两个 Debian 虚拟机,它们是从相同的 netinstall iso 构建的,但可能安装了不同的软件包。其中一个有/etc/exports用于 nfs 安装的文件,但另一个没有。我希望他们都拥有由包管理器安装的这个文件。

我来自 Fedora 世界,如果我还在其中,我会的yum whatprovides /etc/exports有人告诉我在 Debian 土地上,我应该这样做apt-file search。但是,我没有得到任何结果:

apt-file update
apt-file search /etc/exports

我在这里缺少什么?

答案1

当您正在查找属于您计算机上安装的软件包的文件时,您可以使用dpkg -S(相当于dpkg-query -S):

dpkg -S /etc/exports

在这种情况下,虽然它不会找到任何东西,因为/etc/exports是由维护者脚本创建的(并且该类型的文件明确不由 处理dpkg-query,或者就此而言由 处理apt-file)。

因此,如果apt-file找不到dkpg -S文件,您可以尝试查看维护者脚本:

grep /etc/exports /var/lib/dpkg/info/*

这应该与nfs-kernel-server的维护者脚本匹配;这就是创建 的包/etc/exports,至少在我的 NFS 服务器上是这样。

答案2

在 Debian 上,/etc/exports不包含在任何软件包中。有一个示例配置文件:

/usr/share/nfs-kernel-server/conffiles/etc.exports

您可以将其复制到 /etc/exports 并对其进行编辑以使您满意(很可能有一些 nfs 安装后设置将其复制到/etc)。该文件作为包的一部分提供nfs-kernel-server

$ apt-file search /usr/share/nfs-kernel-server/conffiles/etc.exports
nfs-kernel-server: /usr/share/nfs-kernel-server/conffiles/etc.exports

答案3

如果没有apt-file,并且如果您要查找的软件包未安装(那么dpkg -S就是您的朋友),您可以在 Debian 网站上查找该文件:

https://packages.debian.org/search?searchon=contents&keywords=/etc/exports&mode=path&suite=unstable&arch=any

不过,使用 Web 表单可能更容易(我有一个 shell 函数,可以$BROWSER为我扩展此 URL):

至于/etc/exports- 正如上述站点所示,它不直接包含在任何包中。但是,如果您已经安装了该软件包,则可以在维护者脚本中 grep 查找它:

fgrep -r etc/exports /var/lib/dpkg/info

结果包含/var/lib/dpkg/info/nfs-kernel-server.postinst,它指向我们目前已知的该文件的罪魁祸首。

如果失败,您可以在网站上搜索类似名称的文件。此搜索“包含名称中包含关键字的文件的包”结果太多,但正在搜索以关键字结尾的路径只有 14 个结果,其中之一是/usr/share/nfs-kernel-server/conffiles/etc.exports nfs-kernel-server [not kfreebsd-amd64, kfreebsd-i386],这正是我们要查找的结果。

AIUI 还没有对所有软件包的维护者脚本进行基于 Web 的搜索(还?)。

答案4

该文件/etc/exports是一个配置文件。由于默认情况下不导出任何文件系统,因此默认情况下不会创建该文件或仅包含注释。

如果您想要从虚拟机导出某些内容,则应创建该文件并确保安装并启用相关的 NFS 服务器包。如果您不想导出任何 NFS 文件系统,则不需要此文件。

相关内容