初衷:
我在centos上面搭建了一個dhcp server,由於client發來的dhcp request是加了tag的,為了使dhcp server能夠正常response分給client一個地址池的ip。
dhcp server 對應eth0
實現:
在/etc/rc.local中添加
vconfig add eth0 1002
ifconfig eth0.1002 90.0.0.1 up
說明:
linux啟動時,先加載內核,然后加載inittab文件,inittab文件中有個條目si::sysinit:/etc/rc.d/rc.sysinit指定了下一個要加載的文件rc.sysinit,這個文件加載完之后,加載/etc/rc.d/rc.RUNLEVEL.d目錄中的啟動腳本,最后加載/etc/rc.d/rc.local文件。
在rc.RUNLEVEL.d文件夾里,所存的都是軟鏈接,鏈接到 /etc/rc.d/init.d中的腳本文件,而/etc/rc.d/init.d文件夾和/etc/init.d文件夾是一樣的,/etc/init.d其實是軟鏈接到/etc/rc.d/init.d文件夾中。
假設你有一個腳本,你需要它開機啟動,有2個方法,
在rc.RUNLEVEL.d文件夾里,所存的都是軟鏈接,鏈接到 /etc/rc.d/init.d中的腳本文件,而/etc/rc.d/init.d文件夾和/etc/init.d文件夾是一樣的,/etc/init.d其實是軟鏈接到/etc/rc.d/init.d文件夾中。
假設你有一個腳本,你需要它開機啟動,有2個方法,
第一,就是把它注冊為系統服務,也就是把它放到/etc/init.d目錄下,並且在腳本中,加一行# chkconfig: 345 85 35,然后就可以用chkconfig命令讓其開機啟動。因為在/etc/init.d目錄下,所以也可以用service命令控制該腳本。
第二,就是在/etc/rc.d/rc.local文件中,直接把該腳本的路徑寫進去,在開機加載rc.local文件的時候,自然會啟動這個腳本。這個腳本就不能用chkconfig和service命令控制。