fstab 在加载所需模块之前执行(vmhgfs)

fstab 在加载所需模块之前执行(vmhgfs)

我在 VMware 中运行 64 位 Trusty Server,并尝试在启动时加载共享文件夹。

我看到的问题是,所需的模块 vmhgfs 直到执行 fstab 后才加载,所以我最终得到了“安装 /srv 时发生错误。按 S 跳过安装或按 M 进行手动恢复”启动时出错。

如果$ mount -a我登录后运行,它就可以正常安装。

我已经将 mod 加载追踪到 /etc/vmware-tools/services.sh,它是从 /etc/init/vmware-tools.conf 执行的:

start on runlevel [235] or starting gdm or starting kdm or starting prefdm
stop on runlevel [06]

pre-start exec /etc/vmware-tools/services.sh start
post-stop exec /etc/vmware-tools/services.sh stop

有什么方法可以改变这个过程以使这个 services.sh 脚本在 fstab 之前执行。

否则,安装此共享的最佳方法是什么。我想做的事情之一是能够为 /var/lib/mysql 共享,因此理想情况下,此过程必须在 mysql 服务需要它之前完成。

答案1

/srv从 中删除包含文件系统的行/etc/fstab,并将 mount 命令添加到/etc/rc.local。这样,您的/srv文件系统将在稍后挂载,但在 MySQL 需要它之前。

答案2

在较新的 Ubuntu 上,使用 systemd 作为 Init-system,您可以在 fstab 中为共享文件夹设置以下选项:

noauto,x-systemd.automount,rw

“noauto” 将在启动时跳过此文件系统,“x-systemd.automount” 将在第一次访问时立即挂载此文件系统(简单的 ls 就足够了)。这样,启动过程就不会中断,但在关机时它将被干净地卸载(如果您以 rc.local 方式执行此操作则不会出现这种情况)。

相关内容