このセクションでは自宅サーバーとしてLinuxを扱ううえで役に立つ基本操作基礎知識テクニックについて初心者/ビギナー向けに解説します。
お便利サーバー.com+相互リンクサイト内をキーワードで検索
LinuxOSの使いこなし術

LinuxOSを使いこなす

クライアントOSとの違い

絶対パスと相対パス

"パスが通っている"とは?

"/"と"."と".."の意味

"."(ドット)ファイルについて

ワイルドカードと正規表現

コマンドの強制終了

コマンド操作の補完機能

コマンド操作の履歴機能

リダイレクトとパイプ

属性とパーミッション〜その1

属性とパーミッション〜その2

アカウント情報ファイルの操作

ランレベルについて

システムが起動しないときは

ハードディスクの増設

アプリケーションの導入法


LinuxOSの動作モードを決定する「ランレベル」とは

WindowsOS を使い込んでいる方ならご存知と思いますが、システムエラーの後などに再起動するとしばしば セーフモード と呼ばれる状態で起動することがあります。

この仕組みは、システムの起動構成に異常がある場合、その修復に威力を発揮します。

WindowsOSに限らず、多くの OS は通常、OSそのものの起動に必要なプログラムだけではなく、様々な デーモン プログラム や デバイスドライバ などを起動し、必要に応じて メインメモリ 上に常駐します。

これらのプログラムやドライバの中には、もともと カーネル との相性の悪いものや、中身が壊れて正常に働かなくなってしまったものが含まれることがあります。

もしもこれらが起動時に自動的に読み込まれるのではなく、システムの起動後に手動で起動するべきものならば、使用をあきらめるなり、再 インストール するなりしてエラーに対処できます。

しかしシステムの起動時に自動的に読み込まれるプログラムが起動中にエラーを起こし、なおかつOSがそのエラーに対処できなかったとすると、システムはその段階で起動できないことになりますから修復しようと思ってもそれができない状況になってしまうわけです。

Windowsのセーフモードとは、システムの起動に必要な最低限のデーモンとデバイスドライバだけを起動させて「安全に」システムを起動させ、修復を容易にするための仕組みです。

実は LinuxOS にも似たような仕組みがあります。それが ランレベル"runlevel" と呼ばれるものです。

ランレベルは動作モードごとに番号が振られていますが、何番がどの動作モードを示すのかは ディストリビューション によって異なります。

例えば RedHatLinux 系(つまり WBEL CentOS も該当するわけですが)の場合は次のようになっています。

runlevel 動作モード
0 システム停止
1 シングルユーザーモード
2 マルチユーザーモード(ネットワークなし)
3 マルチユーザーモード(ネットワークあり)
4 空き
5 GUI ( X-Window モード)
6 再起動

RedHat系のランレベル一覧

ランレベル 0 : 稼働中のすべてのデーモンに停止命令を送り、電源を切ります( マザーボード が自動電源オフに対応していない場合は、最後に PowerOff などのメッセージが出るだけになります。)。つまり poweroff などのシステム終了 コマンド と同じ振る舞いをするランレベルです。

ランレベル 1 : WindowsOSのセーフモードに相当します。 root アカウント のみが ログイン 可能で、システムの動作に必要最低限のデーモンのみが起動し、ネットワーク環境などは使用できません。利用目的はWindowsOSのセーフモードと同じく、主に起動プロセスの修復になります。またこのモードではログインにパスワードを必要としませんから、何らかの理由でrootのパスワードが分からなくなってしまったときに利用できます。

ランレベル 2 : 後述のランレベル3からネットワークに関するデーモンのみを起動しないモードです。あまり利用することはないでしょう。

ランレベル 3 : CUI 画面で起動するモードです。 サーバー として稼動させるときは通常このモードを使うことになります。

ランレベル 4 : 予備のモードです。使われていません。

ランレベル 5 : GUI 画面で起動するモードです。 クライアント として稼動させるときは通常このモードを使うことになります。

ランレベル 6 : 稼働中のすべてのデーモンに停止命令を送り、システムを再起動します。つまり reboot などの再起動 コマンド と同じ振る舞いをするランレベルです。

このページの先頭へ↑

ランレベルの初期設定と変更

この コンテンツ を参考に サーバー を構築していれば、 ホスト機 の起動時のランレベルは 3 に設定されているはずです。

WBEL3 及び CentOS3 の場合、 OS インストール の最後のステップで ログイン の方法を ”テキスト(T)” で選択していると思いますが、これで起動時のランレベルが 3 に設定されているわけです。ここでもし "グラフィカル(G)" を選択すれば 5 に設定されることになります。

一方WBEL4及びCentOS4、CentOS5の場合はインストール時にこれに相当する選択画面がなく、ランレベルは無条件に 5 に設定されるようになっています。つまりWBEL4及びCentOS4、CentOS5ではグラフィカルログインが デフォルト の仕様というわけです。

