Latest web development tutorials

Linuxシステムのブートプロセス

Linuxが起動したら、私たちは多くの情報を見てから始めましょう。

我々は、プロセスは5つの段階に分けることができ、想像としてLinuxシステムのブートプロセスが複雑にならないように。

  • カーネルのブート。
  • 初期化を実行します。
  • システムの初期化。
  • 端末の設立。
  • ユーザーログインシステム。

カーネルのブート

コンピュータが電源オンされた場合、最初のBIOSのPOSTの、BIOS設定は、ブートデバイス(通常はハードディスク)に応じて開始します。

オペレーティングシステムはハードウェアを引き継ぐためにした後、最初のカーネルファイル/ bootディレクトリをお読みください。

bg2013081702

ランのinit

initプロセスは、すべてのシステムプロセスの出発点である、あなたは、私たちの先祖にないプロセスをすべてのシステムプロセスを、それを比較することができ、システムは、任意のプロセスを開始しません。

initプログラムは、最初の設定ファイル/ etc / inittabファイルを読み込む必要です。

bg2013081703

実行レベル

多くのプログラムが起動が必要です。 これらは、Windowsの「サービス」(サービス)と呼ばれ、Linuxでの「デーモン」(デーモン)と呼ばれています。

大きなタスクinitプロセスは、ブートプログラムを実行することです。

デスクトップが必要とされないようしかし、異なる状況では、このようなサーバーとして使用するときなど、さまざまなプログラムを、起動する必要があり、あなたは、Apacheを起動する必要があります。

Linuxは、別の機会のために、「ランレベル」(ランレベル)と呼ばれる別のスタートアッププログラムを割り当てることができます。 あなたが実行するプログラムを決定するために、「実行レベル」に応じて活性化されるとそれが、あります。

bg2013081704

Linuxシステムは、7段階の実行(ランレベル)を持っています:

  • 実行レベル0:システムのシャットダウンは、システムのデフォルトの実行レベルを0に設定することができない、または正常に起動することはできません。
  • 実行レベル1:シングルユーザー動作状態、システムメンテナンスのためにroot権限は、リモートアクセスが禁止されています
  • 実行レベル2:マルチユーザ状態(ないNFS)
  • 実行レベル3:フルマルチユーザ状態(NFSで)、コンソールコマンドラインモードに着陸した後
  • レベル4を実行します。システムは使用しません、保持
  • 実行レベル5:X11コンソールは、グラフィカルなGUIモードにログイン
  • 実行レベル6:通常のシステムシャットダウンと再起動、6が設定されていないデフォルトの実行レベル、または正常に起動することはできません。

システム初期化

SI :: SYSINIT:初期化構成ファイル内のこのような行は、それが実行さ/etc/rc.d/rc.sysinitを呼び出し、rc.sysinitが存在bashシェルスクリプトです/etc/rc.d/rc.sysinitそれはシステムの初期化作業の数の完成です、rc.sysinitが存在は、すべてのレベルが最初に実行されなければならないスクリプトを実行することが重要です。

これは、主に作業している:、ディスクをチェックし、スワップパーティションをアクティブにするハードウェアモジュール、および他の優先度のタスクをロードします。

l5:5:wait:/etc/rc.d/rc 5

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

これらのrc起動スクリプトが同様の用法を持って、彼らは一般的に、開始、停止、再起動、ステータスや他のパラメータを受け入れることができます。

冒頭に/etc/rc.d/rc5.d/のrc起動スクリプト通常、Kまたは添付文書Sは、のためのスクリプトを起動するために、実行するためのパラメータSの先頭から開始します。

私たちが発見した場合と対応するスクリプトは、その後、最初のピットストップは、後見人を開始したこれらのパラメータを停止することであり、Kはそこに接続が開始され、(シンボルとして下/ファイルは/ var /ロック/ SUBSYS)の実行状態になっている存在しますプロセス、およびその後、再実行。

これは、initがレベルを変更すると、すべてのデーモンが再起動されていることを確認するために行われています。

ユーザーは回線セットから「システムサービス」には、chkconfigまたはセットアップすることができ、中に何のデーモンについては、各クラスで実行されます。

bg2013081705

端末の設立

RCは、initに戻り、終了しました。 そして、基本的なシステム環境が設定されている、様々なデーモンが開始しています。

initはユーザのログインシステムとなるよう、次の6つの端子を開きます。 6つの端子を定義し、次の6行でinittabファイル:

1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6

それ以上の実行レベルで見ることができますから、2,3,4,5、設定モードの状態にmingettyプログラムは、端末を開くことができ、にmingettyプログラムは再出現します実行されます。

同時にそれは、インターフェイスが、我々は多くの場合、ログイン画面でログイン画面にユーザー名を入力するようにユーザに要求し、ユーザがユーザの身元を確認するためにログインプログラムにパラメータとしてユーザによって入力されます見るもので、テキストログイン画面が表示されます。


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

一般的には、3つの方法でユーザーのログイン:

  • (1)コマンドラインのログイン
  • (2)SSHログイン
  • (3)グラフィカルログイン
bg2013081706

グラフィカル・ユーザー・実行レベル5のために、彼らは、グラフィカルログイン画面を介してログオンします。 ログインに成功すると、KDE、GNOMEや他のウィンドウマネージャに直接行くことができます。

記事では、主にケースやテキストログインについてです:私たちはにmingettyのログイン画面が表示されたら、我々はシステムにログインするためのユーザー名とパスワードを入力することができます。

Linuxのアカウントの検証プロセスは、ログインが、ログインにmingettyはusernameパラメータとしてユーザー名を来た受信です。

次に、ユーザー名のログインに分析されます。ユーザー名がrootでないし、その後の/ etc / nologinファイル、出力NOLOGINログインファイル、出口がある場合。

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

追加のアクセス制限を行うため、ユーザの/ etc / userttyファイルファイルが存在しない場合は、他の制限はありません。


モードグラフィクスモード、テキストモードを切り替えます

Linuxは6プリセットコマンドターミナルウィンドウレッツログインを提供します。

私たちのデフォルトのログインは6ウィンドウがtty1から、tty2 ... tty6た、あなたがそれらを切り替えるには、Ctrl + Altキー+ F1〜F6キーを押すことができ、TTY1ある最初のウィンドウです。

あなたは、グラフィカルインターフェイスをインストールする場合、デフォルトでは、グラフィカルインターフェイスを入力することで、あなたは、コマンド・ウィンドウ・インタフェースのいずれかを入力するには、Ctrl + Altキー+ F1〜F6キーを押すことができます。

あなたはコマンドウィンドウのインターフェイスを入力し、グラフィカル・インターフェースに戻ると、ちょうど背中にはCtrl + Alt + F7キーを押します。

あなたは、VMwareの仮想マシンを使用する場合は、コマンドのショートカットキーは、ウィンドウAltキー+スペース+ F1〜F6に切り替えることができます。あなたは、コマンドウィンドウにグラフィカルインターフェイスでAltキーShiftキー+ + Ctrlキー+ F1〜F6キースイッチを押した場合。

bg2013081707

Linuxのシャットダウン

主にサーバで使用されるLinuxの分野では、まれにシャットダウン操作を遭遇しません。 特殊な状況下で、それをシャットダウンすることを余儀なくされる以外のすべての後に、サーバー上で実行されているサービスは、無限大です。

正しいシャットダウンシーケンスは次のとおりです。sysnc>シャットダウン>再起動>停止

shutdownコマンドは、次のとおりです。シャットダウン、あなたは男のシャットダウンヘルプドキュメントを見ることができます。

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

sync 将数据由内存同步到硬盘中。

shutdown 关机指令,你可以man shutdown 来看一下帮助文档。例如你可以运行如下命令关机:

shutdown –h 10 ‘This server will shutdown after 10 mins’ 这个命令告诉大家,计算机将在10分钟后关机,并且会显示在登陆用户的当前屏幕中。

Shutdown –h now 立马关机

Shutdown –h 20:25 系统会在今天20:25关机

Shutdown –h +10 十分钟后关机

Shutdown –r now 系统立马重启

Shutdown –r +10 系统十分钟后重启

reboot 就是重启,等同于 shutdown –r now

halt 关闭系统,等同于shutdown –h now 和 poweroff

それは、システムを再起動するか、システムをシャットダウンするかどうか、要するに、我々は最初の同期コマンドを実行する必要があり、メモリ内のデータがディスクに書き込まれます。

shutdownコマンドは現在、システムが今のinit 6を再起動する-rシャットダウンを持って再起動、電源オフとinit 0を停止-hコマンドのシャットダウンがあります。