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でpoweroffとinit 0を停止し、システムを再起動するコマンドはshutdown –rで、reboot init 6です。