说说rc.local

/etc/rc.d/rc.local彷佛是不少linux系统管理员的偏心,由于凡是须要随系统自动启动的服务、程序等,只要系统没有提供Sys V风格的启动脚本,就把这些需求都塞到/etc/rc.d/rc.local。
固然,绝大部分状况下,你会发现这一切都工做得很正常,看上去也很美好。不过,当你遇到了一些诡异的问题的时候,也许你应该好好的去看看/etc/rc.d/rc.local里都写了什么了?
虽然/etc/rc.d/rc.local 的描述是你能够把你须要的自动启动的程序放到这里,不过那仅仅只是限于没有别的地方能够放置了,或者说系统也没有提供其余办法了,咱们才这么干,然而实际上,我碰到的不少/etc/rc.d/rc.local里放置的内容,其实系统提供了更好的处理方式:
1)oracle等服务器的启动:若是你须要你的oracle能够随着系统一块儿启动,你能够去看看/etc/oratab这个文件,而后去了解它,你就会发现这里才是它正确的位置所在
2)静态路由: 对于须要增长大量的不是本网段的路由时,不少人喜欢在/etc/rc.d/rc.local里添加相似
route add -net 192.168.1.0 netmask 255.255.255.0 gw 10.224.0.251
route add -host 192.168.100.1  gw 10.224.0.251
这样的语句,实际上,系统也提供了它正确放置的位置,只不过这个文件默认不会存在,你之须要看看/etc/init.d/network这个脚本就知道了,它除了会把网卡带起来之外,还会去检查是否存在/etc/sysconfig/static-routes文件,若是有,则添加这些文件里记录的静态路由,其格式很简单,好比上面的两条语句换成static-routes要求的格式就是:
any -net 192.168.1.0 netmask 255.255.255.0 gw 10.224.0.254
any -host 192.168.100.1  gw  10.244.0.254
3)修改设备权限信息:对于有udev功能的核心来讲,修改设备的属性,权限等,应该去找对应rules文件,在那些文件里去作对应的修改。
4 )  其余须要运行的程序:仍是本身写一个简单的符合LSB标准的启动脚本吧,这样系统可以帮你正确的启动而且正确的中止改服务,特别是正确的中止服务,而不是由系统简单发出kill -9 的方式。
上述这样的作法,其主要的目的就是要可以让服务按照正确的顺序依照正确的方式启动和中止,这样可以给你消除一些隐藏的问题。
固然,若是你系统一直都是正常工做的,并且/etc/rc.d/rc.local也又大量的脚本行,那也许你还不能体会我为何要说上面这些话了。
相关文章
相关标签/搜索