我在 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 方式执行此操作则不会出现这种情况)。