三种方法:
1.基于linux的system V机制,其中有个运行级别和链接软连接指向服务脚本的机制。
服务脚本一般处于/etc/init.d/目录下,
而运行级别制定的默认执行脚本在/etc/rc.d/rc[0-6]/目录下,
所以我们只需要两步:
1.将自己写的脚本文件丢道/etc/init.d/目录中(系统自带或安装的目录也在这下面)
2.在/etc/rc.d.rc[0-6]/目录下建立指向该脚本的软连接
ln -s etc/init.d/脚本 /etc/rcd/rc[0-6]/S100SSH
(每个软连接名字前面必须为S,这代表开机启动)
如目标是在系统启动时自动开启nfs,tftp,samba,ssh四个服务:
方法1:
将四个服务依次建立软连接到各个运行级别的文件中去。
ln -s /etc/init.d/tftpd-hpa /etc/rc2.d/S10666tftpd
ln -s /etc/init.d/tftpd-hpa /etc/rc3.d/S10666tftpd
...
ln -s /etc/init.d/sshd /etc/rc3.d/S10666sshd
ln -s /etc/init.d/sshd /etc/rc2.d/S10666sshd
...
...
这样操作就比较多。
更简单的方法:
写一个脚本文件
#!/bin/bash
ifconfig eth0 192.168.32.128
sudo /etc/init.d/ssh restart
sudo /etc/init.d/nfs-kernel-server restart
sudo service tftpd-hpa restart
将这个脚本文件放到/etc/init.d/目录下,
再将这个脚本创建软连接到各个运行界别目录下就可以了。
(推荐使用上者,下面还有很多问题没解决)
2.利用工具chkconfig
(1)安装:apt-get install chkconfig
如果安装不了,出现Install these packages without verification?
apt-get update
apt-get install chkconfig
如果还是不行,那就换个源
网上搜索一个源,修改/etc/apt/soucure.list,然后
apt-get update
apt-get install chkconfig
(2)chkconfig --list 服务
这语句可查看该服务在哪些运行级别下是自启动
(3)chkconfig 服务 on 可开启这个服务的自启动
如果开启时出现/sbin/insserv: No such file or directory
那就ln -s /usr/lib/insserv/insserv /sbin/insserv
再chkconfig 服务 on
chkconfig --list 服务就可以查看到那些运行级别下自启动了,默认是2345
有时候,chkconfig 服务 on 了再使用chkconfig --lis查看并没有什么效果,目前还没有解决这个问题,