前面我們講解Linux軟件包管理之源碼包、腳本安裝包時,我們介紹了rpm包和源碼包由於安裝位置的不同,會對服務的啟動造成影響,具體是什么,本篇博客我們來詳細介紹。
1、Linux服務管理總覽
我們可以看到Linux的服務分為 RPM包安裝的服務以及源碼包安裝的服務,而RPM包服務又分為獨立服務和基於 xinetd 服務。本篇博客就分別介紹着三種服務的啟動和如何自啟動。
2、啟動和自啟動
①、啟動:啟動某個服務就是在當前系統讓服務運行,並提供功能。
②、自啟動:自啟動某個服務,就是在系統開機或重啟動之后,隨着系統啟動而自動啟動的服務。
3、RPM包和源碼包服務啟動差別根本原因
其實不管是RPM包,還是源碼包,只不過是初始安裝方式不一樣而已,如果已經在Linux系統上安裝完成之后,那么啟動服務都是可以通過如下方式啟動:
/絕對路徑/啟動腳本名 start
之所以RPM包還有諸如 service 服務名 start 等啟動方式是由於其安裝位置差異造成的。
①、源碼包:
安裝路徑一般是 /usr/local。查看源碼包的啟動方式可以進入到源碼包的安裝目錄,查看安裝說明文檔 INSTALL
這里我們可以查看INSTALL 文件,查看安裝說明:
也就是源碼包 httpd 的啟動方式是:/usr/local/src/bin/apachectl start
②、RPM包
默認安裝位置如下:
比如 RPM 包安裝的httpd服務啟動方式有兩種:
①、/etc/rc.d/init.d/httpd start ②、service httpd start
第二種命令是第一種命令的簡化形式。這是紅帽專有命令。service 會去 rpm 包默認的安裝位置去找可執行文件,所以service類似的啟動服務管理命令只能管理rpm安裝包。如果更改了rpm包的默認安裝位置,可能造成通過service啟動服務失敗。
下面我們分別對啟動和自啟動RPM包以及源碼包服務進行講解。
4、獨立服務
獨立服務屬於RPM包服務,啟動方法如下:
第一種方法是啟動服務的萬能方法,而通過service啟動服務是紅帽專有命令。start 表示啟動服務,stop 表示停止服務,status表示查看指定服務是否啟動,restart 是重啟指定服務。
獨立服務自啟動:
第二種方法:
修改/etc/rc.local或者/etc/rc.d/rc.local 都可以
第三種方法是圖形配置界面:
輸入ntsysv 命令,彈出如下界面進行配置就好了。
5、xinetd 服務
這個服務也是屬於 RPM包,現在Linux系統中基於 xinetd 服務越來越少了,啟動服務我們只需要修改 /etc/xinetd.d/服務名 這個文件的 disable = no 即可
自啟動也可以通過 chkconfig 服務名 on 來設置。還可以通過 ntsysv 配置。
6、源碼包服務
啟動:
自啟動:
讓源碼包服務能被服務管理命令識別:即能通過 service 來啟動
7、總結
RPM 包和源碼包啟動服務的萬能方法都可以通過 絕對路徑/啟動腳本 start 。而對於 RPM 包還可以通過 service 包名 start 來啟動,源碼包則需要經過配置才可以。造成啟動方法的根本原因就是安裝位置不同,RPM 包是有默認的安裝位置的,而源碼包則是需要手動指定安裝位置。