debian6添加了insserv用来代替update-rc.d

本文介绍如何在Debian6中配置服务以实现自动启动。主要步骤包括将启动脚本放置于/etc/init.d目录下,并使用insserv命令进行服务的添加、删除及默认runlevels设置。此外,还详细展示了脚本中metadata的定义格式。

debian6里边要添加一个自动启动的服务

先将启动脚本放在/etc/init.d,然后使用insserv来启用这个服务

例如服务名称为 myserver,则脚本为/etc/init.d/myserver

 

然后使用 insserv myserver可以将myserver设为自动启动

 

 

脚本里边要定义启动文件的metadata,格式为

 

 

 

### 常见问题及解决办法 #### 脚本权限问题 在使用 `update-rc.d` 添加服务时,若 `/etc/init.d` 目录下的服务脚本没有正确的执行权限,会导致服务无法正常添加或启动。例如创建一个名为 `nginx` 的脚本后,若未执行 `chmod 755 nginx` 赋予其执行权限,`update-rc.d` 可能无法正确处理该脚本。 解决办法:为脚本添加执行权限,如为 `nginx` 脚本添加权限的命令为 `chmod 755 /etc/init.d/nginx` [^4]。 #### 脚本格式问题 服务脚本需要遵循特定的格式,尤其是 `INIT INFO` 部分。如果 `INIT INFO` 部分缺失或格式错误,`update-rc.d` 可能无法正确识别服务的启动和停止条件。 解决办法:确保脚本的 `INIT INFO` 部分格式正确,以 `nginx` 脚本为例: ```bash #!/bin/bash ### BEGIN INIT INFO # Provides: nginx # Required-Start: $remote_fs $syslog # Required-Stop: $remote_fs $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Start nginx at boot time # Description: Enable service provided by nginx. ### END INIT INFO start() { /opt/nginx_1.8.0/sbin/nginx exit 0; } stop() { /opt/nginx_1.8.0/sbin/nginx -s stop } case "$1" in start) start ;; stop) stop ;; restart) stop start ;; *) echo "Usage: $0 {start|stop|restart}" exit 0 ;; esac exit 0 ``` #### 依赖问题 若服务脚本中指定的依赖项不存在或配置错误,`update-rc.d` 在处理服务时可能会出现问题。 解决办法:检查服务脚本中 `Required-Start` 和 `Required-Stop` 部分指定的依赖项是否正确,确保这些依赖项存在且配置正确。 #### 符号链接问题 `update-rc.d` 通过在 `/etc/rcN.d` 目录下创建符号链接来管理服务的启动和停止。如果这些符号链接创建失败,服务可能无法在相应的运行级别正常启动或停止。 解决办法:手动检查 `/etc/rcN.d` 目录下的符号链接是否正确创建,若有问题可删除错误的符号链接,重新使用 `update-rc.d` 命令添加服务。 #### 运行级别问题 如果对运行级别理解不准确,在使用 `update-rc.d` 时可能会错误地设置服务在某些运行级别下的启动和停止状态。 解决办法:了解 Linux 系统的运行级别知识,明确不同运行级别的含义,根据需求正确设置服务在各个运行级别的状态。例如,若希望服务在运行级别 2、3、4、5 启动,在 `INIT INFO` 部分的 `Default-Start` 中指定相应的运行级别 [^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值