概要
Linuxシステムのブートには、さまざまなコンポーネントが関係しています。ハードウェアはBIOSにより初期化され、BIOSはブートローダでカーネルを起動します。それ以後は、オペレーティングシステムがinitとランレベルを含むブートプロセスを完全にコントロールします。ランレベルのコンセプトにより、日常使用のセットアップを保持できるほか、システム上でタスクを保守することもできます。
Linuxのブートプロセスは、いくつかの段階から成り、それぞれ別のコンポーネントが実行しています。次のリストに、主要なすべてのコンポーネントが関与するブートプロセスと機能を簡潔にまとめています。
BIOS. コンピュータの電源を入れた後、BIOSが画面とキーボードを初期化し、メインメモリをテストします。この段階まで、コンピュータは大容量ストレージメディアにアクセスしません。続いて、現在の日付、時刻、および最も重要な周辺機器に関する情報が、CMOS値からロードされます。最初のハードディスクとそのジオメトリが認識されると、システム制御がBIOSからブートローダに移ります。
ブートローダ. 最初のハードディスクの先頭の 512バイト物理データセクタがメインメモリにロードされ、このセクタの先頭に常駐するブートローダが起動します。ブートローダによって実行されたコマンドがブートプロセスの残りの部分を確定します。したがって、最初のハードディスクの先頭 512バイトのことをマスタブートレコード(MBR)といいます。次に、ブートローダは、実際のオペレーティングシステム(この場合はLinuxカーネル)に制御を渡します。GRUB(Linuxブートローダ)の詳細については、 第10章 ブートローダGRUBを参照してください。
カーネルとinitramfs.
システムに制御を渡すため、ブートローダは、カーネルとRAMベースの初期ファイルシステム(initramfs)をメモリにロードします。カーネルは、initramfsのコンテンツを直接使用できます。initramfsには、実際のルートファイルシステムのマウント処理を行うinitと呼ばれる小さな実行可能ファイルが含まれています。大容量ストレージにアクセスするために特別なハードウェアドライバが必要な場合、それらはinitramfs内になければなりません。initramfsの詳細については、 9.1.1項 「initramfs」を参照してください。
initramfs上のinit.
このプログラムは、適切なルートファイルシステムをマウントするために必要なすべてのアクションを実行します。たとえば、必要なファイルシステムにカーネル機能を提供したり、大容量ストレージコントローラ用のデバイスドライバにudevを提供します。ルートファイルシステムが見つかると、エラーをチェックしてからマウントします。これが正常に実行されれば、initramfsはクリアされ、ルートファイルシステムでinitプログラムが実行されます。initの詳細については、 9.1.2項 「initramfs上のinit」を参照してください。udevの詳細については、第13章 udevによる動的カーネルデバイス管理を参照してください。
init.
initは、いくつかの異なるレベルでシステムの実際のブートを処理し、さまざまな機能を提供しますinitについては、9.2項 「initプロセス」で説明されています。
initramfs¶
initramfsは、カーネルがRAMディスクにロードできる、小さなcpioアーカイブです。また、実際のルートファイルシステムがマウントされる前にプログラムを実行できるようにする最低限のLinux環境を提供します。この最小Linux環境は、BIOSルーチンによってメモリにロードされ、十分なメモリを必要とする以外、特定のハードウェア要件はありません。initramfsは、必ず、initという名前の実行可能ファイルを提供する必要があります。このファイルは、ルートファイルシステム上で実際のinitプログラムを実行することによりブートプロセスを進行させます。
ルートファイルシステムをマウントして実際のオペレーティングシステムを起動する前に、カーネルには、ルートファイルシステムが配置されているデバイスにアクセスするための対応ドライバが必要です。こうしたドライバには、特定のハードディスク用の特殊なドライバや、ネットワークファイルシステムにアクセスするためのネットワークドライバが含まれる場合もあります。ルートファイルシステムに必要なモジュールは、initramfs上のinitによってロードされます。モジュールをロードしたら、udevによって必要なデバイスがinitramfsに提供されます。ブートプロセス後半で、ルートファイルシステムが変更された後、デバイスを再生成する必要があります。これには、udevtriggerコマンドでboot.udevを実行します。
インストール済みのシステムのハードウェア(たとえば、ハードディスク)を変更する必要が生じ、このハードウェアはブート時にカーネル内に存在する他のドライバを必要とする場合には、initramfsを更新する必要があります。これは、initramfsの前身であるinitの場合と同様に、mkinitrdを呼び出して行うことができます。引数を付けずに mkinitrd を呼び出すと、initramfsが作成されます。mkinitrd -Rを呼び出すと、initが作成されます。SUSE® Linux Enterprise Desktopでは、ロードするモジュールは/etc/sysconfig/kernel内の変数INITRD_MODULESで指定されます。インストール後、この変数は自動的に正しい値に設定されます。モジュールは、INITRD_MODULESに指定されている順序で正確にロードされます。このことは、デバイスファイルの/dev/sd?の設定の正確性に依存している場合にのみ重要になります。ただし、現在のシステムで/dev/disk/ディレクトリ下にあるデバイスファイルを使用することもできます。これらのファイルは、by-id、by-path、およびby-uuidなどのサブディレクトリに分類されており、常に同じディスクを表します。これは、該当するマウントオプションの指定により、インストール時にも可能です。
![]() | initramfsまたは initの更新 |
|---|---|
ブートローダは、カーネルと同じように | |
initramfs上のinit¶
initramfs上のinitの主な目的は、実際のルートファイルシステムのマウントとアクセスの準備をすることです。システム設定に応じて、initは次のタスクを実行します。
ハードウェア設定によっては、使用するコンピュータのハードウェアコンポーネント(ハードディスクになる最も重要なコンポーネント)にアクセスするために特殊なドライバが必要になる場合があります。最終的なルートファイルシステムにアクセスするには、カーネルが適切なファイルシステムドライバをロードする必要があります。
ロードされるモジュールごとに、カーネルはデバイスイベントを生成します。udevは、これらのイベントを処理し、RAMファイルシステム上で必要なブロック特殊ファイルを/dev内に生成します。これらの特殊ファイルがないと、ファイルシステムや他のデバイスにアクセスできません。
RAIDまたはLVMの下でルートファイルシステムを保持するようにシステムを設定した場合、initはLVMまたはRAIDをセットアップして、後でルートファイルシステムにアクセスできるようにします。第12章 Advanced Disk Setup (↑導入ガイド)でRAIDとLVMに関する情報を参照してください。
ネットワークマウントしたルートファイルシステム(NFSを介してマウント)を使用するようにシステムを設定した場合、initは適切なネットワークドライバがロードされ、ドライバがルートファイルシステムにアクセスできるように設定されていることを確認する必要があります。
初期ブート時にインストールプロセスの一環としてinitが呼び出される場合、そのタスクは上記で説明したタスクと異なります。
インストールプロセスを開始すると、使用するコンピュータでは、YaSTインストーラでインストールカーネルと特殊なinitがインストールメディアからロードされます。RAMファイルシステムで実行されるYaSTインストーラには、インストールメディアにアクセスしてオペレーティングシステムをインストールするために、そのメディアの場所に関する情報が必要になります。
で説明しているように、ブートプロセスは、ほとんどのハードウェア設定で使用できる最小限のドライバセットで開始されます。initは、ハードウェア設定に適したドライバセットを確定する、初期ハードウェアスキャンプロセスを開始します。9.1.1項 「initramfs」ブートプロセスに必要なモジュール名は、/etc/sysconfig/kernelディレクトリ中のINITRD_MODULESに書き込まれます。これらの名前は、システムをブートするために必要なカスタムinitramfsを生成するために使用されます。ブートではなくcoldplugで必要なモジュールは、/etc/sysconfig/hardware/hwconfig-*ディレクトリに書き込まれます。ブートプロセス時には、このディレクトリ中の設定ファイルに記述されているすべてのデバイスが初期化されます。
ハードウェアが適切に認識されると、適切なドライバがただちにロードされ、udevは特殊なデバイスファイルを作成し、initは実際のYaSTインストーラでインストールシステムを起動するか、またはレスキューシステムを起動します。
最後に、initはYaSTを起動し、これによってパッケージのインストールとシステム設定が開始されます。
initプロセス¶
initプログラムは、プロセスIDが1のプロセスです。このプロセスでは、要求された方法でシステムの初期化を行います。initは直接カーネルから起動され、プロセスを強制終了するsignal 9で終了することはできません。他のすべてのプログラムは、initまたはその子プロセスの1つによって直接起動されます。
initは、/etc/inittabファイルで一元的に設定されます。ランレベルはこのファイルで定義されます(9.2.1項 「ランレベル」を参照)。このファイルはまた、各ランレベルで利用可能ななサービスとデーモンを指定しています。etc/inittabのエントリに応じて、initはいくつかのスクリプトを実行します。デフォルトでは、ブート後に最初に開始するスクリプトは、/etc/init.d/bootです。システムの初期設定が完了すると、/etc/init.d/rcスクリプトで、ランレベルがデフォルトのランレベルに変更されます。わかりやすくするために、これらのinitスクリプトと呼ばれるスクリプトはすべて、ディレクトリ/etc/init.dにあります(9.2.2項 「initスクリプト」を参照)。
システムの起動からシャットダウンまでのプロセス全体がinitによって保持されます。この見地から、カーネルは、他のプログラムからの要求に従って、他のすべてのプロセスを保持し、CPU時間とハードウェアアクセスを調整するバックグラウンドプロセスと考えることができます。
Linuxでは、ランレベルはシステムの起動方法および稼動中のシステムで使用可能なサービスを定義します。ブート後、システムは/etc/inittabのinitdefault行での定義に従って起動します。通常のランレベルは3または5です。参照先表9.1「ランレベルの種類」.別の方法として、ランレベルをブート時に(たとえばブートプロンプトにランレベル番号を追加する)指定することもできます。パラメータは、カーネル自体が直接評価するのもの以外はすべて、initに渡されます。ランレベル3にブートするには、ブートプロンプトに単一の番号3を追加します。
表9.1 ランレベルの種類¶
|
ランレベル |
説明 |
|---|---|
|
0 |
システム停止 |
|
Sまたは1 |
シングルユーザモード |
|
2 |
リモートネットワーク(NFSなど)なしのローカルマルチユーザモード |
|
3 |
ネットワークを使用するフルマルチユーザモード |
|
4 |
。管理者が設定しない限り使用されないランレベル。 |
|
5 |
ネットワークとXディスプレイマネージャのKDM、GDM、またはXDMを使用するフルマルチユーザモード |
|
6 |
システム再起動 |
![]() | パーティションがNFSマウントされている場合にはランレベル2は避ける |
|---|---|
システムでNFSを介して | |
システムの稼動中にランレベルを変更するには、telinitの後に、ランレベルに対応する番号を引数として入力します。これができるのは、システム管理者だけです。次のリストは、ランレベルに関連した最も重要なコマンドの概要です。
システムはシングルユーザモードに入ります。このモードは、システムメンテナンスや管理タスクで使用します。
(ネットワークを含む)すべての重要なプログラムとサービスが起動します。グラフィック環境はありませんが、一般ユーザは、システムにログインして作業することができます。
グラフィック環境は有効になります。通常、XDM、GDMまたはKDMなどのディスプレイマネージャが起動します。自動ログインが有効な場合、ローカルユーザは事前に選択されているウィンドウマネージャ(GNOME、KDEまたはその他のウィンドウマネージャ)にログインします。
システムは停止します。
システムは停止した後、再起動します。
ランレベル5は、すべてのSUSE Linux Enterprise Desktop標準インストールにおけるデフォルトのランレベルです。ユーザは、グラフィカルインタフェースでログインするように求められます。デフォルトユーザの場合は自動的にログインされます。
![]() | /etc/inittabのエラーのため、システムブートが失敗することがある |
|---|---|
| |
ランレベルを変更するときには、一般に2つの操作が行われます。1つは、現在のランレベルの停止スクリプトが起動し、現在のランレベルに必要なプログラムを終了します。次に、新しいランレベルの起動スクリプトが起動します。ここで、ほとんどの場合、プログラムがいくつか起動します。たとえば、ランレベルを3から5に変更する場合、次の操作が行われます。
管理者(root)がtelinit 5を入力して、initにランレベルを変更するように要求します。
initは現在のランレベル(runlevel)を調べ、新しいランレベルをパラメータとして/etc/init.d/rcを起動する必要があるかどうか判断します。
ここでrcは、現在のランレベルの停止スクリプトであって、新しいランレベルの起動スクリプトがないものを呼び出します。この例では、元のランレベルが3なので、/etc/init.d/rc 3.dの中のKで始まるすべてのスクリプトが対象となります。Kの次の番号は、stopパラメータを使ってスクリプトを実行する順番を示します(検討する必要がある依存関係が存在するため)。
最後に、新しいランレベルの起動スクリプトを起動します。この例では/etc/init.d/rc5.dの中のSで始まるスクリプトがそれにあたります。この場合も、Sの次の番号が、スクリプトの実行順序を表します。
現在のランレベルと同じランレベルに変更する場合、initは/etc/inittabで変更部分だけをチェックし、適切な手順を開始します。たとえば、別のインタフェースでgettyを起動します。telinit qコマンドを使用しても同じ操作を実行できます。
/etc/init.d内に、2種類のスクリプトがあります。
すべてのスクリプトは、/etc/init.dにあります。ブート時に実行されるスクリプトは、/etc/init.d/boot.dからのシンボリックリンク経由で呼び出されます。ランレベルを変更するスクリプトもサブディレクトリの1つからのシンボリックリンク(/etc/init.d/rc0.dから/etc/init.d/rc6.dへ)経由で呼び出されます。これは単にわかりやすくして、複数のランレベルで使用されている場合にスクリプトが重複するのを防ぐためです。すべてのスクリプトは、起動スクリプトとしても停止スクリプトとしても実行できるので、これらのスクリプトはパラメータのstartとstopを認識する必要があります。また、これらのスクリプトはrestart、reload、force-reload、およびstatusのオプションも認識します。これらのオプションについては、表9.2「initスクリプトのオプション」で説明します。initによって直接実行されるスクリプトには、これらのリンクはありません。こうしたスクリプトは、必要なときにランレベルとは無関係に実行されます。
表9.2 initスクリプトのオプション¶
|
オプション |
説明 |
|---|---|
|
|
サービスを起動します。 |
|
|
サービスを停止します。 |
|
|
サービスが実行中の場合は、停止して再起動します。実行中でない場合は、起動します。 |
|
|
サービスの停止や再起動をせずに、設定を再ロードします。 |
|
|
サービスが設定の再ロードをサポートする場合は、それを実行します。サポートしない場合は、 |
|
|
サービスの現在のステータスを表示します。 |
ランレベル固有のサブディレクトリにあるリンクによって、スクリプトを複数のランレベルに関連付けることができます。パッケージのインストールまたはアンインストール時に、プログラムinsservを使用して(またはこのプログラムを呼び出す/usr/lib/lsb/install_initdスクリプトを使用して)、このようなリンクを追加または削除することができます。詳細については、「 man 8 insserv」を参照してください。
これらの設定は、YaSTモジュールにより変更されることもあります。コマンドラインからステータスを確認するには、chkconfigツールを使用します。このツールについては、man 8 chkconfigのマニュアルページで説明されています。
次に、最初または最後に起動するブートスクリプトおよび停止スクリプトの概略を示すとともに、保守スクリプトについて説明します。
boot
initを直接使用してシステムの起動時に実行されます。選択したランレベルから独立で、一度だけ実行されます。これによって /proc ファイルシステムと/dev/ptsファイルシステムがマウントされ、blogd(ブートログ出力デーモン)が有効化されます。システムがアップデートまたはインストール後初めてブートされる場合、初期システム設定が起動します。
blogdデーモンは、bootおよびrcによって最初に起動されるサービスです。このサービスは、これらのスクリプトにより開始されたアクション(たとえば特殊なブロックファイルを利用可能にするなど、多数のサブスクリプトの実行)が完了すると停止します。blogdは、/varが読み書き可能でマウントされている場合にのみ、画面出力をログファイル/var/log/boot.msgに出力します。そうでない場合は、/varが利用できるようになるまで、blogdがすべての画面データをバッファします。 blogdの詳細情報を取得するには、man 8 blogdを使用します。
bootスクリプトは、/etc/init.d/boot.dの中のSで始まる名前のスクリプトもすべて起動します。そこで、ファイルシステムがチェックされ、必要に応じてループデバイスが設定されます。加えて、システム時間が設定されます。ファイルシステムの自動チェックや修復中にエラーが発生した場合、システム管理者はルートパスワードを入力して介入することができます。最後に実行されるスクリプトは、boot.localです。
boot.local
ブート時、ランレベルへの移行前に実行する追加コマンドを入力します。これは、DOSシステムのAUTOEXEC.BATに相当します。
halt
このスクリプトは、ランレベル0または6への移行時にのみ実行されます。initまたはinitのいずれかとして実行されます。システムがシャットダウンするかリブートするかは、haltの呼び出され方に依存します。シャットダウン時に特別なコマンドが必要な場合は、それらのコマンドをinitスクリプトに追加してください。
rc
このスクリプトは、現在のランレベルの適切な停止スクリプトと、新しく選択したランレベルの起動スクリプトを呼び出します。/etc/init.d/bootスクリプトと同様、このスクリプトは、目的のランレベルをパラメータとして使用して、/etc/inittabから呼び出します。
独自のスクリプトを作成して、先に説明したスキーマに容易に組み込むことができます。カスタムスクリプトの形式設定、名前付け、および構成方法については、LSBの仕様と、init、init.d、chkconfig、およびinsservのマニュアルページを参照してください。加えて、startprocおよびkillprocのマニュアルページも参照してください。
![]() | initスクリプトのエラーはシステムの停止につながる場合がある |
|---|---|
| |
所定のプログラムまたはサービス用のカスタムinitスクリプトを作成する場合は、テンプレートとしてファイル/etc/init.d/skeletonを使用します。このファイルのコピーを別名で保存し、必要に応じて、関連のプログラムやファイル名、パス、その他の詳細を編集します。場合によっては、initプロシージャで正しいアクションが開始されるように、独自の改良をスクリプトに加える必要があります。
最初に記載されているINIT INFOブロックはスクリプトの必須部分で、次のように編集する必要があります。詳細については、例9.1「最低限のINIT INFOブロック」を参照してください。
例9.1 最低限のINIT INFOブロック¶
### BEGIN INIT INFO # Provides: FOO # Required-Start: $syslog $remote_fs # Required-Stop: $syslog $remote_fs # Default-Start: 3 5 # Default-Stop: 0 1 2 6 # Description: Start FOO to allow XY and provide YZ ### END INIT INFO
INFOブロックの最初の行では、Provides:の後に、このinitスクリプトで制御するプログラムまたはサービスの名前を指定します。Required-Start:行とRequired-Stop:行では、サービス自体が停止しても実行中の状態を維持する必要のあるすべてのサービスを指定します。この情報は後で、ランレベルディレクトリに表示するスクリプト名に対し、番号を生成するために使用します。Default-Start:およびDefault-Stop:の後に、サービスが自動的に起動または停止する際のランレベルを指定します。最後に、Description:の下に、対象のサービスについての簡単な説明を記載します。
ランレベルディレクトリ(/etc/init.d/rc?.d/)から/etc/init.d/内の対応するスクリプトへのリンクを作成するには、コマンドinsserv new-script-nameを入力します。insservプログラムは、INIT INFOヘッダを評価して、ランレベルディレクトリ(/etc/init.d/rc?.d/)内の起動スクリプトと停止スクリプトに必要なリンクを作成します。このプログラムはまた、必要な番号をこれらのリンクの名前に取り込むことによって、ランレベルごとに正しい起動、停止の順序を管理します。グラフィックツールを使用してリンクを作成する場合は、9.2.3項 「YaSTでのシステムサービス(ランレベル)の設定」の説明に従って、YaSTのランレベルエディタを使用します。
/etc/init.d/にすでに存在するスクリプトを既存のランレベルスキーマに統合する場合は、はじめにinsservを使用するか、YaSTのランレベルエディタで対応するサービスを有効にすることにより、ランレベルディレクトリにリンクを作成します。変更内容は、次回のブート時に適用され、新しいサービスが自動的に起動します。
作成したリンクは手動で設定しないでください。INFOブロック内に誤りがある場合は、後で他のサービスに対してinsservを実行すると問題が生じます。手動で追加されたサービスは、このスクリプトに対するinsservの次回実行時に削除されます。
++の順に選択して、このYaST moduleを起動すると、利用可能なすべてのサービスの概要と、各サービスの現在のステータス(有効か無効か)が表示されます。モジュールをとのどちらで使用するかを決定します。ほとんどの場合、デフォルトので十分です。左の列にはサービスの名前、中央の列にはその現在のステータス、右の列には簡単な説明が表示されます。ウィンドウの下部には、選択したサービスについての詳細な説明が表示されます。サービスを有効にするには、表でそれを選択し、を選択します。同じ手順で、サービスを無効にできます。
サービスの起動または停止時のランレベルを詳細に制御する場合、またはデフォルトのランレベルを変更する場合は、最初にを選択します。上部には、現在のデフォルトのランレベル、つまり「initdefault」 (システムのブート時にデフォルトで入るランレベル)が表示されます。通常、SUSE Linux Enterprise Desktopシステムのデフォルトのランレベルは、5(ネットワークありフルマルチユーザモードおよびX)です。適切な代替の設定は、ランレベル3 (ネットワークありフルマルチユーザモード)です。
YaSTのダイアログボックスでは、ランレベルのいずれか1つを新しいデフォルトとして選択できます(表9.1「ランレベルの種類」を参照)。また、このウィンドウのテーブルを使用して、個々のサービスやデーモンを有効、無効にできます。テーブルには、利用可能なサービスとデーモンが一覧表示され、現在ご使用のシステム上で有効かどうか、有効な場合はそのランレベルが表示されます。マウスで行を選択し、ランレベルを表すチェックボックス(、、、、、、、)をクリックして、選択しているサービスまたはデーモンが実行されるランレベルを定義します。ランレベル4は、カスタムランレベルを作成できるように未定義になっています。最後に現在選択しているサービスまたはデーモンの簡単な説明が、テーブルの概要の下に表示されます。
![]() | ランレベルの設定を誤るとシステムに害が及ぶことがある |
|---|---|
ランレベルの設定が誤っていると、システムを使用できなくなることがあります。変更を実際に適用する前に、どういう結果が出るかをよく確認してください。 | |
[スタート]、[中止]、または[更新]をクリックして、サービスを有効化するかどうかを決定します。現在の状態が自動的に確認されなかった場合は、を使用して確認することができます。[設定]または[リセット]をクリックすると、変更をシステムに適用するか、ランレベルエディタの起動前に存在していた設定を復元するかを選択できます。を選択すると、設定の変更がディスクに保存されます。
/etc/sysconfigによるシステム設定¶
SUSE Linux Enterprise Desktopの主な設定は、/etc/sysconfigに格納されている設定ファイルで指定できます。/etc/sysconfigディレクトリの個々のファイルは、それらが関係するスクリプトによってのみ読み込まれます。これにより、たとえば、ネットワークはネットワーク関連のスクリプトでのみ解析されるようになります。
システム設定を編集するには、2通りの方法があります。YaSTのsysconfigエディターを使う方法と、設定ファイルを手動で編集する方法です。
YaSTのsysconfigエディタは、使いやすい、システム設定のフロントエンドです。変更する必要のある設定用変数の実際の場所がわからなくても、このモジュールに内蔵された検索機能を使うだけで、必要に応じて設定用変数の値を変更できます。また、これらの変更の適用、sysconfigで設定されている値に基づく設定の更新、サービスの再起動は、YaSTが行います。
![]() | /etc/sysconfig/*ファイルの変更はインストールに害を及ぼすことがある |
|---|---|
知識や経験が豊富でない限り、 | |
YaSTのsysconfigダイアログは、3つの部分に分かれています。ダイアログの左側には、すべての設定変数がツリー表示されます。変数を選択した段階で、右側に現在選択されている変数と、この変数の現在の設定が表示されます。その下の3番目のウィンドウには、変数の目的、有効な値、デフォルト値、およびこの変数が設定されている実際の設定ファイルについての簡単な説明が表示されます。このダイアログボックスには、変数の変更後に実行された設定スクリプトや、変更の結果起動された新しいサービスについての情報も表示されます。YaSTにより変更の確認が求められ、を選択してダイアログを終了した後にどのスクリプトが実行されるかが通知されます。現在は実行しないサービスやスクリプトを選択すると、それらが後で実行されます。YaSTはすべての変更を自動的に適用し、変更と関係のあるすべてのサービスをリスタートします。
システム設定を手動で変更するには、以下の手順に従います。
rootになります。
telinit 1コマンドで、システムをシングルユーザモード(ランレベル 1)にします。
必要に応じて、設定ファイルを、自分が使っているエディタで変更します。
/etc/sysconfigの設定ファイルの変更にYaSTを使用しない場合、空の変数値は2つの引用符(KEYTABLE="")によって表し、空白を含む値ヘ引用符で囲むことに注意してください。語の値は、引用符で囲む必要はありません。
SuSEconfigを実行して、変更が有効になっていることを確認します。
telinit default_runlevelなどのコマンドで、システムを以前のランレベルに戻します。default_runlevelの部分は、システムのデフォルトのランレベルで置き換えてください。ネットワークとXのあるフルマルチユーザモードに戻るには5を、ネットワークのあるフルマルチユーザで作業するには3を選択します。
この手順は主に、ネットワーク設定など、システム全体の設定を変更する場合に必要です。小さな変更であれば、シングルユーザモードに移行する必要はありませんが、関与するすべてのプログラムが正しく再起動することを絶対的に保証する必要がある場合は、移行しても差し支えありません。
![]() | 自動システム設定機能の設定 |
|---|---|
SuSEconfigの自動システム設定機能を無効にするには、 | |