在 Ubuntu 启动时启动服务

在 Ubuntu 启动时启动服务

我不清楚如何在服务器启动时启动服务,我阅读了一些关于添加脚本的其他问题/etc/init.d,但这只是我需要在命令行中执行的一行:

sudo /etc/init.d/avahi-daemon restart

但是我对此有几个问题,首先,我显然需要使用 sudo,它给了我以下内容:

ngl-server-01:~% sudo /etc/init.d/avahi-daemon start  
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service avahi-daemon start

Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the start(8) utility, e.g. start avahi-daemon

但当我尝试时,avahi-daemon start我得到:

Too many arguments

这是为什么?以及如何启动这项服务?

更新

类似地,我如何在启动时安装磁盘?

答案1

您可以使用以下方式手动启动服务

sudo start avahi-daemon

并且不使用

sudo avahi-daemon start

如果您希望服务在启动时启动。您需要查看向 /etc/rc2.d/ 添加符号链接以指向 /etc/init.d/avahi-daemon。阅读程序sysv-rc-confupdate-rc.d

要安装磁盘,您需要使用正确的详细信息编辑 /etc/fstab。您需要知道要安装的设备(例如 /dev/sdb1)、安装点(例如 /mnt/data)和文件系统。

fstab 中的条目看起来像这样:

/dev/sdb1    /mnt/data    ext3    defaults    0    2

答案2

如果 avahi-daemon 位于 /etc/init.d 中,并且您希望它在每次启动时启动,只需将其添加到启动脚本中:

sudo update-rc.d avahi-daemon defaults

但令我惊讶的是,avahi-daemon 仍然没有链接到所需的运行级别,因为它可能是由系统添加的。

要在启动时安装磁盘,请按照 Richard 的建议在 fstab 中添加一行。

答案3

我在 Ubuntu Server 12.04 中遇到了 avahi-daemon 在系统启动时启动的问题,尽管我这样做了,sudo update-rc.d avahi-daemon defaults但我还是通过AVAHI_DAEMON_DETECT_LOCAL1更改为 解决了这个问题(0/etc/default/avahi-daemon正如这里所建议的)。

我对这个问题的理解是,avahi-daemon 在我的服务器准备好联网之前启动了。它尝试检测“单播 DNS 服务器”,显然失败了,之后退出了。这是默认行为。通过将其更改AVAHI_DAEMON_DETECT_LOCAL为 0,我告诉 avahi-daemon 在启动时不要寻找这些服务器。

我也发现我确实不需要跑步sudo update-rc.d avahi-daemon defaults,因此用户 MatToufoutu 的怀疑是正确的。

相关内容