为什么我的 Upstart 脚本无法在 14.04 上运行?

为什么我的 Upstart 脚本无法在 14.04 上运行?

我将以下 Upstart 脚本保存为/etc/init/automount.conf

description     "SOME DESCRIPTION"

start on startup

task
exec mount -t vboxsf WebApps -o rw,dmode=777,gid=GROUP_ID,uid=USER_ID /var/virtual/some_folder_name

其中 GROUP_ID 和 USER_ID 是我从/etc/passwd

以前,在我将 ubuntu 从 12.10 升级到 14.04 之前,这个功能是可以正常工作的。升级之后,我还将虚拟盒从 4.3.8 升级到了 4.3.10。后来,我认为 4.3.10 存在问题。所以我将虚拟盒降级回 4.3.8。

现在共享文件夹一切正常。不幸的是,我认为这个脚本没有执行。原因是启动时没有进行挂载。

我仍然可以毫无问题地执行该命令。为什么 Upstart 无法再运行该命令?我如何知道问题出在哪里?

答案1

默认情况下,Upstart 应该记录它正在做的事情/var/log/upstart/automount.log。这将向您显示它尝试运行的输出(这样做应该让您大致知道问题是什么)。

那里什么都没有?尝试一下sudo start automount,看看它对事物有什么作用。如果这有效(并且事物已安装),则您的start on startup线路可能需要更改。可能还有其他东西尚未启动(我不确定 vboxsf 需要什么),因此将其推迟到以后可能会有效。

但是,对于你的情况,我倾向于完全放弃脚本,而只使用更常规的挂载方法/etc/fstab。我们已经有一个问题,其答案如下:

这是更合乎逻辑的处理方式(在我看来)。你仍然可以传递所有选项,只是重新排列为某物(我还没有测试过所以你可能需要混淆一些东西)例如:

WebApps  /var/virtual/some_folder_name  vboxsf  rw,dmode=777,gid=GROUP_ID,uid=USER_ID  0 0

相关内容