国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Linux > 正文

Linux系統(tǒng)服務及其分類

2024-08-27 23:56:34
字體:
來源:轉載
供稿:網友
我們知道,系統(tǒng)服務是在后臺運行的應用程序,并且可以提供一些本地系統(tǒng)或網絡的功能。我們把這些應用程序稱作服務,也就是 Service。不過,我們有時會看到 Daemon 的叫法,Daemon 的英文原意是"守護神",在這里是"守護進程"的意思。

那么,什么是守護進程?它和服務又有什么關系呢?守護進程就是為了實現(xiàn)服務、功能的進程。比如,我們的 apache 服務就是服務(Service),它是用來實現(xiàn) Web 服務的。那么,啟動 apache 服務的進程是哪個進程呢?就是 httpd 這個守護進程(Daemon)。也就是說,守護進程就是服務在后臺運行的真實進程。

如果我們分不清服務和守護進程,那么也沒有什么關系,可以把服務與守護進程等同起來。在 linux 中就是通過啟動 httpd 進程來啟動 apache 服務的,你可以把 httpd 進程當作 apache 服務的別名來理解。

服務的分類

Linux 中的服務按照安裝方法不同可以分為 RPM 包默認安裝的服務和源碼包安裝的服務兩大類。其中,RPM 包默認安裝的服務又因為啟動與自啟動管理方法不同分為獨立的服務和基于 xinetd 的服務。服務分類的關系圖如圖 1 所示。

圖 1 服務分類的關系圖
我們知道,Linux 中常見的軟件包有兩種:一種是 RPM 包;另一種是源碼包。那么,通過 RPM 包安裝的系統(tǒng)服務就是 RPM 包默認安裝的服務(因為 Linux 光盤中全是 RPM 包,Linux 系統(tǒng)也是通過 RPM 包安裝的,所以我們把 RPM 包又叫作系統(tǒng)默認包),通過源碼包安裝的系統(tǒng)服務就是源碼包安裝的服務。

源碼包是開源的,自定義性強,通過編譯安裝更加適合系統(tǒng),但是安裝速度較慢,編譯時容易報錯。RPM 包是經過編譯的軟件包,安裝更快速,不易報錯,但不再是開源的。

以上這些特點都是軟件包本身的特點,但是軟件包一旦安裝到 Linux 系統(tǒng)上,它們的區(qū)別是什么呢?

最主要的區(qū)別就是安裝位置不同,源碼包安裝到我們手工指定的位置當中,而 RPM 包安裝到系統(tǒng)默認位置當中(可以通過"rpm -ql 包名"命令查詢)。也就是說,RPM 包安裝到系統(tǒng)默認位置,可以被服務管理命令識別;但是源碼包安裝到手工指定位置,當然就不能被服務管理命令識別了(可以手工修改為被服務管理命令識別)。

所以,RPM 包默認安裝的服務和源碼包安裝的服務的管理方法不同,我們把它們當成不同的服務分類。服務分類說明如下。

RPM 包默認安裝的服務。這些服務是通過 RPM 包安裝的,可以被服務管理命令識別。

這些服務又可以分為兩種:
  • 獨立的服務:就是獨立啟動的意思,這種服務可以自行啟動,而不用依賴其他的管理服務。因為不依賴其他的管理服務,所以,當客戶端請求訪問時,獨立的服務響應請求更快速。目前,Linux 中的大多數(shù)服務都是獨立的服務,如 apache 服務、FTP 服務、Samba 服務等。
  • 基于 xinetd 的服務:這種服務就不能獨立啟動了,而要依靠管理服務來調用。這個負責管理的服務就是 xinetd 服務。xinetd 服務是系統(tǒng)的超級守護進程,其作用就是管理不能獨立啟動的服務。當有客戶端請求時,先請求 xinetd 服務,由 xinetd 服務去喚醒相對應的服務。當客戶端請求結束后,被喚醒的服務會關閉并釋放資源。這樣做的好處是只需要持續(xù)啟動 xinetd 服務,而其他基于 xinetd 的服務只有在需要時才被啟動,不會占用過多的服務器資源。但是這種服務由于在有客戶端請求時才會被喚醒,所以響應時間相對較長。