ログインシステムの変更方法について(WBEL4) ログインシステムの変更方法について(CentOS4) ログインシステムの変更方法について(CentOS5) では、 X-Windowシステム から "gedit" を起動して "/etc/inittab" を書き換えていますが、CUIから nanoエディタ などを使って書き換えても構いません。

この「OS起動時のランレベルの設定」は、 "/etc/inittab" を書き換えると変更になり、次回の起動時から有効になります ログインシステムの変更方法について(WBEL4) ログインシステムの変更方法について(CentOS4) ログインシステムの変更方法について(CentOS5)

実際のところ、ランレベル 3 5 は、初期インターフェースが CUI GUI かという違いしかなく、サーバーとして稼動させるうえでは機能的に「できる、できない。」が発生するわけではありませんから、どちらでも構わないといえば確かにそのとおりです。

しかしGUIであるX-Windowシステムを使用するには、X-Windowシステムを動作させるための デーモン を余計に起動しておかなくてはなりません。

ですから、X-Windowシステムを積極的に利用しないのであればランレベルは 3 に設定しておくのがベターというわけですね。

ちなみに、ランレベル 3 のCUI画面から startx コマンドを実行するとGUIのX-Windowが起動しますが、これはランレベルが 5 に変更になったわけではなく、単純にX-Windowが アプリケーション として起動したに過ぎませんのでお間違えのないように。

Ctrl + Alt + F7 で元のGUI画面にもどることができます。

一方ランレベル 5 で起動したX-Window画面から Ctrl + Alt + F1 でCUI画面に切り替えることができますが、この場合でも同様にランレベルが変更されることはありません。

またランレベルはシステムの稼働中でも、 root アカウント であれば telinit [ランレベル番号] というコマンド操作で切り替えることができます。

ただし稼働中に不用意にランレベルを変更すると、稼動していなければならないデーモンが停止したりして不具合の原因になりますから、サーバーという運用方法からすればあまり望ましい操作ではありません。

私的には通常稼動させるランレベルは 3 のまま変更しないのがサーバー運営ではベターな方法だと思います。

このページの先頭へ↑

デーモンの起動情報とランレベルの関係について

WBEL CentOS では、 ホスト機 が起動するときに自動的に起動させる デーモン ntsysv コマンド を使って設定することができます。

ntsysvコマンドによる起動デーモンの設定画面
ntsysvコマンドによる起動デーモンの設定画面

ntsysvコマンドを引数なしで実行するとデーモンの起動・非起動の設定は、ntsysvコマンドを実行するときのシステムのランレベルでのみ有効となります。

例えばランレベル 5 で運用している サーバー 上でそのままntsysvを実行しても、ランレベル 5 の起動設定が修正されるだけです。もしもランレベルを 3 に変更して運用を続ける場合には、予め

ntsysv --level 3 Enter

でntsysvを起動して ランレベル3での起動設定 を行ってからランレベルを変更するか、ランレベルを 3 に変更して起動した後にntsysvによる設定をわなければならない点に注意してください。

では、その仕組みをもう少し詳しく説明しましょう。

WBELやCentOSなどの RedHatLinux 系の ディストリビューション は、デーモンを起動するのに起動 スクリプト を使用しますが、個々のスクリプトは "/etc/rc.d/init.d/" 以下に格納されています。

デーモンの起動を制御するためのファイルとディレクトリ一覧
デーモンの起動を制御するためのファイルとディレクトリ一覧

そして、 "/etc/rc.d/" 以下にはランレベル番号に対応するディレクトリ "rc0.d〜rc6.d" が用意されていて、各々のディレクトリの中には、 "/etc/rc.d/init.d/" 以下の起動スクリプトへの シンボリックリンク が格納されています。

ntsysvはそのシンボリックリンクの名称を書き換え、起動スクリプトの起動・非起動を設定ます。詳しくいうと、先頭に "S" が付くと起動、 "K" が付くと非起動になります。

デーモンの起動を制御するためのファイルとディレクトリ一覧
ランレベル3の起動デーモンを決定する"/etc/rc.d/rc3.d/"の中身

通常はこれらのディレクトリやファイルを直接書き換えて設定を行うことはなく、ntsysvやchkconfigなどのコマンドを使って間接的されるべきものです。

しかし起動時のトラブルに対処するためには最低限これらのディレクトリとファイルの役割くらいは覚えておきましょう。

このサイトは リンクフリー です。趣味や勉強のためでしたら、引用、転用、コピー、朗読、その他OKです。このサイトへのリンクについては こちら をご覧ください。今のところ更新予定はありませんのでご了承ください。
”Linux”は、Linus Torvalds 氏の各国における登録商標です。”Red Hat”及びRed Hatのロゴおよび Red Hat をベースとしたすべての商標とロゴは、各国におけるRed Hat, Inc. 社の商標または登録商標です。その他のプログラム名、システム名、製品名などは各メーカー、ベンダの各国における登録商標又は商標です。