[Liunx] Linuxシステムの起動プロセス

Linuxの起動時に多くの起動情報が表示されます。

Linuxシステムの起動プロセスは、誰もが思うほど複雑ではありません。プロセスは5つの段階に分けられます。

  • カーネルのブート。
  • initを実行します。
  • システムの初期化。
  • ターミナルを設置します。
  • ユーザーがシステムにログインします。

初期化プログラムのタイプ:

  • SysV: init、CentOS 5より前の構成ファイル:/ etc / inittab。
  • アップスタート: init、CentOS 6、構成ファイル:/etc/inittab、/etc/init/*.conf。
  • systemd: systemd、CentOS 7、構成ファイル:/ usr / lib / systemd / system、/ etc / systemd / system。

カーネルブート

コンピュータの電源を入れると、BIOSに設定されている起動デバイス(通常はハードディスク)に従って、BIOSセルフテストが最初に起動します。

オペレーティングシステムがハードウェアを引き継いだ後、最初に/ブートディレクトリのカーネルファイルを読み取ります。


initを実行する

initプロセスは、システム内のすべてのプロセスの開始点です。これをシステム内のすべてのプロセスの祖先と比較できます。このプロセスがないと、システム内のプロセスは開始されません。

initプログラムは、最初に構成ファイル/ etc / inittabを読み取る必要があります。

 

実行レベル

多くのプログラムを開始する必要があります。これらはWindowsでは「サービス」と呼ばれ、Linuxでは「デーモン」と呼ばれます。

initプロセスの主なタスクは、これらの起動プログラムを実行することです。

ただし、サーバーによって使用する場合はApacheを起動する必要があり、デスクトップとして使用する必要がないなど、状況によって起動するプログラムが異なります。

Linuxでは、さまざまなブートプログラムをさまざまな状況に割り当てることができます。これは「ランレベル」と呼ばれます。つまり、起動時の「実行レベル」に応じて、実行するプログラムを決定します。

Linuxシステムには7つのランレベル(ランレベル)があります。

  • 動作レベル0:システムは停止状態です。システムのデフォルトの動作レベルは0に設定できません。それ以外の場合、正常に起動できません。
  • 実行レベル1:シングルユーザー作業状態、root権限、システム保守に使用、リモートログインを禁止
  • 実行レベル2:マルチユーザー状態(NFSなし)
  • 実行レベル3:マルチユーザー状態を完了(NFSを使用)、ログイン後にコンソールコマンドラインモードに入る
  • 実行レベル4:システムは未使用で予約済み
  • 実行レベル5:X11コンソール、ログイン後にグラフィカルGUIモードに入る
  • 実行レベル6:システムはシャットダウンして正常に再起動します。デフォルトの実行レベルは6に設定できません。それ以外の場合は、正常に起動できません。

システムの初期化

init構成ファイルに次のような行があります。si :: sysinit:/etc/rc.d/rc.sysinit /etc/rc.d/rc.sysinitを呼び出して実行します。rc.sysinitはbashシェルスクリプトです、主にいくつかのシステム初期化作業を完了することです。rc.sysinitは、各実行レベルで最初に実行する必要がある重要なスクリプトです。

完了する主なタスク:スワップパーティションのアクティブ化、ディスクの確認、ハードウェアモジュールのロード、および最初に実行する必要があるその他のタスク。

l5 5 待機/ etc / rc d / rc 5

この行は、/ etc / rc.d / rcが5をパラメーターとして実行されていることを示しています/Etc/rc.d/rcは、/ etc / rc.d / rc5.d /ディレクトリーを実行するためのパラメーターとして5を受け入れるシェルスクリプトです下のすべてのrc起動スクリプト、/ etc / rc.d / rc5.d /ディレクトリの起動スクリプトは、実際のrc起動スクリプトではなく、実際にはいくつかの接続ファイルです。実際のrc起動スクリプトは実際にはすべてです/etc/rc.d/init.d/ディレクトリに配置します。

これらのrc起動スクリプトの使用法は類似しており、通常、start、stop、restart、statusなどのパラメーターを受け入れます。

/etc/rc.d/rc5.d/のrc起動スクリプトは、通常、KまたはSで始まる接続ファイルです。Sで始まる起動スクリプトの場合、startパラメータを指定して実行されます。

対応するスクリプトがあり、Kで始まる接続があり、すでに実行状態にある場合(/ var / lock / subsys /の下のファイルを記号として使用)、これらの停止したガードは最初に停止パラメーターで停止します処理してから、再度実行してください。

これは、initがランレベルを変更したときに、関連するすべてのデーモンが確実に再起動されるようにするために行われます。

各ランレベルでどのデーモンが実行されるかについては、ユーザーはchkconfigまたはセットアップの「システムサービス」を使用して独自のデーモンを設定できます。


ターミナルを設置

rcの実行後、initに戻ります。このとき、基本的なシステム環境が整い、各種デーモンが起動されています。

Initは6つのターミナルを開き、ユーザーがシステムにログインできるようにします。inittabの次の6行は、6つの端末を定義しています。

1 2345 復活/ sbinに/ にmingetty TTY1 2 2345 復活/ sbinに/ にmingetty tty2 3 2345 復活/ sbinに/ にmingetty tty3 4 2345 復活/ sbinに/ にmingetty tty4 5 2345 復活/ sbinに/ にmingetty tty5という6 2345 復活/ sbinに/ にmingetty tty6

上記から、実行レベルが2、3、4、5の場合、mingettyプログラムはリスポーンモードで実行され、mingettyプログラムはターミナルを開いてモードを設定できることがわかります。

同時に、テキストログインインターフェイスが表示されます。これは、私たちがよく目にするログインインターフェイスです。このログインインターフェイスでは、ユーザーはユーザー名の入力を求められ、ユーザーが入力したユーザーは、ユーザーのIDを確認するためのパラメーターとしてログインプログラムに渡されます。


ユーザーログインシステム

一般的に、ユーザーがログインするには3つの方法があります。

  • (1)コマンドラインログイン
  • (2)sshログイン
  • (3)グラフィカルインターフェースログイン

実行レベル5のグラフィカルモードのユーザーの場合、ログインはグラフィカルログインインターフェイスを介して行われます。ログインに成功したら、KDEやGnomeなどのウィンドウマネージャーに直接入ることができます。

また、この記事では主にテキストログインの状況について説明します。mingettyのログインインターフェイスが表示されたら、ユーザー名とパスワードを入力してシス​​テムにログインできます。

Linuxのアカウント検証プログラムはログインであり、ログインはMingettyからユーザー名パラメーターとしてユーザー名を受け取ります。

次に、ログインはユーザー名を分析します。ユーザー名がrootではなく、/ etc / nologinファイルがある場合、loginはnologinファイルの内容を出力して終了します。

これは通常、システムのメンテナンス中に非rootユーザーがログインできないようにするために使用されます。/ etc / securettyに登録された端末のみがrootユーザーのログインを許可します。このファイルが存在しない場合、rootユーザーは任意の端末にログインできます。

/ etc / userttyファイルは、ユーザーに追加のアクセス制限を課すために使用されます。このファイルが存在しない場合、他の制限はありません。


グラフィックモードとテキストモードの切り替えモード

Linuxプリセットには、ログインするための6つのコマンドウィンドウターミナルがあります。

デフォルトでは、ログインは最初のウィンドウであるtty1です。6つのウィンドウはtty1、tty2…tty6です。Ctrl+ Alt + F1〜F6を押すと、ウィンドウを切り替えることができます。

グラフィカルインターフェースをインストールしている場合、デフォルトではグラフィカルインターフェースに入ります。このとき、Ctrl + Alt + F1〜F6を押して、コマンドウィンドウインターフェースの1つに入ることができます。

コマンドウィンドウインターフェイスに入り、グラフィカルインターフェイスに戻ったら、Ctrl + Alt + F7を押すだけで戻ります。

VMware仮想マシンを使用している場合、コマンドウィンドウを切り替えるショートカットキーはAlt + Space + F1〜F6です。グラフィカルインターフェイスを使用している場合は、Alt + Shift + Ctrl + F1〜F6を押してコマンドウィンドウに切り替えます。


Linuxシャットダウン

ほとんどLinux分野のサーバーで使用され、まれにシャットダウン操作が発生する。結局のところ、サーバー上でサービスを実行することに終わりはありません。特別な状況下でない限り、サービスはシャットダウンされます。

正しいシャットダウンプロセスは次のとおりです。sync> shutdown> reboot> halt

shutdownコマンドは、shutdownです。shutdownを実行すると、ヘルプドキュメントを表示できます。

たとえば、次のコマンドを実行してシャットダウンできます。

同期ハードディスクへの同期メモリからのデータ。

シャットダウンshutdownコマンドは、次のことができますシャットダウンの男ヘルプファイルを見て。たとえば、次のコマンドを実行してシャットダウンできます。shutdown h 10 ' このサーバーは10 後にシャットダウンします' このコマンドは、コンピューターが10 分後にシャットダウンし、ログインしているユーザーの現在の画面に表示されることを全員に通知します。シャットダウン- H今すぐシャットダウンシャットダウン- H 20 25には、今日になります20 25 シャットダウンシャットダウン- H + 10 後10分オフシャットダウン- rを今すぐにシステムの再起動、シャットダウン    R + 10 10 分後のシステムの再起動は再起動です。これはシャットダウンと同等ですr now halt はシステムをシャットダウンします。これはシャットダウンと同等ですh now poweroff 

最後に、システムを再起動するか、システムをシャットダウンするかを要約すると、最初にsyncコマンドを実行して、メモリ内のデータをディスクに書き込みます。

shutdownコマンドは、shutdown –hでpoweroffinit 0を停止し、システムを再起動するコマンドはshutdown –rで、reboot init 6です。


参考記事:

おすすめ

転載: www.cnblogs.com/HGNET/p/12723948.html