我不清楚如何在服务器启动时启动服务,我阅读了一些关于添加脚本的其他问题/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-conf
或update-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_LOCAL
从1
更改为 解决了这个问题(0
/etc/default/avahi-daemon
正如这里所建议的)。
我对这个问题的理解是,avahi-daemon 在我的服务器准备好联网之前启动了。它尝试检测“单播 DNS 服务器”,显然失败了,之后退出了。这是默认行为。通过将其更改AVAHI_DAEMON_DETECT_LOCAL
为 0,我告诉 avahi-daemon 在启动时不要寻找这些服务器。
我也发现我确实不需要跑步sudo update-rc.d avahi-daemon defaults
,因此用户 MatToufoutu 的怀疑是正确的。