1. 程式人生 > >Linux系統服務管理 系統服務

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 的線上升級服務 關閉