1. <ul id="0c1fb"></ul>

      <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
      <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区

      RELATEED CONSULTING
      相關(guān)咨詢
      選擇下列產(chǎn)品馬上在線溝通
      服務(wù)時(shí)間:8:30-17:00
      你可能遇到了下面的問題
      關(guān)閉右側(cè)工具欄

      新聞中心

      這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
      Linux系統(tǒng)中的SysVinit機(jī)制是什么-創(chuàng)新互聯(lián)

      本篇內(nèi)容主要講解“Linux系統(tǒng)中的SysVinit機(jī)制是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“Linux系統(tǒng)中的SysVinit機(jī)制是什么”吧!

      目前創(chuàng)新互聯(lián)已為上千余家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)站空間成都網(wǎng)站托管、企業(yè)網(wǎng)站設(shè)計(jì)、南縣網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。

      SysV init是systemV風(fēng)格的init系統(tǒng),顧名思義,它源于SystemV系列UNIX。它提供了比BSD風(fēng)格init系統(tǒng)更高的靈活性。是已經(jīng)風(fēng)行了幾十年的UNIX init系統(tǒng),一直被各類Linux發(fā)行版所采用。

      (1) 什么是SystemV


      SystemV,曾經(jīng)也被稱為AT&T SystemV,是Unix操作系統(tǒng)眾多版本中的一支。它最初由AT&T開發(fā),在1983年第一次發(fā)布。一共發(fā)行了4個(gè)SystemV的主要版本:版本1、2、3和4。SystemV Release4,或者稱為SVR4,是最成功的版本,成為一些UNIX共同特性的源頭,例如”SysV初始化腳本“(/etc/init.d),用來控制系統(tǒng)啟動和關(guān)閉,SystemV Interface Definition(SVID)是一個(gè)SystemV如何工作的標(biāo)準(zhǔn)定義。


      (2)SysV init的運(yùn)行級別


      SysV init用術(shù)語runlevel來定義"預(yù)訂的運(yùn)行模式"。SysV init檢查'/etc/inittab'文件中是否含有'initdefault'項(xiàng)。來告訴init系統(tǒng)是否有一個(gè)默認(rèn)運(yùn)行模式。如果沒有默認(rèn)的運(yùn)行模式,那么用戶將進(jìn)入系統(tǒng)控制臺,手動決定進(jìn)入何種運(yùn)行模式。
      SysV init中運(yùn)行模式描述了系統(tǒng)各種預(yù)訂的運(yùn)行模式。通常會有8種運(yùn)行模式,即運(yùn)行模式0到6和S或者s。
      每種Linux發(fā)行版對運(yùn)行模式的定義都不太一樣。但0,1,6卻得到了大家的一致贊同:
      0關(guān)機(jī)
      1單用戶模式
      6重啟
      通常在/etc/inittab文件中定義了各種運(yùn)行模式的工作范圍。比如RedHat定義了runlevel3和5。運(yùn)行模式3將系統(tǒng)初始化為字符界面的shell模式;運(yùn)行模式5將系統(tǒng)初始化為GUI模式。無論是命令行界面還是GUI,運(yùn)行模式3和5相對于其他運(yùn)行模式而言都是完整的正式的運(yùn)行狀態(tài),計(jì)算機(jī)可以完成用戶需要的任務(wù)。而模式1,S等往往用于系統(tǒng)故障之后的排錯和恢復(fù)。
      很顯然,這些不同的運(yùn)行模式下系統(tǒng)需要初始化運(yùn)行的進(jìn)程,需要進(jìn)行的初始化準(zhǔn)備都是不同的。比如運(yùn)行模式3不需要啟動X系統(tǒng)。用戶只需要指定需要進(jìn)入哪種模式,SysV init負(fù)責(zé)執(zhí)行所有該模式所必須的初始化工作。


      (3)SysV init運(yùn)行順序


      SysV init巧妙地用腳本,文件命名規(guī)則和軟鏈接來實(shí)現(xiàn)不同的runlevel。首先,SysV init需要讀取/etc/inittab文件。分析這個(gè)文件的內(nèi)容,它獲得以下一些配置信息:
      系統(tǒng)需要進(jìn)入的runlevel;
      捕獲組合鍵的定義;
      定義電源fail/restore腳本;
      啟動getty和虛擬控制臺;
      得到配置信息后,SysV init順序地執(zhí)行以下這些步驟,從而將系統(tǒng)初始化為預(yù)訂的runlevelX:
      /etc/rc.d/rc.sysinit
      /etc/rc.d/rc和/etc/rc.d/rcX.d/(X代表運(yùn)行級別0-6)
      /etc/rc.d/rc.local
      XDisplayManager(如果需要的話)


      1)rc.sysinit腳本功能


      首先,運(yùn)行rc.sysinit以便執(zhí)行一些重要的系統(tǒng)初始化任務(wù)。在RedHat公司的RHEL5中(RHEL6已經(jīng)使用UpStart了),rc.sysinit主要完成以下這些工作:
      激活udev和selinux;
      設(shè)置定義在/etc/sysctl.conf中的內(nèi)核參數(shù);
      設(shè)置系統(tǒng)時(shí)鐘;
      加載keymaps;
      激活交換分區(qū);
      設(shè)置主機(jī)名(hostname);
      根分區(qū)檢查和remount;
      激活RAID和LVM設(shè)備;
      開啟磁盤配額;
      檢查并掛載所有文件系統(tǒng);
      清除過期的locks和PID文件;


      2)rc.d腳本


      完成了以上這些工作之后,SysV init開始運(yùn)行/etc/rc.d/rc腳本。根據(jù)不同的runlevel,rc腳本將打開對應(yīng)runlevel的rcX.d目錄(X就是runlevel),找到并運(yùn)行存放在該目錄下的所有啟動腳本。每個(gè)runlevelX都有一個(gè)這樣的目錄,目錄名為/etc/rc.d/rcX.d。
      在這些目錄下存放著很多不同的腳本。文件名以S開頭的腳本就是啟動時(shí)應(yīng)該運(yùn)行的腳本,S后面跟的數(shù)字定義了這些腳本的執(zhí)行順序。在/etc/rc.d/rcX.d目錄下的腳本其實(shí)都是一些軟鏈接文件,真實(shí)的腳本文件存放在/etc/init.d目錄下。如下所示:
      rc5.d目錄下的腳本



      代碼如下:

      [root@www~]#ll/etc/rc5.d/
      lrwxrwxrwx1rootroot16Sep42008K02dhcdbd->../init.d/dhcdbd
      ....(中間省略)....
      lrwxrwxrwx1rootroot14Sep42008K91capi->../init.d/capi
      lrwxrwxrwx1rootroot23Sep42008S00microcode_ctl->../init.d/microcode_ctl
      lrwxrwxrwx1rootroot22Sep42008S02lvm2-monitor->../init.d/lvm2-monitor
      ....(中間省略)....
      lrwxrwxrwx1rootroot17Sep42008S10network->../init.d/network
      ....(中間省略)....
      lrwxrwxrwx1rootroot11Sep42008S99local->../rc.local
      lrwxrwxrwx1rootroot16Sep42008S99smartd->../init.d/smartd
      ....(底下省略)....

      當(dāng)所有的初始化腳本執(zhí)行完畢。SysV init運(yùn)行/etc/rc.d/rc.local腳本。
      rc.local是Linux留給用戶進(jìn)行個(gè)性化設(shè)置的地方。可以把自己私人想設(shè)置和啟動的東西放到這里,一臺LinuxServer的用戶一般不止一個(gè),所以才有這樣的考慮。


      (4)SysV init和系統(tǒng)關(guān)閉


      SysV init不僅需要負(fù)責(zé)初始化系統(tǒng),還需要負(fù)責(zé)關(guān)閉系統(tǒng)。在系統(tǒng)關(guān)閉時(shí),為了保證數(shù)據(jù)的一致性,需要小心地按順序進(jìn)行結(jié)束和清理工作。
      比如應(yīng)該先停止對文件系統(tǒng)有讀寫操作的服務(wù),然后再umount文件系統(tǒng)。否則數(shù)據(jù)就會丟失。
      這種順序的控制這也是依靠/etc/rc.d/rcX.d/目錄下所有腳本的命名規(guī)則來控制的,在該目錄下所有以K開頭的腳本都將在關(guān)閉系統(tǒng)時(shí)調(diào)用,字母K之后的數(shù)字定義了它們的執(zhí)行順序。
      這些腳本負(fù)責(zé)安全地停止服務(wù)或者其他的關(guān)閉工作。


      (5)SysV init的管理和控制功能


      此外,在系統(tǒng)啟動之后,管理員還需要對已經(jīng)啟動的進(jìn)程進(jìn)行管理和控制。SysV init軟件包包含了一系列的控制啟動,運(yùn)行和關(guān)閉所有其他程序的工具。
      halt停止系統(tǒng)。
      init就是SysV init本身的init進(jìn)程實(shí)體,以pid1身份運(yùn)行,是所有用戶進(jìn)程的父進(jìn)程。最主要的作用是在啟動過程中使用/etc/inittab文件創(chuàng)建進(jìn)程。
      killall5就是System V的killall命令。向除自己的會話(session)進(jìn)程之外的其它進(jìn)程發(fā)出信號,所以不能殺死當(dāng)前使用的shell。
      last回溯/var/log/wtmp文件(或者-f選項(xiàng)指定的文件),顯示自從這個(gè)文件建立以來,所有用戶的登錄情況。
      lastb作用和last差不多,默認(rèn)情況下使用/var/log/btmp文件,顯示所有失敗登錄企圖。
      mesg控制其它用戶對用戶終端的訪問。
      pidof找出程序的進(jìn)程識別號(pid),輸出到標(biāo)準(zhǔn)輸出設(shè)備。
      poweroff等于shutdown-h–p,或者telinit0。關(guān)閉系統(tǒng)并切斷電源。
      reboot等于shutdown–r或者telinit6。重啟系統(tǒng)。
      runlevel讀取系統(tǒng)的登錄記錄文件(一般是/var/run/utmp)把以前和當(dāng)前的系統(tǒng)運(yùn)行級輸出到標(biāo)準(zhǔn)輸出設(shè)備。
      shutdown以一種安全的方式終止系統(tǒng),所有正在登錄的用戶都會收到系統(tǒng)將要終止通知,并且不準(zhǔn)新的登錄。
      sulogin當(dāng)系統(tǒng)進(jìn)入單用戶模式時(shí),被init調(diào)用。當(dāng)接收到啟動加載程序傳遞的-b選項(xiàng)時(shí),init也會調(diào)用sulogin。
      telinit實(shí)際是init的一個(gè)連接,用來向init傳送單字符參數(shù)和信號。
      utmpdump以一種用戶友好的格式向標(biāo)準(zhǔn)輸出設(shè)備顯示/var/run/utmp文件的內(nèi)容。
      wall向所有有信息權(quán)限的登錄用戶發(fā)送消息。
      不同的Linux發(fā)行版在這些SysV init的基本工具基礎(chǔ)上又開發(fā)了一些輔助工具用來簡化init系統(tǒng)的管理工作。比如RedHat的RHEL在SysV init的基礎(chǔ)上開發(fā)了initscripts軟件包,包含了大量的啟動腳本(如rc.sysinit),還提供了service,chkconfig等命令行工具,甚至一套圖形化界面來管理init系統(tǒng)。其他的Linux發(fā)行版也有各自的initscript或其他名字的init軟件包來簡化SysV init的管理。
      只要理解了SysV init的機(jī)制,在一個(gè)最簡的僅有SysV init的系統(tǒng)下,可以直接調(diào)用腳本啟動和停止服務(wù),手動創(chuàng)建inittab和創(chuàng)建軟連接來完成這些任務(wù)。因此理解SysV init的基本原理和命令是最重要的。甚至也可以開發(fā)自己的一套管理工具。


      到此,相信大家對“Linux系統(tǒng)中的SysVinit機(jī)制是什么”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)建站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!


      當(dāng)前標(biāo)題:Linux系統(tǒng)中的SysVinit機(jī)制是什么-創(chuàng)新互聯(lián)
      轉(zhuǎn)載來于:http://www.ef60e0e.cn/article/csdice.html
      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区
      1. <ul id="0c1fb"></ul>

        <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
        <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

        广丰县| 定南县| 太仓市| 龙泉市| 利津县| 新源县| 宁城县| 达州市| 类乌齐县| 邵武市| 宜黄县| 于都县| 丘北县| 五峰| 辉县市| 行唐县| 醴陵市| 那坡县| 炎陵县| 上蔡县| 隆昌县| 长子县| 太白县| 景洪市| 吕梁市| 通化县| 隆昌县| 顺义区| 南安市| 石渠县| 富川| 靖边县| 隆德县| 遂昌县| 志丹县| 潞西市| 漯河市| 高邑县| 鄂温| 萍乡市| 虞城县|