Ubuntu 14 如何設定開機自啟動

2021-09-11 17:57:29 字數 2485 閱讀 6566

## 切換到root

sudo -i 

## 自動啟動主要掃瞄這個目錄下的軟連線

cd /etc/rcs.d

## 賦予rc.local 可執行的許可權

chmod +x ../rc.local

## s表啟動時執行,60 是順序可調整

sudo ln -s ../rc.local s60rc.local

## 重啟就發現寫在 /etc/rc.local 裡的命令開機時都執行了

參考:(◕ ◡◡ ◕) 2011/8/15 17:16

一般的 linux 來說,/etc/rc.local 就是開機自啟動指令碼

功用類似 windows 下的 autoexec.bat

但是,ubuntu 的 /etc/rc.local 是"無效"的!

它有這個檔,但實際上無任何效果,擺好看的而已。

由於 ubuntu 是 debian 系的 linux

所以可以上網搜尋 debian 的開機自啟動方法

方法如下:

1.寫一支 shell script,放在 /etc/init.d 底下

檔名隨便,高興就好

不過 shell script 指令碼副檔名一般取做 .sh

實際上 linux 對副檔名不敏感,這只是方便人辨識而已

比方說:寫一支叫做 test.sh 的指令碼,放在 /etc/init.d/test.sh

當然的 shell scritp 指令碼

開頭要宣告 shell

這樣才會是一支合語法的 shell 指令碼

比如:#!/bin/sh 

或 #!/bin/bash 

或 #!/bin/dash

2.給予該指令碼可執行許可權

sudo chmod 755 test.sh

3.放在 /etc/init.d 底下,其實不會開機自啟動

那個目錄,只是用來收集指令碼的而已

事實上,要放別的地方也行....

把指令碼放在一起,比較好管理,這算約定俗成的潛規則吧,不成文的習慣。

真正開機自啟動的偵測目錄,是在:/etc/rcs.d

放在這個目錄中的指令碼或檔案,開機會被系統自動執行

/etc/rcs.d 中

一般只放軟鏈結(符號鏈結),不放真實的檔案

這也是約定俗成的不成文規矩,這是有理由的

當然的,不想遵守這個規則,直接放真實檔案也行的。

只放軟鏈結的理由,是因為開機自啟的專案,可能需要經常增減調整,若放真實檔案,砍掉不就沒了,還要先備份比較麻煩。用軟鏈結,砍掉了也不會影響真實檔案,事後要還原,再軟鏈結一次即可。

而且有時候是不想開機自啟動,但是想要可以開機後隨時可以手動啟動,那麼放在 /etc/init.d/ 中,隨時都可以手動啟動或停止。

總之,軟鏈結的方式,可以保持指令碼只有乙個檔,這樣子在編修的時候,只需維護乙個指令碼檔,才不會同樣的檔名的指令碼到處存,版本內容新舊很難管理。

所以造乙個軟鏈結,例如:

cd /etc/rcs.d

sudo ln -s ../init.d/test.sh s50test.sh

/etc/rcs.d 中只有大寫 s 開頭的檔案,會被執行

檔名 s 後面的號碼,是執行優先順序

其實它是按照檔名排列順序,來依序執行

號碼小的檔名,自然會排在前面,就會被先執行

後碼大的檔名,會排在後面,就會比較晚被執行

/etc/rcs.d 中,原先就有很多系統自帶的啟動指令碼軟鏈結

那些指令碼都和系統服務有關係

一般來說自己加入的啟動指令碼,必須在系統服務啟動後才執行,所以檔名號碼應該大一點,甚至排在最後。

因為在寫指令碼的時候,可能會用到一些指令,而那些指令都是系統服務提供的,若系統服務都還沒啟動,就去呼叫那些服務提供的功能,執行肯定出錯。

所以自己加入的啟動指令碼,在開機自啟的時候,順序是很重要的。若不知如何選擇順序,那放到最後面,肯定不會錯。

------------------------------------------

附帶一提:

q.要如何讓 ubuntu 的 /etc/rc.local 生效?

a.如果明白了前面講的那些 /etc/rcs.d 的原理

要讓 /etc/rc.local 生效,很簡單

在 /etc/rcs.d 中,加入乙個軟鏈結

cd /etc/rcs.d

sudo ln -s ../rc.local s60rc.local

(sxx 執行順序號碼,只是舉例,可以視需要調整)

這樣子 /etc/rc.local 就有生效了。

但有一點我不太明白的就是:

別的 linux distro 發行版本,預設都讓 /etc/rc.local 生效的

為何 ubuntu 要這樣折騰人,還得自己去讓它生效...

原因估計是為了安全性著想,因為很多惡意程式,會去寫入 rc.local 讓惡意程式開機就執行。

不過真正在乎安全性的人,是不會去安裝官方套件庫以外的軟體。所以覺得 ubuntu 這真的是多此一舉,徒增使用者麻煩而已。

ubuntu 14 開機掛載分割槽

使用df 命令,找到要掛載的分割槽的裝置名字.就是 dev sudo fdisk l 使用 blkid 查詢uuid 找到相應裝置的uuid 其中defaults包含一組預設引數,具體如下 rw 以可讀寫模式掛載 suid 開啟使用者id和群組id設定位 dev 可解讀檔案系統上的字元或區塊裝置 e...

如何ubuntu 14 新增root賬戶

ubuntu 14預設是不允許root登入的,在登入視窗只能看到普通使用者和訪客登入。以普通身份登陸ubuntu後我們需要做一些修改,普通使用者登入後修改系統配置檔案需要切換到超級使用者模式,在終端視窗顯示。步驟一 為root設定使用者密碼 輸入 sudo root.先輸入普通使用者登陸的密碼,回車...

Ubuntu14設定靜態IP的地方

sudo vim etc network inte ces 修改如下部分 auto eth0 iface eth0 inet static address 192.168.0.117 gateway 192.168.0.1 這個位址你要確認下 閘道器是不是這個位址 netmask 255.255.2...