问题:我新安装了好些程序,比如mysql 为什么下次启动就没了?
回答:一般在ports 安装的程序都会自动添加启动脚本;但是自己编译的程序就不一定,那么我们将自己编译的程序加入启动脚本呢?
首先,FreeBSD 的自启动脚本在/etc/rc.local (如果没有的话可以自己建立)
在里面添加要启动的程序就可以了,比如说:/usr/local/mysql/bin/safe_mysqld –user=mysql
那么下次启动的时候mysql 也会自动起来了。其他的程序也一样。
如果程序出了点问题,下次启动的时候卡住了怎么办呢?请进入单用户模式,然后编辑/etc/rc.local ,把错误的程序名字用#屏蔽掉。再重启试试看。
是否只有rc.local 可以令程序自启动呢?不一定,也可以把启动脚本放在/usr/local/etc/rc.d 并把名称换成xxxx.sh ,注意一定要.sh结尾。做为BSD的规范,FreeBSD更赞成大家使用这种规范的启动脚本。
再拿mysql 做例子:在/usr/local/etc/rc.d 下添加mysql.sh ,内容为:/usr/local/mysql/bin/safe_mysqld –user=mysql 并且要把mysql.sh 改成可执行:
%chmod +x /usr/local/etc/rc.d/mysql.sh
OK,下次启动的时候也可以把mysql执行了。
另外,再告诉大家一个小技巧:“/usr/local/etc/rc.d”中的启动脚本是以文件名为顺序来确定启动顺序的。后缀名不是.sh并且没有可执行权限的文件在启动时将被忽略。