回覆列表
  • 1 # 橘子愛旅遊

    逐個解答。但根據問題間的關係,回答順序和你提問的順序有所不同。 ============================================= “請寫出儘量多的方法,並說明方法的原理。” --------------------------------------------- 我用Everest Linux 0.6是Redhat系列的遠方旁枝。源自Redhat的發行版有類似的服務管理方式。太多的方法沒有用,一種基本方法再加兩三種附加變體方法足矣。 ============================================= “如何關閉服務及如何手動開啟服務” --------------------------------------------- 簡而言之: service [服務名] start service [服務名] stop 細節見下。 以我的現狀為例,所有的主要獨立服務都在“/etc/rc.d/init.d”中有對應的控制指令碼,能控制服務的啟停、重啟,甚至不重啟而重新載入配置。當然,也可以自己製作自己的控制指令碼。我自己製作了Apache、Tomcat、PostgreSQL和花生殼的控制指令碼。 [root@TFW-EVL06-LT /]# ls -l /etc/rc.d/init.d/ 總計 316 …… -rwxr-xr-x 1 root root 1773 2009-04-20 smb …… -rwxr-xr-x 1 root root 3340 2008-12-06 sshd …… lrwxrwxrwx 1 root root 66 2009-08-20 tfw_httpd -> /ext/prog/c/Apache/Httpd.EverestLinux-0.6-tb20090422/tfw/rc_script lrwxrwxrwx 1 root root 61 2009-08-20 tfw_pgsql -> /ext/prog/m/PostgreSQL.Everest-Linux-0.6-tb0422/tfw_rc_script lrwxrwxrwx 1 root root 32 2009-08-20 tfw_phlinux -> /usr/local/phlinux/tfw_rc_script lrwxrwxrwx 1 root root 39 2009-08-20 tfw_tomcat -> /ext/prog/c/Apache/Tomcat/tfw/rc_script …… -rwxr-xr-x 1 root root 2497 2008-12-06 xinetd …… [root@TFW-EVL06-LT /]# 以此為例,可以用“service smbd start”來啟動Windows網路鄰居服務;用“service sshd stop”來關閉安全隧道登入服務;用“service tfw_pgsql reload”不重啟地重新載入PostgreSQL配置;用“service tfw_phlinux restart”重新啟動花生殼。 ============================================= “讀哪個檔案判斷是否啟動服務” --------------------------------------------- 沒有簡述,想了解請看完。 在“/etc/rc.d/rc[N].d”目錄裡存放著上述指令碼的連結。“[N]”為0~6間的數字,對應系統執行級別。以執行級別3為例: [root@TFW-EVL06-LT /]# ls -l /etc/rc.d/rc3.d/ 總計 0 …… lrwxrwxrwx 1 root root 20 03-03 13:00 K04tfw_tomcat -> ../init.d/tfw_tomcat …… lrwxrwxrwx 1 root root 14 2009-08-20 S55sshd -> ../init.d/sshd …… [root@TFW-EVL06-LT /]# 這些連結有的以“K”開頭,有的以“S”開頭。 系統在切換都一個執行級別時,會首先檢查以“K”開頭的連結,按其後面兩位數字所標明的順序依次檢查這些連結所對應的服務;如果開著就以“stop”引數呼叫服務控制指令碼關閉此服務。 例子中“/etc/rc.d/rc3.d/K04tfw_tomcat”的含義即為“當系統切換到執行級別3時,檢查一下Tomcat是否在執行;如果在執行,就用‘service tfw_tomcat stop’關掉Tomcat”。 在關完服務後,系統再根據數字依次檢查以“S”開頭的連結,如果對應的服務沒有開啟,就以“start”引數呼叫服務控制指令碼開啟此服務。 例子中“/etc/rc.d/rc3.d/S55sshd”的含義即為“當系統切換到執行級別3時,檢查一下安全登入遂道是否在執行;如果沒在執行,就用‘service sshd start’啟動安全登入遂道”。 ============================================= “如何查詢已經開啟的服務” --------------------------------------------- 沒有簡述,想了解請看完。 [root@TFW-EVL06-LT /]# service network status Coppied. 配置裝置: lo eth0 ppp0 當前的活躍裝置: lo eth0 ppp0 [root@TFW-EVL06-LT /]# service tfw_httpd status Usage: /etc/init.d/tfw_httpd {start|stop|restart} [root@TFW-EVL06-LT /]# 可以看到,有一些服務控制指令碼支援“status”引數,可以用“service [服務名] status”來檢視;還有一些服務控制指令碼不支援“status”引數,此時就只能憑經驗判斷了。 ============================================= “可以用TELNET、FTP舉例,我的RH系統內有XINETD,也希望講解下” --------------------------------------------- 在Redhat風格的發行版中,Telnet和FTP一版不是獨立服務,而是被“超級伺服器”XINETD託管。 XINETD是一個獨立服務,和前述服務無異。它的控制指令碼是“/etc/rc.d/init.d/xinetd”。 ============================================= “讀哪個檔案來判斷服務的設定” --------------------------------------------- 不同的獨立服務一般都擁有自己的配置檔案。 典型情況下,“/etc/samba/smb.conf”是Windows網路鄰居服務的主要配置檔案,“/etc/ssh/sshd_config”是安全隧道伺服器端的主要配置檔案。 在我的計算機上,“/ext/prog/c/Apache/Httpd.EverestLinux-0.6-tb20090422/conf/”下的檔案就是Apache-Httpd服務的主要配置檔案。 在我曾經用過的Redhat系發行版Magic Linux 2.0中,Telnet和FTP等非獨立服務的埠等配置資訊出現在XINETD的配置檔案中;而我現在所用的發行版Everest Linux 0.6雖然仍是Redhat系,Telnet和FTP的埠資訊已經移到其各自的配置檔案中。

  • 中秋節和大豐收的關聯?
  • 六十歲左右,異性,天天在一起跳舞,早四點多,晚九十點多發問候正常不?