Windows system >> Windowsの知識 >  >> Linuxシステムチュートリアル >> Linuxチュートリアル >> Linuxランレベルの値を変更する方法

Linuxランレベルの値を変更する方法

  

まず、initinitとはLinuxシステムの運用に不可欠なプログラムの1つです。カーネルによって開始されるユーザーレベルのプロセスです。カーネルが起動された(メモリにロードされた、実行され始めた、そしてすべてのデバイスドライバとデータ構造が初期化された、など)後、他のユーザレベルプロセスまたはサービスはユーザレベルプログラムinitを開始することによって開始される。したがって、initは常に最初のプロセスです(PIDは常に1です)。カーネルはinitが過去に使用されたことがあるいくつかの場所でそれを調べ、その正しい場所(Linuxシステムの場合)は/sbin /initです。カーネルがinitを見つけられない場合は/bin /shを実行しようとしますが、実行に失敗するとシステムは起動しません。次に、実行レベル実行レベルは、現在実行中のオペレーティングシステムの動作レベルです。このレベルは1から6の範囲で、さまざまな機能があります。機能レベルは次のとおりです。#0 - シャットダウン(initdefaultを0に設定しないでください)#1 - シングルユーザーモード#2 - マルチユーザー、なしNFS#3 - フルマルチユーザーモード(標準実行レベル)#4 - いいえ#5を使用 - X11(xwindow)#6 - 再起動(initdefaultを6に設定しないでください - ブラックアウトしたlinuxのinitdefaultを0または6に設定すると、サービス拒否攻撃となります)。 ABCの実行レベルは3つありますが、RHLinuxには意味がありません。これらのレベルは/etc /inittabファイルに指定されています。このファイルはinitプログラムが探すメインファイルで、最初に実行するサービスは/etc/rc.dディレクトリにあるファイルです。ほとんどのLinuxディストリビューションでは、起動スクリプトは/etc/rc.d/init.dにあります。これらのスクリプトは、lnコマンドを使用して/etc/rc.d/rcn.dディレクトリに接続されています。 (ここでのnは実行レベル0から6です。)3.ランレベル設定ランレベル設定は、/etc /inittab行で次のように行われます。12:2:wait:/etc /init.d /rc 2 id:runlevels:action:processid:このファイル内で一意である必要がある4文字の任意に指定されたシーケンスで、古いバージョンのlibc5(5.2.18以下)またはa.outライブラリを使用します。コンパイルされたsysvinitは2文字に制限されています。注:gettyのようなログインプロセスはidフィールドとtty番号を一致させる必要がありますたとえば、tty1はid = 1を必要とし、古いバージョンのログインプロセスはこの規則に従います。 Runlevels:この行がそのレベルの実行に適していることを示し(ここでは2、2つ以上あり、対応する実行レベルで実行する必要があることを示します)、さらに3つのプロセスsysinit、boot、およびbootwaitはこの設定を無視します。対応するランレベルに入るときにinitがprocessフィールドのコマンドを実行する方法を示しています共通のフィールド値と説明は付録にあります。この例の待機は、プロセスを1回実行し、それが終了するのを待つ必要があることを意味します。プロセス:実行する必要がある特定のコマンド。この例の/etc/init.d/rcコマンドは、ランレベル2で実行されるべきプロセス/コマンドを開始し、ランレベルを終了するときにそれを終了させる責任があります(着信ランレベルでまだ実行中のプログラムを除く)。実行レベルが変わり、実行中のプログラムが新しい実行レベルで実行する必要があることを指定していない場合、initは最初にSIGTERMシグナルを送信して終了し、次にSIGKILLを送信します。有効なアクション値は次のとおりです。respawn:initがこのプロセスを監視する必要があることを示します。たとえそれが完了しても、再開する必要があります。待つ:initはこのプロセスを一度実行し、次のステップに進む前にそれが完了するのを待つべきです。 1回:initはこのプロセスを1回実行する必要があります。ブート:システムで実行されるため、ランレベルの値は無効です。 Bootwait:システムで実行し、initはそれが終了するのを待つべきです。オフ:意味がありません。 Initdefault:システム起動後のデフォルトのランレベル、対応するランレベルが有効になっているため、対応するプロセスが有効になっているため、processフィールドを指定しても意味がありません。このレコードがinittabファイルに存在しない場合、システムは起動時にコンソールにエントリレベルを要求します。 Sysinit:システム起動時に実行されるコマンド。たとえば、このコマンドは/tmpをクリアします。 /etc/rc.d/rc.sysinitスクリプトを調べて、実行されているものを確認できます。 Powerwait:電源を切った時にinitがシステムをシャットダウンすることを許可します。もちろん、U P SとU P Sを監視しinitに電源が遮断されたことを知らせるソフトウェアがあることが前提です。 RH linuxはデフォルトでこのオプションをリストしていません。 Powerfail:powerwaitと同じですが、initは実行中のプロセスが終了するのを待ちません。 RH linuxはデフォルトでこのオプションをリストしていません。 Powerokwait:電力監視ソフトウェアが「電力回復」を報告したときにinitが実行する操作です。 Powerfailnow:initがupsの電力が不足しそうであることを検出したときに実行する操作で、powerwait /powerfailとは異なります。 Ctrlaltdel:ユーザがコンソールキーボードのC t r l + A l t + D elを押したときにinitがシステムを再起動することを許可します。システムが公共の場所に配置されている場合、システム管理者は無視するなど、他の動作にCtrl + Alt + Delキーの組み合わせを設定できます。私は宣誓の言葉を印刷しようとしています^ o ^。 Kbrequest:特定のキーボードの組み合わせキーが押されたときにとられる動作を監視するのは完璧ではありません。オンデマンド:指定されたオンデマンドランレベルが呼び出されるたびに、オンデマンドランレベルでマークされたプロセスが実行されます(ただし、ランレベルの変更は発生しません(オンデマンドランレベルは’、‘ b’、‘ b’、‘ c’)。追加されたもの:1.シングルユーザーモードに入るには、通常initdefaultを1に設定するか、grub /liloで< single'または緊急"コマンドを指定します。ラインパラメータが実装されています。カーネル/vmlinuz-2.6.9-22.EL ro root = /bin /shなので、initは直接シェルを起動します。他のプロセスは起動されません。十分にクリーンです。 ! 2、あなたのシステムがliloを使っているなら、あなた自身のランレベルを起動にすることができます。起動コマンドの対応する部分は以下の通りです:LILO:linux 5あなたがGRUBを使っているなら、起動時に長押しすることができますeキーを押すと設定モードに入り、対応する位置が次のように表示されます。kernel /vmlinuz ro root = /dev /hda153。システムの実行中に、telinit(またはinit)コマンドで実行レベルを変更できます。 telinitコマンド(rootユーザー)を使用して操作モードを切り替える:$ /sbin /telinit通常、実行モードを切り替える目的は、XFree86などの一部のアプリケーションプロセスを再起動し、操作モードを5から3に切り替えることでXFree86を終了させます。プロセスを実行してから実行モードを5に切り替えると、XFree86を非常にきれいに起動できます。この作業をする前に、XFree86での作業がすべて保存されたことを確認し、rootユーザーでログインしてください。$ /sbin /telinit 3 $ /sbin /telinit 5コマンドを入力すると、画面に起動または停止するサービスが表示されます。情報です。zh-CN"],null,[1],zh-TW"]]]

Copyright © Windowsの知識 All Rights Reserved