質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

解決済

1回答

936閲覧

Linuxのランレベルについて理解が曖昧です。

tomuziso

総合スコア40

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

0クリップ

投稿2017/12/14 09:31

chkconfig nginx --list nginx 0:off 1:off 2:off 3:off 4:off 5:off 6:off
chkconfig nginx on chkconfig nginx --list nginx 0:off 1:off 2:on 3:on 4:on 5:on 6:off

Amazon Linuxでnginxの自動起動設定を行っています。
ランレベルについてイマイチ理解が出来ていません。
chkconfigコマンドで nginxを自動起動するコマンドを打ち込むと
ランレベル2,3,4,5がonになっています。
これでreboot後も自動でnginxが立ち上がります。

しかし、どういう理屈で自動で起動しているのでしょうか?

0 – 停止 1 – シングルユーザー 2 – 未使用/ユーザー定義可能 3 – マルチユーザー、コンソールログインのみ 4 – 未使用/ユーザー定義可能 5 – ランレベル 3 + Xディスプレイマネージャ起動 6 – リブート

3をonにした場合、コンソールログインするとnginxが起動するのでしょうか?
となると、0をonにするとLinux停止の状態で起動する?ということになるのでしょうか?
いまいちランレベルと自動起動の関連性が分かっていません。
よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

chkconfigは、シンボリックリンクを作ったり、消したり、あるか確認しているだけなので、01がどういう意味を持っているのかは関知していません。

3の「コンソールログインのみ」は「GUIは自動起動しないよ」という意味です。

ランレベルを0に変えると、/etc/rc.d/rc0.d/の下のスクリプトを名前の順番に実行します。
他の数字に変えた場合にも同様で、/etc/rc.d/rc数字.d/の下のスクリプトが実行されます。
その結果として、OSがシャットダウンしたり、GUIログイン画面が起動したりします。

投稿2017/12/14 09:49

otn

総合スコア84538

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tomuziso

2017/12/14 10:17

ありがとうございます。 ランレベルを0に変える、ということはonにする、という認識で合っていますでしょうか? 確認のために/etc/rc.d/rc~ のファイルを0から6まで確認しましたが全ディレクトリにnginxのシンボリックリンクが貼ってありました。 2,3,4,5だけonにすれば該当のディレクトリにシンボリックリンクが貼られると思ったのですが、そうではないのですね。 まだまだ曖昧なのですが、 例で言う /etc/rc.d/rc0.d/以下のスクリプトが実行されるタイミングとランレベルのon,offは関係ないのでしょうか? 2をonにすれば、/etc/rc.d/rc2.d/以下にシンボリックリンクが貼られて、2が実行される時にそのディレクトリを読み込む、という認識ですが間違っていますか?
otn

2017/12/14 13:15

シンボリックリンクは、K+番号+サービス名、S+番号+サービス名 という名前になっていると思います。 Kが停止スクリプト、Sが起動スクリプトです。全部のディレクトリにどちらかがあるはずです。 Kの方がアルファベット順が先なので、一連の停止スクリプトが動いてから、一連の起動スクリプトが動きます。 > ランレベルを0に変える、ということはonにする、という認識で合っていますでしょうか? いいえ。「システムの状態を0に変える」というイメージです。 rootユーザーで、telinit 0 というコマンドを入れるのが「ランレベルを0に変える」という操作です。 また、telinit 3 でCUIモードで起動します。 chkconfigはシンボリックリンクを張り替えるコマンドで、各スクリプトの実行とは無関係です。
tomuziso

2017/12/15 05:11

ありがとうございます。 再度確認しました。 0:K, 1:K, 2:S, 3:S, 4:S, 5:S, 6:K となっていました。 onになっているところだけSということですね。 あくあmでchkconfigでのon,offの切り替えはシンボリックリンクの張り替えをしているということなのですね、ありがとうございます。少し理解出来るようになりました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問