網頁

2014年10月8日

[linux] 解決CentOS 7開機不會執行rc.local腳本檔的問題

最近安裝的CentOS 7主機,發現重新開機後,系統都不會自動執行rc.local檔案,透過網路搜尋相關資料後,發現問題原因都指向rc.local沒有執行權限的關係。


在主機上,使用ls指令查詢後,確實是沒有執行權限。
[root@xxx /]# ls -al /etc/rc.d/rc.local
-rwxr--r-- 1 root root 539  9月  5 14:33 /etc/rc.d/rc.local


既然知道問題原因,那就比較好處理,直接將檔案使用chmod指令加上執行權限即可。
[root@xxx /]# chmod 755 /etc/rc.d/rc.local


執行權限加上去後,再使用ls指令再查詢一次,查看執行權限是否有確實有加上去。
[root@xxx /]# ls -al /etc/rc.d/rc.local
-rwxr-xr-x 1 root root 539  9月  5 14:33 /etc/rc.d/rc.local


做完這些動作後,下次重新開機就會自動執行rc.local檔案。


在某次編輯rc.local文件的時候,意外發現內容有附上了一段文字,文字內容清楚交待rc.local為什麼沒有隨著開機啟動的原因,最後一段文字也註明了若要在開機的時候啟動,必須執行「chmod +x /etc/rc.d/rc.local」指令。

# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
#
# It is highly advisable to create own systemd services or udev rules
# to run scripts during boot instead of using this file.
#
# In constrast to previous versions due to parallel execution during boot
# this script will NOT be run after all other services.
#
# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
# that this script will be executed during boot.