## 切換到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...