Linux常用命令(一)服務控制及優化啓動過程

 Linux常用命令(一)

服務控制及優化啓動過程


  一、Red hat 系統開機引導過程


1linux操作系統的引導過程一般包括以下幾個階段:開機自檢、MBR引導、GRUB菜單、加載Linux內核、init進程初始化。


2Linux系統中的進程使用數字進行標記,每個進程的身份標記號稱爲PID。“/sbin/init”是內核第一個加載的程序,因此init進程對應的PID號總是“1”。init進程是所有程序的父進程。


3inittab配置文件:Redhat6系統中,採用了全新的Upstart啓動方式,大大提高了開機效率。Upstart不再使用單一的/etc/inittab配置文件,而是將各種初始化配置分散存放,並各自相應相關的啓動事件。

/etc/inittab                        配置默認運行級別

/etc/sysconfig/init                   控制tty終端的開啓數量、終端顏色方案

/etc/init/reS.conf                    加載rc.sysinit腳本,完成系統初始化任

/etc/init/rc.conf                     兼容腳本,負責各運行級別的調用處理

/etc/init/rcS-sulogin.conf               爲單用戶模式啓動/sbin/sushell環境

/etc/init/control-alt-delete.conf          控制終端下的Ctrl+Alt+Del熱鍵操作

/etc/init/start-ttys.conf               配置tty終端的開啓數量、設備文件

/etc/init/tty.conf                    控制tty終端的開啓


修改開機之後默認進入的系統運行級別,可以編輯文件/etc/inittab中的“運行級別字段”(第二字段)

wKioL1msGzbwiw8-AAAMdkH9uzs139.png


進來之後帶#號開頭的都是註釋信息不會執行。在最下邊有一行有效的配置記錄。每個字段之間用“:”分割,格式爲:

標記運行級別動作類型:程序或腳本

wKiom1msHCmy4AnxAAA0mUP4TfI829.png

id-------標記字段

標記字段可以有1~4個字符組成,用以區別於其他行的配置。


runlevels-------運行級別字段

0:關機

1:單用戶模式,不需要密碼驗證即可登錄系統,多用於系統維護。

2:字符界面的多用戶模式(不支持訪問網絡)。

3:字符界面的完整多用戶模式,大多數服務器主機都爲3

4:未分配使用。

5:圖形界面的多用戶模式,提供了圖形桌面操作環境。

6:重新啓動,使用該級別時會重啓主機。


action-------動作類型字段

動作類型字段描述了該行配置所對應的操作類別,initdefault表示“設置初始化系統後默認進入的運行級別”。


process------程序或腳本字段

此字段用於指定該行配置所對應的實際操作,可以是具體的命令、腳本程序等,此處爲空。


二、服務的控制及設置啓動方式。


1.RHEL6 系統中,各種系統服務的控制腳本默認放在/etc/rc.d/init.d/目錄下。通過以下兩種方式都可以實現對指定系統服務的控制:一是使用專門的service控制工具;其二是直接執行系統服務的腳本文件。

service   服務名稱     控制類型

/etc/rc.d/init.d/服務名稱    控制類型

對於大多數系統服務來說,常見的控制類型如下:

  start    (啓動)

  stop     (停止)

  restart  (重啓):先退出,再重新運行指定的系統服務程序

  reload   (重載):不退出服務,只是刷新配置。在某些服務中與restart的操作相同

  status    (查看狀態):查看指定的系統服務的運行狀態及相關信息。

用啓動防火牆服務來舉例

wKioL1msHH-ymA64AAAUk0dwE6A449.png

或者

wKiom1msHLSyyIXIAAATqweTyck589.png

想要關閉防火牆只要把“start”改爲“stop”即可。


2、臨時切換運行級別

切換運行級別之前可以先來查看一下當前的運行級別,使用命令runlevel

wKiom1msHOCg8Uu_AAALyX0jiYg011.png

第一列將顯示上次所處的運行級別,如果之前未切換則顯示N

第二列將顯示當前所處的運行級別。

 

切換系統的運行級別使用init命令後邊跟相應的運行級別數字即可。

wKioL1msHOzQ3-pAAAAJD_5v-aw799.png

init0爲關閉當前系統

init6爲重啓當前系統


3、優化啓動過程

系統中有很多的系統服務,可以使用命令更改各種服務開機時是否運行。


1)、使用ntsysv工具

ntsysv工具可以在字符模式中運行,爲用戶提供一個仿圖形的交互式操作界面,專門用於集中配置各種系統服務的啓動狀態。

wKioL1msHTKRm8_FAAALKP8vcPU406.png

wKiom1msHVaSbHzAAAA-TQN1wNs204.png

單獨執行“ntsysv”命令時僅用於管理當前運行級別中的服務,通過“--level”選項可以對指定運行級別中的服務進行管理。例如“ntsysv --level   35”命令可以同時管理兩個運行級別中各種服務的開機啓動管理。

操作方法:上下移動光標選擇服務,服務前邊的【*】表示開機自啓動。使用空格來調整【*】,去掉

* ”則代表不會開機自動啓動。設置完之後使用“Tab”鍵切換到OK上保存退出。


2)、使用chkconfig工具

chkconfig命令與ntsysv的功能類似,但是並不提供交互式的操作界面,它也是用來查詢或設置系統服務的默認啓動狀態的。當需要設置某一服務在不同運行級別中的默認啓動狀態時,使用chkconfig工具會更有效率。

查看指定服務的默認啓動狀態:chkconfig  --list

wKioL1msHYzzFyhvAAA7M1ZOjH0156.png

on表示開機自啓動,off表示在該運行級別不會開機自啓動。

 

 

使用chkconfig命令設置防火牆在35運行級別開機時不會自動運行。

wKiom1msHbji9oxpAAAQbkdpnqg641.png


查看防火牆(iptables)的開機啓動狀態

wKioL1msHbexzt8dAAAU0rawdGM027.png

可以看到在35後面都是off


4、注意

對於初學者建議關閉系統的防火牆,即關閉IptablesSelinux

步驟如下:1)、關閉Iptableschkconfig   iptables  off

wKioL1msHdehgchpAAANAwI8bcw017.png

    

                2)、關閉Selinuxvim  /etc/sysconfig/selinux

wKioL1msHu_B0qUAAAAONfkY3Kk561.png

      修改SELINUX=disabled,保存後退出。(按“a”可以編輯,按“Esc”鍵退出編輯,再按大寫“ZZ”保存退出)

wKiom1msH0fB4m2yAAApuGFC9gQ911.png


       3)、重新啓動系統:init 6


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章