源碼包安裝的服務。這些服務是通過源碼包安裝的,所以安裝位置都是手工指定的。由于不能被系統(tǒng)中的服務管理命令直接識別,所以這些服務的啟動與自啟動方法一般都是源碼包設計好的。每個源碼包的啟動腳本都不一樣,一般需要查看說明文檔才能確定。

查詢已經安裝的服務和區(qū)分服務

我們已經知道 Linux 服務的分類了,那么應該如何區(qū)分這些服務呢?首先要區(qū)分 RPM 包默認安裝的服務和源碼包安裝的服務。源碼包安裝的服務是不能被服務管理命令直接找到的,而且一般會安裝到 /usr/local/ 目錄中。

也就是說,在 /usr/local/ 目錄中的服務都應該是通過源碼包安裝的服務。RPM 包默認安裝的服務都會安裝到系統(tǒng)默認位置,所以是可以被服務管理命令(如 service、chkconfig)識別的。

其次,在 RPM 包默認安裝的服務中怎么區(qū)分獨立的服務和基于 xinetd 的服務?這就要依靠 chkconfig 命令了。chkconfig 是管理 RPM 包默認安裝的服務的自啟動的命令,這里僅利用這條命令的查看功能。使用這條命令還能看到 RPM 包默認安裝的所有服務。命令格式如下:

[root@localhost ~]# chkconfig --list [服務名]

選項:
  • --list:列出 RPM 包默認安裝的所有服務的自啟動狀態(tài);

例如:

[root@localhost ~]# chkconfig -list
#列出系統(tǒng)中RPM包默認安裝的所有服務的自啟動狀態(tài)
abrt-ccpp 0:關閉 1:關閉 2:關閉 3:啟用 4:關閉 5:啟用 6:關閉
abrt-oops 0:關閉 1:關閉 2:關閉 3:啟用 4:關閉 5:啟用 6:關閉
…省略部分輸出…
udev-post 0:關閉 1:啟用 2:啟用 3:啟用 4:啟用 5:啟用 6:關閉
ypbind 0:關閉 1:關閉 2:關閉 3:關閉 4:關閉 5:關閉 6:關閉

這條命令的第一列為服務的名稱,后面的 0~6 代表在不同的運行級別中這個服務是否開啟時自動啟動。這些服務都是獨立的服務,因為它們不需要依賴其他任何服務就可以在相應的運行級別啟動或自啟動。但是沒有看到基于 xinetd 的服務,那是因為系統(tǒng)中默認沒有安裝 xinetd 這個超級守護進程,需要我們手工安裝。 

安裝命令如下:

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

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

[root@localhost ~]# chkconfig --list
abrt-ccpp 0:關閉 1:關閉 2:關閉 3:啟用 4:關閉 5:啟用 6:關閉
abrt-oops 0:關閉 1:關閉 2:關閉 3:啟用 4:關閉 5:啟用 6:關閉
…省略部分輸出…
udev-post 0:關閉 1:啟用 2:啟用 3:啟用 4:啟用 5:啟用 6:關閉
xinetd 0:關閉 1:關閉 2:關閉 3:啟用 4:啟用 5:啟用 6:關閉
ypbind 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:關閉

在剛剛的獨立的服務之下出現(xiàn)了一些基于 xinetd 的服務,這些服務沒有自己的運行級別,因為它們不是獨立的服務,到底在哪個運行級別可以自啟動,則要看 xinetd 服務是在哪個運行級別自啟動的。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 凤阳县| 汝城县| 临沧市| 广昌县| 登封市| 白玉县| 宝兴县| 西畴县| 剑阁县| 马鞍山市| 临朐县| 望都县| 德保县| 大名县| 双桥区| 乌兰察布市| 烟台市| 辽中县| 旌德县| 泗阳县| 缙云县| 昌乐县| 定襄县| 迁安市| 法库县| 仲巴县| 武定县| 东方市| 安溪县| 北川| 柳州市| 休宁县| 金平| 平顶山市| 开平市| 哈密市| 合山市| 宜黄县| 新蔡县| 同德县| 西乌|