Linux系統服務管理 系統服務
服務的分類
Linux 中的服務按照安裝方法不同可以分為 RPM 包預設安裝的服務和原始碼包安裝的服務兩大類。其中,RPM 包預設安裝的服務又因為啟動與自啟動管理方法不同分為獨立的服務和基於 xinetd 的服務。服務分類的關係圖如圖 1 所示。
圖 1 服務分類的關係圖 在Linux 中常見的軟體包有兩種:RPM包和原始碼包。通過 RPM包安裝的系統服務就是 RPM 包預設安裝的服務(因為 Linux 光碟中全是 RPM 包,Linux 系統也是通過 RPM 包安裝的,所以我們把 RPM 包又叫作系統預設包),通過原始碼包安裝的系統服務就是原始碼包安裝的服務。
RPM包和原始碼包最主要的區別是安裝位置不同,RPM 包安裝到系統預設位置當中(可以通過"rpm -ql 包名"命令查詢),可以被服務管理命令識別(如 service、chkconfig);原始碼包安裝到手工指定位置(一般會安裝到 /usr/local/ 目錄中),不能被服務管理命令識別(可以手工修改為被服務管理命令識別)。
通過 RPM 包安裝的服務又可以分為兩種:
- 獨立的服務:這種服務可以自行啟動,而不用依賴其他的管理服務。因為不依賴其他的管理服務,所以,當客戶端請求訪問時,獨立的服務響應請求更快速。目前,Linux 中的大多數服務都是獨立的服務,如 apache 服務、FTP 服務、Samba 服務等。
- 基於 xinetd 的服務:這種服務不能獨立啟動,而要依靠管理服務來呼叫。這個負責管理的服務就是 xinetd 服務。xinetd 服務是系統的超級守護程序,其作用就是管理不能獨立啟動的服務。當有客戶端請求時,先請求 xinetd 服務,由 xinetd 服務去喚醒相對應的服務。當客戶端請求結束後,被喚醒的服務會關閉並釋放資源。這樣做的好處是隻需要持續啟動 xinetd 服務,而其他基於 xinetd 的服務只有在需要時才被啟動,不會佔用過多的伺服器資源。但是這種服務由於在有客戶端請求時才會被喚醒,所以響應時間相對較長。
查詢已經安裝的服務和區分服務
在 RPM 包預設安裝的服務中通過chkconfig命令區分獨立的服務和基於 xinetd 的服務。chkconfig 是管理 RPM 包預設安裝的服務的自啟動的命令,使用這條命令能看到 RPM 包預設安裝的所有服務。命令格式如下:
[[email protected] ~]# chkconfig --list [服務名]
選項:
- --list:列出 RPM 包預設安裝的所有服務的自啟動狀態;
列出系統中RPM包預設安裝的所有服務的自啟動狀態
[[email protected]~]# chkconfig --list netconsole 0:off 1:off 2:off 3:off 4:off 5:off 6:off network 0:off 1:off 2:on 3:on 4:on 5:on 6:off
這條命令的第一列為服務的名稱,後面的 0~6 代表在不同的執行級別中這個服務是否開啟時自動啟動。這些服務都是獨立的服務,因為它們不需要依賴其他任何服務就可以在相應的執行級別啟動或自啟動。但是沒有看到基於 xinetd 的服務,那是因為系統中預設沒有安裝 xinetd 這個超級守護程序,需要手工安裝。安裝命令如下:
[[email protected] ~]# rpm -ivh /mnt/cdrom/Packages/ xinetd-2.3.14-34.el6.i686.rpm Preparing... ############### [100%] 1:xinetd ############### [100%]
在 Linux 中基於 xinetd 的服務越來越少,原先很多基於 xinetd 的服務在新版本的 Linux 中已經變成了獨立的服務。安裝完 xinetd 超級守護程序之後,我們再檢視一下,命令如下:
[[email protected] ~]# chkconfig --list abrt-ccpp 0:關閉 1:關閉 2:關閉 3:啟用 4:關閉 5:啟用 6:關閉 abrt-oops 0:關閉 1:關閉 2:關閉 3:啟用 4:關閉 5:啟用 6:關閉 …省略部分輸出… xinetd 0:關閉 1:關閉 2:關閉 3:啟用 4:啟用 5:啟用 6:關閉 基於 xinetd 的服務: chargen-dgram:關閉 chargen-stream:關閉 cvs:關閉 daytime-dgram:關閉 daytime-stream:關閉 discard-dgram:關閉 discard-stream:關閉 echo-dgram:關閉 echo-stream:關閉 rsync:關閉 tcpmux-server:關閉 time-dgram:關閉 time-stream:關閉
基於 xinetd 的服務沒有自己的執行級別,因為它們不是獨立的服務,到底在哪個執行級別可以自啟動,則要看 xinetd 服務是在哪個執行級別自啟動的。
回到頂部Linux常見服務類別及功能
在Linux系統中,服務啟動得越多,佔用的系統資源就越多。常見的服務如下:
服務名稱 | 功能簡介 | 建議 |
---|---|---|
acpid | 電源管理介面。如果是膝上型電腦使用者,則建議開啟,可以監聽核心層的相關電源事件 | 開啟 |
anacron | 系統的定時任務程式。是 cron 的一個子系統,如果定時任務錯過了執行時間,則可以通過 anacron 繼續喚醒執行 | 關閉 |
alsasound | alsa 音效卡驅動。如果使用 alsa 音效卡,則開啟 | 關閉 |
apmd | 電源管理模組。如果支援 acpid,就不需要 apmd,可以關閉 | 關閉 |
atd | 指定系統在特定時間執行某個任務,只能執行一次。如果需要則開啟,但我們一般使用 crond 來執行迴圈定時任務 | 關閉 |
auditd | 稽核子系統。如果開啟了此服務,那麼SELinux的稽核資訊會寫入 /var/log/audit/ audit.log 檔案;如果不開啟,那麼稽核資訊會記錄在syslog中 | 開啟 |
autofs | 讓伺服器可以自動掛載網路中其他伺服器的共享資料,一般用來自動掛載 NFS 服務。如果沒有 NFS 服務,則建議關閉 | 關閉 |
avahi-daemon | avahi 是 zeroconf 協議的實現,它可以在沒有 DNS 服務的局域網裡發現基於 zeroconf 協議的裝置和服務。除非有相容裝置或使用 zeroconf 協議,否則關閉 | 關閉 |
bluetooth | 藍芽裝置支援。一般不會在伺服器上啟用藍芽裝置,關閉它 | 關閉 |
capi | 僅對使用 ISND 裝置的使用者有用 | 關閉 |
chargen-dgram | 使用 UDP 協議的 chargen server。其主要提供類似遠端打字的功能 | 關閉 |
chargen-stream | 同上 | 關閉 |
cpuspeed | 可以用來調整 CPU 的頻率。當閒置時,可以自動降低 CPU 頻率來節省電量 | 開啟 |
crond | 系統的定時任務,一般的 Linux 伺服器都需要定時任務來協助系統維護。建議開啟 | 開啟 |
cvs | 一個版本控制系統 | 關閉 |
daytime-dgram | 使用 TCP 協議的 daytime 守護程序,該協議為客戶機實現從遠端伺服器獲取日期和時間的功能 | 關閉 |
daytime-slream | 同上 | 關閉 |
dovecot | 郵件服務中 POP3/IMAP 服務的守護程序,主要用來接收信件。如果啟動了郵件服務則開啟:否則關閉 | 關閉 |
echo-dgram | 伺服器回顯客戶服務的程序 | 關閉 |
echo-stream | 同上 | 關閉 |
firstboot | 系統安裝完成後,有一個歡迎介面,需要對系統進行初始設定,這就是這個服務的作用。既然不是第一次啟動了,則建議關閉 | 關閉 |
gpm | 在字元終端 (ttyl~tty6) 中可以使用滑鼠複製和貼上,這就是這個服務的功能 | 開啟 |
haldaemon | 檢測和支援 USB 裝置。如果是伺服器則可以關閉,個人機則建議開啟 | 關閉 |
hidd | 藍芽滑鼠、鍵盤等藍芽裝置檢測。必須啟動 bluetooth 服務 | 關閉 |
hplip | HP 印表機支援,如果沒有 HP 印表機則關閉 | 關閉 |
httpd | apache 服務的守護程序。如果需要啟動 apache,就開啟 | 開啟 |
ip6tables | IPv6 的防火牆。目前 IPv6 協議並沒有使用,可以關閉 | 關閉 |
iptables | 防火牆功能。Linux 中的防火牆是核心支援功能。這是伺服器的主要防護手段,必須開啟 | 開啟 |
irda | IrDA 提供紅外線裝置(膝上型電腦、PDA’s、手機、計算器等)間的通訊支援。建議關閉 | 關閉 |
irqbalance | 支援多核處理器,讓 CPU 可以自動分配系統中斷(IRQ),提高系統性能。目前伺服器多是多核 CPU,請開啟 | 開啟 |
isdn | 使用 ISDN 裝置連線網路。目前主流的聯網方式是光纖接入和 ADSL,ISDN 己經非常少見,請關閉 | 關閉 |
kudzu | 該服務可以在開機時進行硬體檢測,並會呼叫相關的設定軟體。建議關閉,僅在需要時開啟 | 關閉 |
lvm2-monitor | 該服務可以讓系統支援LVM邏輯卷組,如果分割槽採用的是LVM方式,那麼應該開啟。建議開啟 | 開啟 |
mcstrans | SELinux 的支援服務。建議開啟 | 開啟 |
mdmonitor | 該服務用來監測 Software RAID 或 LVM 的資訊。不是必需服務,建議關閉 | 關閉 |
mdmpd | 該服務用來監測 Multi-Path 裝置。不是必需服務,建議關閉 | 關閉 |
messagebus | 這是 Linux 的 IPC (Interprocess Communication,程序間通訊)服務,用來在各個軟體中交換資訊。建議關閉 | 關閉 |
microcode _ctl | Intel 系列的 CPU 可以通過這個服務支援額外的微指令集。建議關閉 | 關閉 |
mysqld | MySQL 資料庫伺服器。如果需要就開啟;否則關閉 | 開啟 |
named | DNS 服務的守護程序,用來進行域名解析。如果是 DNS 伺服器則開啟;否則關閉 | 關閉 |
netfs | 該服務用於在系統啟動時自動掛載網路中的共享檔案空間,比如 NFS、Samba 等。 需要就開啟,否則關閉 | 關閉 |
network | 提供網路設罝功能。通過這個服務來管理網路,建議開啟 | 開啟 |
nfs | NFS (Network File System) 服務,Linux 與 Linux 之間的檔案共享服務。需要就開啟,否則關閉 | 關閉 |
nfslock | 在Linux中如果使用了NFS服務,那麼,為了避免同一個檔案被不同的使用者同時編輯,所以有這個鎖服務。有NFS時開啟,否則關閉 | 關閉 |
ntpd | 該服務可以通過網際網路自動更新系統時間.使系統時間永遠準確。需要則開啟,但不是必需服務 | 關閉 |
pcscd | 智慧卡檢測服務,可以關閉 | 關閉 |
portmap | 用在遠端過程呼叫 (RPC) 的服務,如果沒有任何 RPC 服務,則可以關閉。主要是 NFS 和 NIS 服務需要 | 關閉 |
psacct | 該守護程序支援幾個監控程序活動的工具 | 關閉 |
rdisc | 客戶端 ICMP 路由協議 | 關閉 |
readahead_early | 在系統開啟的時候,先將某些程序載入入記憶體整理,可以加快啟動速度 | 關閉 |
readahead_later | 同上 | 關閉 |
restorecond | 用於給 SELinux 監測和重新載入正確的檔案上下文。如果開啟 SELinux,則需要開啟 | 關閉 |
rpcgssd | 與 NFS 有關的客戶端功能。如果沒有 NFS 就關閉 | 關閉 |
rpcidmapd | 同上 | 關閉 |
rsync | 遠端資料備份守護程序 | 關閉 |
sendmail | sendmail 郵件服務的守護程序。如果有郵件服務就開啟;否則關閉 | 關閉 |
setroubleshoot | 該服務用於將 SELinux 相關資訊記錄在日誌 /var/log/messages 中。建議開啟 | 開啟 |
smartd | 該服務用於自動檢測硬碟狀態。建議開啟 | 開啟 |
smb | 網路服務 samba 的守護程序。可以讓 Linux 和 Windows 之間共享資料。如果需要則開啟 | 關閉 |
squid | 代理服務的守護程序。如果需要則開啟:否則關閉 | 關閉 |
sshd | ssh 加密遠端登入管理的服務。伺服器的遠端管理必須使用此服務,不要關閉 | 開啟 |
syslog | 日誌的守護程序 | 開啟 |
vsftpd | vsftp 服務的守護程序。如果需要 FTP 服務則開啟;否則關閉 | 關閉 |
xfs | 這是 X Window 的字型守護程序,為圖形介面提供字型服務。如果不啟動圖形介面,就不用開啟 | 關閉 |
xinetd | 超級守護程序。如果有依賴 xinetd 的服務,就必須開啟 | 開啟 |
ypbind | 為 NIS (網路資訊系統)客戶機啟用 ypbind 服務程序 | 關閉 |
yum-updatesd | yum 的線上升級服務 | 關閉 |