添加一個(gè)服務(wù)
*
sudo update-rc.d 服務(wù)名 defaults 99
刪除一個(gè)服務(wù)
*
sudo update-rc.d 服務(wù)名 remove
臨時(shí)重啟一個(gè)服務(wù)
*
/etc/init.d/服務(wù)名 restart
臨時(shí)關(guān)閉一個(gè)服務(wù)
*
/etc/init.d/服務(wù)名 stop
臨時(shí)啟動(dòng)一個(gè)服務(wù)
*
/etc/init.d/服務(wù)名 start
上面這種說法我試過了,是可以使用的,
增加我這樣子做的
sudo update-rc.d 服務(wù)名 defaults
后面的順序讓它自動(dòng)得到.
我試過在init.d中另外加了一個(gè)shellscript,直接加起服務(wù)里是可以的,但是如果要?jiǎng)h除的時(shí)候需要用
sudo update-rc.d -f 服務(wù)名 remove
強(qiáng)制刪除才可以.
另外網(wǎng)上還流行下面這種做法.
用來設(shè)置ubuntu啟動(dòng)選項(xiàng)的工具
rcconf:
sudo apt-get rcconf
sudo apt-get install rcconf
root 下運(yùn)行: rcconf
功能更全的:sysv-rc-conf
sudo apt-get update
sudo apt-get install sysv-rc-conf
運(yùn)行:sudo sysv-rc-conf
關(guān)于設(shè)置ubuntu sysv-rc-conf的文章:
http://ubuntuforums.org/showthread.php?t=89491
也可以直接修改
直接改/etc/rc0.d ~ /etc/rc6.d和/etc/rcS.d下的東西,S開頭的表示啟動(dòng),K開頭的表示不啟動(dòng),
例如:想關(guān)閉vsftpd的開機(jī)自動(dòng)啟動(dòng),只需sudo mv /etc/rc2.d/S20vsftpd /etc/rc2.d/K20vsftpd就可以了。
rccconf和sysv-rc-conf我在ubuntu 6.01中,都無法直接安裝,可能要下載吧,另外,那些rc*.d文件中,啟動(dòng)文件,一定要在init.d中存在才可以,里面的數(shù)字可能是啟動(dòng)的順序吧,我看了下,最大是99,這個(gè)方法,自己沒有試過,
Ubuntu開機(jī)服務(wù)詳解
From: http://www.ubuntuforums.org/showthread.php?t=89491
I. 安裝一個(gè)工具 - sysv-rc-conf。 它是一款基于perl的開機(jī)進(jìn)程調(diào)整工具。
代碼:
sudo apt-get update
sudo apt-get install sysv-rc-conf
它提供一種配置開機(jī)進(jìn)程和運(yùn)行等級(jí)的簡(jiǎn)單方法, 但是如果你想要通過鏈接/解除鏈接文件來手工操作的話,這不是必需的... 這由你決定
II. Ok,一切就緒?,F(xiàn)在讓我們通過以下代碼來運(yùn)行它
代碼:
sudo sysv-rc-conf
并一個(gè)一個(gè)的分析每種服務(wù)。 **注意 ** 我有的一些服務(wù)或許你沒有,完全可以。如果一些服務(wù)你有但是我沒有, 你將需要獨(dú)自研究或者在這里提問 ... 但是此HowTo 涵蓋它們中的大多數(shù) ...
在我們開始搞亂它們之前,我要在這里引入一些運(yùn)行等級(jí)知識(shí) ....全部開機(jī)進(jìn)程執(zhí)行順序如下:
運(yùn)行等級(jí) S:開機(jī)進(jìn)程中的第一個(gè)運(yùn)行等級(jí)。/etc/init.d/rcS腳本將被調(diào)用到開啟并且/etc/rcS.d目錄下的所有進(jìn)程將被執(zhí)行。
運(yùn)行等級(jí) 1:?jiǎn)斡脩裟J健?etc/rc1.d目錄下的所有進(jìn)程將被執(zhí)行。
運(yùn)行等級(jí) 2,3,4,5:在debian系統(tǒng)里是多用戶環(huán)境,可能不包含圖形用戶界面。同樣的,在相應(yīng)目錄下的進(jìn)程將被運(yùn)行。
**注意** 這和RedHat,SuSE, 以及其它基于RPM的系統(tǒng)不同。
運(yùn)行等級(jí) 0:關(guān)閉計(jì)算機(jī)
運(yùn)行等級(jí) 6:重起計(jì)算機(jī)
好,讓我們回到sysv-rc-conf:
1. acpi-support - 你最好使其在S運(yùn)行等級(jí)處于“X”狀態(tài)。
2. acpid - acpi守護(hù)程序.這兩個(gè)用于電源管理,對(duì)于筆記本和臺(tái)式電腦很重要,所以讓它們開啟。
3. alsa - 如果你使用alsa聲音子系統(tǒng),是的,開啟它。
4. alsa-utils -在我系統(tǒng)里,此服務(wù)取代了alsa,所以我關(guān)閉了alsa并在S運(yùn)行等級(jí)將此服務(wù)開啟。**注意**,我所說的“關(guān)閉”是指在所有運(yùn)行等級(jí)里面去除所有“X”。如果在你系統(tǒng)里沒有它,沒問題。讓我們繼續(xù)。
5. anacron - 一個(gè)cron子系統(tǒng),當(dāng)時(shí)間到達(dá)時(shí)用于執(zhí)行任何沒有被執(zhí)行的cron作業(yè)。當(dāng)某種cron 作業(yè)時(shí)間準(zhǔn)備好時(shí),很可能你或許已經(jīng)關(guān)閉了你的計(jì)算機(jī)。打個(gè)比方,updatedb被計(jì)劃在每天2點(diǎn)執(zhí)行,但是在那個(gè)時(shí)候,你的計(jì)算機(jī)是關(guān)閉的,然后如果 ananron服務(wù)如果是開啟的話,它將設(shè)法抓起那個(gè)updatedb cron… 我將它關(guān)閉是因?yàn)槲也唤?jīng)常關(guān)閉我的筆記本,但是否開啟此服務(wù)完全取決于你。
6. apmd - 這是十分困惑我的一個(gè)服務(wù)。我已經(jīng)開啟了acpid服務(wù),那同時(shí)開啟apmd有啥好處呢?如果你的計(jì)算機(jī)不是那么老,甚至不能支持acpi,然后你可以設(shè)法關(guān)閉它。無論如何,我是關(guān)閉它的。
7. atd - 就像cron,一個(gè)作業(yè)調(diào)度程序。我把它關(guān)了
8. binfmt-support - 核心支持其他二進(jìn)制的文件格式。我讓它開著
9. bluez-utiles - 我把它關(guān)了因?yàn)槲覜]有任何藍(lán)牙設(shè)備
10. bootlogd - 開啟它
11. cron – 開啟它
12. cupsys – 管理打印機(jī)的子系統(tǒng)。我沒有打印機(jī)所以我關(guān)閉它了,如果你有打印機(jī),開啟他。
13. dbus – 消息總線系統(tǒng)(message bus system)。非常重要,開啟它。
14. dns-clean – 當(dāng)使用撥號(hào)連接,主要用于清除dns信息。我不用撥號(hào),所以我關(guān)閉了它。
15. evms – 企業(yè)卷管理系統(tǒng)(Enterprise Volumn Management system). 我關(guān)閉了它。
16. fetchmail – 一個(gè)郵件接受守護(hù)進(jìn)程,我關(guān)閉了它。
17. gdm – gnome桌面管理器。 無論如何我關(guān)閉它了,因?yàn)槲覍⑾到y(tǒng)用終端引導(dǎo)。如果你想直接引導(dǎo)到圖形用戶界面,這取決于你。
18. gdomap – 事實(shí)上我也不知道為什么此服務(wù)必需開啟。我沒有在其他系統(tǒng)見過這個(gè)守護(hù)程序,所以我將其關(guān)閉并且我沒覺得我失去了什么。開啟它對(duì)筆記本或者臺(tái)式機(jī)有任何好處嗎?
19. gpm – 終端鼠標(biāo)支持。如果你覺得你在終端使用鼠標(biāo)更好,那么在運(yùn)行等級(jí) 1 和2 開啟它。那正是你所需要的。
20. halt - 別更改它。
21. hdparm – 調(diào)整硬盤的腳本。我在運(yùn)行等級(jí) 2,3,4,5去除了它但是在S 運(yùn)行等級(jí)添加了它。我覺得早點(diǎn)打開DMA,32bit I/O等等將對(duì)其余過程有益。我自己也將原來的腳本精簡(jiǎn)了一下。如果我知道我正做什么,我覺得做過多的檢查沒用。相應(yīng)配置文件是 /etc/hdparm.conf。
22. hibernate – 如果你的系統(tǒng)支持休眠,把它打開,否則它對(duì)你沒用。
23. hotkey-setup – 此守護(hù)進(jìn)程為你的筆記本建立一些熱鍵映射。支持的制造商包括: HP, Acer, ASUS, Sony, Dell, 和IBM。如果你有那些品牌的筆記本,你可以打開它,否則它或許對(duì)你沒有任何好處。
24. hotplug and hotplug-net #激活熱插拔系統(tǒng)是費(fèi)時(shí)的。我將考慮關(guān)掉它們。我在的/etc/network/interfaces文件作了很多修改,并將其設(shè)置為自動(dòng)運(yùn)行,而不是在 熱插拔進(jìn)程期間映射我的無線網(wǎng)卡。所以我可以將它們關(guān)掉。我已經(jīng)測(cè)試過了,甚至我將它們關(guān)閉,ubuntu仍舊可以檢測(cè)到我的usb驅(qū)動(dòng)器,我的數(shù)碼相 機(jī),等等。所以我認(rèn)為關(guān)掉它們是很安全的**注意**如果在關(guān)閉熱插拔服務(wù)以后發(fā)現(xiàn)你的聲卡部工作了,你可以將服務(wù)打開,或者編輯 /etc/modules文件并添加聲卡驅(qū)動(dòng)模塊。經(jīng)測(cè)試,后者比較快。
25. hplip – HP打印機(jī)和圖形子系統(tǒng),我將其關(guān)閉了。
26. ifrename – 網(wǎng)絡(luò)接口重命名(network interface rename)腳本。聽上去很酷但是我把它關(guān)掉了。主要用于管理多網(wǎng)絡(luò)接口名稱。雖然我有無線網(wǎng)卡和以太網(wǎng)卡,兩者被內(nèi)核標(biāo)識(shí)為eth0和ath0,所以此服務(wù)對(duì)我不是很有用。
27. ifupdown and ifupdown-clean – 打開它,它們是開機(jī)時(shí)網(wǎng)絡(luò)及口激活腳本。
28. inetd or inetd.real – 查看文件/etc/inetd.conf 注釋掉所有你不需要的服務(wù)。如果該文件不包含任何服務(wù),那關(guān)閉它是很安全的。
29. klogd – 打開它。
30. linux-restricted-modules-common – 你應(yīng)該去查看下是否你的系統(tǒng)裝載有任何受限制的模塊。既然我需要madwifi ath_pci 模塊,所以我將其開啟。受限制的模塊可以從/lib/linux-restricted-modules查看到。如果你發(fā)現(xiàn)你沒有使用任何受限制的模塊, 那關(guān)掉這個(gè)服務(wù)沒事。
31. lvm – 我沒有使用邏輯卷所以我將此服務(wù)關(guān)閉。讓它開啟如果你 *確實(shí)* 有l(wèi)vm(lvm是邏輯卷管理器在此不再擴(kuò)充).
32. makedev – 打開它。
33. mdamd – Raid管理工具。不使用Raid所以我將此服務(wù)關(guān)閉。
34. module-init-tools – 從/etc/modules加載擴(kuò)展模塊。你可以研究/etc/modules文件查看是否有一些你不需要的模塊。通常我們將此服務(wù)開啟。
35. networking – 在啟動(dòng)期間通過掃描/etc/network/interfaces文件增加網(wǎng)絡(luò)接口和配置dns信息。讓它開著。
36. ntpdate – 通過ubuntu時(shí)間服務(wù)器同步時(shí)間 。在開機(jī)的時(shí)候我不需要它,故我關(guān)掉了此服務(wù)。
37. nvidia-kernel – 我自己編譯了nvidia驅(qū)動(dòng),所以此服務(wù)對(duì)我沒用。如果你從受限制模塊中使用nvidia驅(qū)動(dòng),那打開此服務(wù)。
38. pcmcia – 激活pcmica設(shè)備。我將此服務(wù)打開在S運(yùn)行等級(jí)而不是分別在2,3,4,5運(yùn)行等級(jí)打開此服務(wù),因?yàn)槲矣X得起先讓硬件設(shè)備準(zhǔn)備更好。如果你在使用沒有pcmica卡的臺(tái)式機(jī)的話,請(qǐng)關(guān)閉此服務(wù)。
39. portmap – 管理像nis,nfs等等之類服務(wù)的守護(hù)程序。如果你的筆記本或臺(tái)式機(jī)是純粹的客戶端,那么關(guān)閉此服務(wù)。
40. powernowd – 管理CPU頻率的客戶端程序。主要用于支持CPU speed stepping技術(shù)的筆記本。通常如果你在配置一臺(tái)筆記本,你應(yīng)該開啟此服務(wù)。如果是臺(tái)式機(jī),那此服務(wù)應(yīng)該沒有用。
41. ppp and ppp-dns - 對(duì)我沒用,我不使用撥號(hào)。
42. readahead - **感謝 mr_pouit!** readahead似乎是一種“預(yù)加載程序”。在開機(jī)時(shí)它將一些庫文件加載到內(nèi)存,以便一些程序啟動(dòng)的更快。但是它給啟動(dòng)時(shí)間增加了3-4秒。所以,你可 以留著它…或者不。**更新**,經(jīng)我測(cè)試我覺得加載程序沒有什么不同。所以我決定關(guān)閉此服務(wù)。如果你有打開此服務(wù)的理由,那就打開它 。
43. reboot - 別更改它。
44. resolvconf – 按照你的網(wǎng)絡(luò)狀態(tài)自動(dòng)配置DSN信息,我將它打開著。
45. rmnologin – 如果發(fā)現(xiàn)nologin,那么去除它。此情況不會(huì)在筆記本上面發(fā)生,所以我擺脫它。
46. rsync – rsync守護(hù)程序. 我不打算在我的筆記本上使用rsync協(xié)議,所以我將其關(guān)閉
47. sendsigs – 在重啟和關(guān)機(jī)期間發(fā)送信號(hào)。順其自然。
48. single – 激活單用戶模式。順其自然。
49. ssh – ssh守護(hù)程序。 我需要ssh,所以我將此服務(wù)打開。
50. stop-bootlogd – 從2,3,4,5運(yùn)行等級(jí)停止bootlogd。順其自然。
51. sudo – 檢查sudo 狀態(tài)。我沒在一臺(tái)筆記本或者臺(tái)式機(jī)客戶端上看到任何使用sudo的好處,因此我關(guān)閉了它。
52. sysklogd - 順其自然。
53. udev and udev-mab – 用戶空間dev文件系統(tǒng)(userspace dev filesystem)。好東西,我將它們打開。
54. umountfs - 順其自然。
55. urandom – 隨機(jī)數(shù)生成器??赡軟]什么用處,但是我留著它。
56. usplash - 嗯,如果你想看到漂亮的開機(jī)畫面,順其自然。 無論如何沃關(guān)閉此服務(wù)了。如果你想關(guān)閉它,你也可以編輯/boot/grub/menu.lst文件注釋掉splashimage行,除去開機(jī)splash核心選項(xiàng)。
57. vbesave – 顯卡BIOS配置工具。它能保存你顯卡的狀態(tài)。我將其開啟。
58. xorg-common – 設(shè)置X服務(wù)ICE socket。我將其從在S運(yùn)行等級(jí)開啟移動(dòng)到2,3,4,5,運(yùn)行等級(jí)。如果我引導(dǎo)到單用戶模式,那我不需要此服務(wù)。在最初引導(dǎo)期間這種方法將不占用時(shí)間。
59. adjtimex – 這也是調(diào)整核心hw時(shí)鐘的工具。通常你不會(huì)在開機(jī)列表中看見它。在非常少有的情況如果你確實(shí)在開機(jī)進(jìn)程中看見它了,事出有因,因此最好順其自然。在我的情況里,它是關(guān)閉的。
60. dirmngr – 證書列表管理工具(certification lists management tool)。和gnupg一起工作。你必須看看你是否需要它。在我的情況里,我是關(guān)掉它的。
61. hwtools – 一個(gè)優(yōu)化irqs的工具。不確定打開它的好處。在我的情況里,我是關(guān)掉它的。
62. libpam-devperm - 在系統(tǒng)崩潰之后用于修理設(shè)備文件許可的一個(gè)守護(hù)程序。聽起來不錯(cuò),因此我打開它了。
63. lm-sensors – 如果你的主板內(nèi)建一些傳感芯片,通過用戶空間(userspace)查看hw狀態(tài)可能是有幫助的。我運(yùn)行了它,但是它提示“沒有發(fā)現(xiàn)傳感器”,因此我關(guān)閉 了此服務(wù)。64. mdadm-raid – 作用和mdadm服務(wù)相同。用來管RAID設(shè)備。如果你沒有此類設(shè)備,那盡管關(guān)掉它好了。
65. screen-cleanup – 一個(gè)用來清除開機(jī)屏幕的腳本。嗯,是否關(guān)閉它有你決定。在我的情況里,我打開它了。
66. xinetd – 用來管理其他守護(hù)進(jìn)程的一個(gè)inetd超級(jí)守護(hù)程序。在我的系統(tǒng)里,xinetd管理chargen, daytime, echo和time (在 /etc/xinetd.d 目錄找到的),我不關(guān)系任何一個(gè),因此我關(guān)掉了此服務(wù)。如果在xinetd下你確實(shí)有一些重要的服務(wù),那打開它。
III.修改 /etc/inittab 文件
代碼:
vi /etc/inittab
然后注釋掉tty4,tty5, 和tty6。只留下tty1, tty2,和 tty3.。對(duì)于筆記本或臺(tái)式機(jī)用戶3個(gè)終端應(yīng)該足夠了。保存文件。
IV. Ok,好,我們可以重啟計(jì)算機(jī)并看看它變的如何了。從我測(cè)試來看:在我停止大量服務(wù)之前,引導(dǎo)到終端整個(gè)過程大約花費(fèi)了85到90秒。 (在那時(shí),我也打開了我不需要的samba和nfs服務(wù)。 我也將它們關(guān)閉了)。之后,整個(gè)過程花費(fèi)了50秒。我有一臺(tái) P4M 1.8G CPU的筆記本。一些高檔臺(tái)式機(jī)或者筆記本應(yīng)該花費(fèi)更少時(shí)間。
**更新**: 加速/打掃系統(tǒng)重啟或關(guān)機(jī)進(jìn)程
1. 通過以下代碼運(yùn)行sysv-rc-conf:
代碼:
sudo sysv-rc-conf
2. OK,睜開你的眼睛并仔細(xì)尋找那些在所有運(yùn)行等級(jí)都沒有“X”的服務(wù)。(所有運(yùn)行等級(jí)包括 1,2,3,4,5,6, 和S), 一個(gè)一個(gè)的把它們寫下來。在這里千萬別出錯(cuò)。再你搞定以后再來一遍。
3. 退出sysv-rc-conf。
4.
代碼:
cd /etc/rc0.d
- 此目錄關(guān)于系統(tǒng)關(guān)機(jī)進(jìn)程。
5. OK, 現(xiàn)在開始
代碼:
ls K*
將列出所有以大寫K開頭的鏈接。比較你的列表,將你列表中每個(gè)包含服務(wù)名的文件名改為小寫k開頭。例如,在你列表中你有一個(gè)ppp服務(wù)(意思是說ppp將在所有運(yùn)行等級(jí)關(guān)閉),然后你可以這樣做:
代碼:
sudo mv K00ppp k00ppp
你只要將大寫K改成小寫k就好了,保留其余的。將此舉應(yīng)用到你列表中存在的所有服務(wù) 。
6.
代碼:
cd ../rc6.d
- 此目錄關(guān)于系統(tǒng)重啟進(jìn)程。
7. ok,你應(yīng)該也看到了相似的東西了吧,因此在此做和rc0.d中同樣的修改。
8. 現(xiàn)在,你的重啟和關(guān)機(jī)進(jìn)程被清理了,你的重啟和關(guān)機(jī)過程將變的更快。
關(guān)于什么是你要做的已經(jīng)相當(dāng)明了了。在每個(gè)運(yùn)行等級(jí)/etc/rc和/etc/rcS腳本通過掃描每個(gè)鏈接是否以大寫S開頭來決定開啟與否,通過掃描每個(gè) 鏈接是否它是以大寫K開頭來決定停止與否。因此對(duì)于重啟和關(guān)機(jī)運(yùn)行等級(jí),我們更關(guān)心的是大寫K開頭的鏈接,因?yàn)槟菍懛?wù)不運(yùn)行在所有運(yùn)行等級(jí),不必停止他 們。它們更本沒有運(yùn)行。如果有一天你想重新開啟其中的一些服務(wù), 只要將小寫的k改為大寫的K即可。就這些了。
無論如何,它不適用服務(wù)器,但是我確實(shí)在我的一臺(tái)擁有2.7G P4 ,1.5G內(nèi)存的服務(wù)器上測(cè)試過。它將整個(gè)啟動(dòng)過程縮短為31秒。我用我的手表計(jì)算的。而且,其中還包括了開啟的ftp服務(wù)器和nft服務(wù)器。