rc 脚本依赖项

rc 脚本依赖项

在 Ubuntu 10.04.1 LTS 服务器上安装的某些服务在重启后无法正常启动。

我在 eth0 上定义了几个虚拟接口:

/etc/网络/接口

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static
    address 172.16.5.240
    netmask 255.255.255.0
    gateway 172.16.5.1

auto eth0:1
iface eth0:1 inet static
    address 172.16.5.241
    netmask 255.255.255.0
    gateway 172.16.5.1

auto eth0:2
iface eth0:2 inet static
    address 172.16.5.242
    netmask 255.255.255.0
    gateway 172.16.5.1

auto eth0:3
iface eth0:3 inet static
    address 172.16.5.243
    netmask 255.255.255.0
    gateway 172.16.5.1

等等...

一些尝试绑定到例如 172.16.5.243 的 SysV 初始化脚本在启动期间失败,并抱怨没有这样的 IP 地址。

我的问题:

1) 默认情况下,服务是否并行启动?我可以禁用此功能以便它们按顺序运行吗?

2) 有没有办法定义 rc 脚本之间的依赖关系?我只熟悉使用 /etc/rc[0-6].d/ 中的数字定义按顺序启动的脚本的顺序)

任何其他修复或解决方法均值得赞赏。

答案1

您的问题没有明确的答案。这取决于需要 172.16.5.243 的服务是 SysV init 脚本还是 upstart 作业。

当它是一个 SysV 启动脚本时,您可以在启动脚本中添加带有此标头的依赖项:

### BEGIN INIT INFO
# Provides:          scriptname
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start daemon at boot time
# Description:       Enable service provided by daemon.
### END INIT INFO

如果是 Upstart 脚本,请查看这个帖子有趣的部分是在接受的答案中:

start on (local-filesystems and net-device-up IFACE=eth0)

相关内容