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 的服務只有在需要時才被啟動,不會占用過多的服務器資源。但是這種服務由於在有客戶端請求時才會被喚醒,所以響應時間相對較長。

管理系統服務的命令

管理服務的命令格式

- CentOS6 CentOS7
啟動 service 服務名稱 start systemctl start name.service
停止 service 服務名稱 stop systemctl stop name.service
重啟 service 服務名稱 restart systemctl restart name.service
狀態 service 服務名稱 status systemctl status name.service
重載或重啟服務(先加載,再啟動)              -- systemctl reload-or-restart name.service

chkconfig命令的對應關系

- CentOS6 CentOS7
設定某個服務開機自啟 chkconfig 服務名稱 on systemctl enable name.service
設定某個服務開機禁止啟動 chkconfig 服務名稱 off systemctl disable name.service
查看所有服務開機自啟狀態 chkconfig  --list systemctl list-unit-files --type service
查看某個服務在哪些運行級別下的啟動和禁用 chkconfig 服務名稱 --list ls   /etc/systemd/system/*.wants/服務名稱.service
查看服務是否開啟自啟              -- systemctl is-enable name.service

服務狀態

使用下面命令可以顯示服務及服務對用的狀態

[root@localhost ~]# systemctl list-unit-files 
UNIT FILE                 STATE   
network.target            static   
sshd.service              enabled 
.......省略部分輸出............

服務對應的狀態

  • loaded:Unit配置文件已處理
  • active(running):一次或持續處理的運行
  • active(exited):成功完成一次性的配置
  • active(waitong):運行中,等待一個事件
  • inactive:不運行
  • enabled:開啟啟動
  • disabled:開機不啟動
  • static:開啟不啟動,但可以被另一個啟動的服務激活

查看基於 xinetd 的服務

因為系統中默認沒有安裝 xinetd 這個超級守護進程,需要手工安裝。安裝命令如下:

[root@localhost ~]# rpm -ivh /mnt/cdrom/Packages/ xinetd-2.3.14-34.el6.i686.rpm
Preparing...
###############
[100%]
1:xinetd
###############
[100%]

在 Linux 中基於 xinetd 的服務越來越少,原先很多基於 xinetd 的服務在新版本的 Linux 中已經變成了獨立的服務。安裝完 xinetd 超級守護進程之后,我們再查看一下,命令如下:

[root@localhost ~]# systemctl list-unit-files |grep xinetd

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM