溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

CentOS7中rc.local中的指令不能生效問題。

發(fā)布時間:2020-08-03 07:59:38 來源:網(wǎng)絡 閱讀:2815 作者:菜鵝小生 欄目:安全技術

問題:
在系統(tǒng)中/etc/rc.local設置自啟動命令的時候,重啟計算機,文件中的指令無法生效。

我這里編譯安裝了一個mongodb數(shù)據(jù)庫的服務,然后修改了環(huán)境變量。寫入到了.bash_profile 文件中,在shell中可以直接執(zhí)行命令。

查看文件,文件的命令也是正確的
CentOS7中rc.local中的指令不能生效問題。
重啟后指令無法生效

一、在總結問題之前,先要搞明白幾個文件的作用。

rc.local

路徑/etc/rc.d/rc.local或/etc/rc.local(軟連接文件)
作用:用來開機自啟動一些指定指令。

./.bash_profile:

路徑:每個用戶的根目錄下的隱藏文件;
作用,用來設置該用戶的環(huán)境變量,個人設置,設置之后只能自己使用。

/etc/profile:

路徑:/etc/profile
作用:用來設置所有用戶的環(huán)境變量,整體設置,設置完成后,所有用戶皆可以使用

二、查找產(chǎn)生問題的因素。

在linux中,一個文件出現(xiàn)了問題,首先應該查看文件的完整性和文件的權限。(個人習慣)。

(1)啟動時,文件的執(zhí)行先后。

我這里雖然修改了環(huán)境變量,但是,當計算機啟動的時候,/etc/rc.local文件是先于/etc/profile或.bash_profile文件執(zhí)行的。

所以,我這里得命令應該使用絕對路徑的形式。(which mongod)。

(2)文件的執(zhí)行權限。

查看軟連接文件:
CentOS7中rc.local中的指令不能生效問題。
大多數(shù)人會在這里出現(xiàn)問題,因為這里顯示的是擁有可執(zhí)行權限的。這個文件的最終執(zhí)行還是要到/etc/rc.d/rc.local文件那里執(zhí)行,所以我們需要看的文件權限應該是源文件。

CentOS7中rc.local中的指令不能生效問題。

從這里可以看出,文件根本就沒有執(zhí)行權限,所以說當計算機開機的時候,這個文件也不會去執(zhí)行。

三、解決辦法

(1)執(zhí)行命令的時候,將命令寫為執(zhí)行文件的絕對路徑
(2)給/etc/rc.d/rc.local文件附加上可執(zhí)行權限

chmod +x /etc/rc.d/rc.local

完成之后重啟就可以了。

四、總結

這個問題的出現(xiàn),一是因為/etc/rc.d/rc.local沒有了執(zhí)行權限(版本問題,看情況以后可能會舍去這個文件)。二是沒有認清/etc/rc.d/rc.local文件和/etc/profile文件的執(zhí)行先后。通過修改文件權限和指令執(zhí)行方法即可解決。

其實在這里,細心的同學可能會注意到/etc/rc.d/rc/local文件中的注釋

CentOS7中rc.local中的指令不能生效問題。
人家已經(jīng)說得明白的啦。

都怪我英語太差啊,看到英語略過。。。。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI