centos7下/etc/rc.local檔案裡配置的開機啟動項不執行的解決辦法
阿新 • • 發佈:2021-08-05
習慣於在/etc/rc.local檔案裡配置我們需要開機啟動的服務,這個在centos6系統下是正常生效的。但是到了centos7系統下,發現/etc/rc.local檔案裡的開機啟動項不執行了!仔細研究/etc/rc.local檔案內容,發現問題如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
[root@openstack ~] # cat /etc/rc.local
#!/bin/bash
# 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 contrast 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. .......
|
上面的內容翻譯出來的意思是:
1 2 3 4 5 6 7 |
#這個檔案是為了相容性的問題而新增的。
#
#強烈建議建立自己的systemd服務或udev規則來在開機時執行指令碼而不是使用這個檔案。
#
#與以前的版本引導時的並行執行相比較,這個指令碼將不會在其他所有的服務後執行。
#
#請記住,你必須執行“chmod +x /etc/rc.d/rc.local”來確保確保這個指令碼在引導時執行。
|
然後接著檢視/etc/rc.local的許可權
1 2 3 4 |
[root@openstack ~] # ll /etc/rc.local lrwxrwxrwx. 1 root root 13 1月 29 10:45 /etc/rc . local -> rc.d /rc . local
[root@openstack ~] # ll /etc/rc.d/rc.local
-rw-r--r--. 1 root root 473 1月 25 23:52 /etc/rc .d /rc . local
|
/etc/rc.d/rc.local沒有執行許可權,於是按說明的內容執行:
1 2 3 |
[root@openstack ~] # chmod +x /etc/rc.d/rc.local
[root@openstack ~] # ll /etc/rc.d/rc.local
-rwxr-xr-x. 1 root root 473 1月 25 23:52 /etc/rc .d /rc . local
|
重啟伺服器後發現/etc/rc.local檔案裡設定的開啟啟動項能夠正常執行了。由此可見,雖然centos版本的變遷,/etc/rc.local、/etc/rc.d/rc.local正在處於被棄用的路上。