問題:
在系統中/etc/rc.local設置自啓動命令的時候,重啓計算機,文件中的指令沒法生效。linux
我這裏編譯安裝了一個mongodb數據庫的服務,而後修改了環境變量。寫入到了.bash_profile 文件中,在shell中能夠直接執行命令。mongodb
查看文件,文件的命令也是正確的
重啓後指令沒法生效shell
rc.local數據庫
路徑/etc/rc.d/rc.local或/etc/rc.local(軟鏈接文件)
做用:用來開機自啓動一些指定指令。bash
./.bash_profile:ide
路徑:每一個用戶的根目錄下的隱藏文件;
做用,用來設置該用戶的環境變量,我的設置,設置以後只能本身使用。blog
/etc/profile:it
路徑:/etc/profile
做用:用來設置全部用戶的環境變量,總體設置,設置完成後,全部用戶皆可使用編譯
在linux中,一個文件出現了問題,首先應該查看文件的完整性和文件的權限。(我的習慣)。class
我這裏雖然修改了環境變量,可是,當計算機啓動的時候,/etc/rc.local文件是先於/etc/profile或.bash_profile文件執行的。
因此,我這裏得命令應該使用絕對路徑的形式。(which mongod)。
查看軟鏈接文件:
大多數人會在這裏出現問題,由於這裏顯示的是擁有可執行權限的。這個文件的最終執行仍是要到/etc/rc.d/rc.local文件那裏執行,因此咱們須要看的文件權限應該是源文件。
從這裏能夠看出,文件根本就沒有執行權限,因此說當計算機開機的時候,這個文件也不會去執行。
chmod +x /etc/rc.d/rc.local
完成以後重啓就能夠了。
這個問題的出現,一是由於/etc/rc.d/rc.local沒有了執行權限(版本問題,看狀況之後可能會捨去這個文件)。二是沒有認清/etc/rc.d/rc.local文件和/etc/profile文件的執行前後。經過修改文件權限和指令執行方法便可解決。
其實在這裏,細心的同窗可能會注意到/etc/rc.d/rc/local文件中的註釋
人家已經說得明白的啦。
都怪我英語太差啊,看到英語略過。。。。