Ubuntu啟動流程及系統服務設定

來源:互聯網
上載者:User

Ubuntu啟動流程及系統服務設定

 

資訊來源:網路

 

啟動流程
========

Linux系統主要通過以下步驟啟動:

1、讀取MBR的資訊,啟動Boot Manager

Windows使用NTLDR作為Boot Manager,如果您的系統中安裝多個版本的Windows,您就需要在NTLDR中選擇您要進入的系統。

Linux通常使用功能強大,配置靈活的GRUB作為Boot Manager,我們將在啟動管理章節中向您介紹它的使用方式。

2、載入系統核心,啟動init進程

init進程是Linux的根進程,所有的系統進程都是它的子進程。

3、init進程讀取 /etc/inittab 檔案中的資訊,並進入預設的運行層級,按順序運行該運行層級對應檔案夾下的指令碼。指令碼通常以 start 參數啟動,並指向一個系統中的程式。

通常情況下, /etc/rcS.d/ 目錄下的啟動指令碼首先被執行,然後是 /etc/rcN.d/ 目錄。例如您設定的運行層級為3,那麼它對應的啟動目錄為 /etc/rc3.d/ 。

4、根據 /etc/rcS.d/ 檔案夾中對應的指令碼啟動Xwindow伺服器 xorg

Xwindow為Linux下的圖形化使用者介面系統。

5、啟動登入管理器,等待使用者登入

Ubuntu系統預設使用GDM作為登入管理器,您在登入管理器介面中輸入使用者名稱和密碼後,便可以登入系統。(您可以在 /etc/rc3.d/ 檔案夾中找到一個名為 S13gdm 的連結)
更改運行層級

————

在 /etc/inittab 檔案中找到如下內容:

# The default runlevel.

id:2:initdefault:

這一行中的數字2,為系統的運行層級,預設的運行層級涵義如下:

0 關機

1 單使用者維護模式

2~5 多使用者模式

6 重啟
服務管理

========

更改啟動服務

————

在運行層級對應的檔案夾中,您可以看到許多檔案名稱以 S## 和 K## 起始的啟動指令碼連結。

例如:

/etc/rcS.d/S35mountall.sh 掛載檔案系統

/etc/rcS.d/S40networking 啟用網路支援

/etc/rc2.d/S13gdm 啟動登入管理器

/etc/rc2.d/S20makedev 建立裝置檔案

/etc/rc2.d/S23xinetd 啟動超級進程

init 進程將以 start 為參數,按檔案名稱順序執行所有以 S## 起始的指令碼。指令碼名稱中的數字越小,它將被越早執行。例如在  /etc/rc2.d/ 檔案夾中, S13gdm 檔案名稱中的數字小於 S23xinetd , S13gdm 將比 S23xinetd 先執行。

如果一個指令碼連結,以 K## 起始,表示它將以 stop 參數被執行。如果相應服務沒有啟動,則不執行該指令碼。

例如:

/etc/rc2.d/K20powernowd 針對某種硬體的電源管理支援

如果您想禁止某一服務在啟動時自動運行,您可以將相應運行層級中的指令碼由 S##xxx 重新命名為 K##xxx 。

手動控制服務

————
您也可以手動運行帶有以下參數的啟動指令碼,來控制系統服務。

start 啟動

stop 停止

restart 重啟

例如:

/etc/rc2.d/K20powernowd start

有時您並不清楚當前運行層級,該運行層級下未必有相應指令碼;而且此類指令碼的前三位字元並不固定,不便於記憶。這時,您可以直接使用  /etc/init.d/ 檔案夾中的啟動指令碼( /etc/rcX.d/ 中的啟動指令碼連結到 /etc/init.d/ 檔案夾下相應指令碼),這也是我們向您推薦的方式。

例如:

/etc/init.d/powernowd start
Tips:以上命令的位置並沒有包含在環境變數的搜尋路徑中,所以要輸入完整路徑。

常用系統服務

============

acpi-support 進階電源管理支援

acpid acpi精靈.這兩個用於電源管理,非常重要

alsa 聲音子系統

alsa-utils

anacron cron的子系統,將系統關閉期間的計劃任務,在下一次系統運行時執行。

apmd acpi的擴充

atd 類似於cron的任務調度系統。建議關閉

binfmt-support 核心支援其他二進位的檔案格式。建議開啟

bluez-utiles 藍牙裝置支援

bootlogd 開機記錄。開啟它

cron 任務調度系統,建議開啟

cupsys 印表機子系統。

dbus 訊息匯流排系統(message bus system)。非常重要

dns-clean 使用撥號連線時,清除dns資訊。

evms 企業卷管理系統(Enterprise Volumn Management system)

fetchmail 郵件使用者代理,用於收取郵件

gdm gnome登入和案頭管理器。

gdomap

gpm 終端中的滑鼠支援。

halt 別動它。

hdparm 調整硬碟的指令碼,設定檔為 /etc/hdparm.conf 。

hibernate 系統休眠

hotkey-setup 筆記本功能鍵支援。支援類型包括: HP, Acer, ASUS, Sony, Dell, 和IBM。

hotplug and hotplug-net 隨插即用支援,比較複雜,建議不要動它。

hplip HP印表機和圖形子系統

ifrename 網路介面重新命名指令碼。如果您有十塊網卡,您應該開啟它

inetd 在檔案 /etc/inetd.conf 中,注釋掉所有你不需要的服務。如果該檔案不包含任何服務,那關閉它是很安全的。

klogd 重要。

linux-restricted-modules-common 受限模組支援。 /lib/linux-restricted-modules/ 檔案夾中的模組為受限模組。例如某些驅動程式,如果您沒有使用受限模組,就不需要開啟它。

lvm 邏輯卷管理系統支援。

makedev 建立裝置檔案,非常重要。

mdamd 磁碟陣列

module-init-tools 從/etc/modules載入擴充模組,建議開啟。

networking 網路支援。按 /etc/network/interfaces 檔案預設啟用網路,非常重要。

ntpdate 時間同步服務,建議關閉。

pcmcia pcmcia裝置支援。

powernowd 移動CPU節能支援

ppp and ppp-dns 撥號連線

readahead 預先載入庫檔案。

reboot 別動它。

resolvconf 自動設定DNS

rmnologin 清除nologin

rsync rsync精靈

sendsigs 在重啟和關機期間發送訊號

single 啟用單一使用者模式

ssh ssh精靈。建議開啟

stop-bootlogd 在2,3,4,5運行層級中停止bootlogd服務

sudo 檢查sudo狀態。重要

sysklogd 系統日誌

udev & udev-mab 使用者空間dev檔案系統(userspace dev filesystem)。重要

umountfs 卸載檔案系統

urandom 隨機數產生器

usplash 開機畫面支援

vbesave 顯卡BIOS組態工具。儲存顯卡的狀態

xorg-common 設定X服務ICE socket。

adjtimex 調整核心時鐘的工具

dirmngr 認證列表管理工具,和gnupg一起工作。

hwtools irqs最佳化工具

libpam-devperm 系統崩潰之後,用於修理裝置檔案許可的精靈。

lm-sensors 板載感應器支援

mdadm-raid 磁碟陳列管理器

screen-cleanup 清除開機螢幕的指令碼

xinetd 管理其他守護進程的一個inetd超級精靈
重要設定檔

============

!無論任何情況下,在修改設定檔之前,請您先備份它!

建議您使用這個命令: sudo cp xxx xxx_`date +%y%m%d_%H:%M` 。

當然這很麻煩,您可以建立一個名為 bak 的檔案,內容如下:

#!/bin/bash

sudo cp $1 $1_`date +%y%m%d_%H:%M`

把它放在您能夠記住的目錄下,比如 /home ,執行命令 sh /home/bak xxx ,就可以將當前檔案夾下的檔案 xxx 另存新檔 xxx_yymmdd_HH:MM 的格式了
全域設定檔

————

系統初始化

/etc/inittab 運行層級、控制台數量

/etc/timezone 時區

/etc/inetd.conf 超級進程

檔案系統

/etc/fstab 開機時掛載的檔案系統

/etc/mtab 當前掛載的檔案系統

使用者系統

/etc/passwd 使用者資訊

/etc/shadow 使用者密碼

/etc/group 群組資訊

/etc/gshadow 群組密碼

/etc/sudoers Sudoer列表(請使用 visudo 命令修改此檔案,而不要直接編輯)

Shell

/etc/shell 可用Shell列表

/etc/inputrc ReadLine控制項設定

/etc/profile 使用者喜好設定

/etc/bash.bashrc bash設定檔

系統內容

/etc/environment 環境變數

/etc/updatedb.conf 檔案檢索資料庫配置資訊

/etc/issue 發行資訊

/etc/issue.net

/etc/screenrc 螢幕設定

網路

/etc/iftab 網卡MAC地址綁定

/etc/hosts 主機列表

/etc/hostname 主機名稱

/etc/resolv.conf 網域名稱解析伺服器位址

/etc/network/interfaces 網卡設定檔

使用者設定檔

————

 /etc/ 目錄下的所有檔案,只有root使用者才有修改許可權。應用軟體的全域設定檔,普通使用者也不能夠修改,如果您想配置軟體,以適應您的需求,您可以修改它的使用者設定檔。
使用者設定檔通常為全域設定檔的同名隱藏檔案,放在您的$HOME目錄下,例如:

/etc/inputrc /home/user/.inputrc

/etc/vim/vimrc /home/user/.vim/vimrc
也有少數例外,通常是系統程式

/etc/bash.bashrc /home/user/.bashrc

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.