この章では、各種の潜在的な問題点と、それに対する解決策を示しています。 ここに記載されているとおりの状況でない場合でも、問題を解決するための糸口に なるものと考えております。
Linux では様々な方法で事象を報告します。お使いのシステムで問題が発生したとき、
いくつかの情報を確認する必要がありますが、これらのうちのほとんどは一般的な
Linux の標準に準拠した場所にあります。ただ、残りのいくつかは openSUSE
システム固有の場所に配置されます。最も重要な情報は、それぞれ
/var/log/boot.msg と
/var/log/messages に書かれている情報です。
下記にはよく確認しておくべきログファイルの一覧と、そのログファイルの
一般的な用途を示しています。なお、パスに ~ が含まれて
いる場合は、ログインしているユーザのホームディレクトリを示しています。
表9.1 ログファイル¶
|
ログファイル |
説明 |
|---|---|
|
|
現在実行中のデスクトップアプリケーションからのメッセージが 記録されます。 |
|
|
AppArmor のログファイルです。詳しくは パート 「Novell AppArmor を利用した権利制限」 (↑セキュリティガイド) をお読みください。 |
|
|
起動処理時にカーネルが報告したメッセージを記録しています。 |
|
|
メールシステムからのメッセージが記録されています。 |
|
|
システム稼働中に随時記録されるログファイルで、カーネルやシステムが 出力するメッセージを記録しています。 |
|
|
NetworkManager のメッセージを記録しているもので、ネットワークの接続まわりの 問題を収集しています。 |
|
|
Samba サーバとクライアントのログメッセージを記録しているディレクトリです。 |
|
|
SaX ディスプレイと KVM システムが出力した、 ハードウエアメッセージを記録しています。 |
|
|
システム稼働中に随時記録されるログファイルで、カーネルやシステムが 出力するメッセージのうち、 「warning」 レベル以上のものを 記録しています。 |
|
|
ユーザのログイン状況を記録している、バイナリ形式のファイルです。 last で閲覧することができます。 |
|
|
X ウインドウシステムが出力する、様々な起動および実行中のメッセージを 記録するファイルです。 X システムの起動に失敗する際、デバッグ目的で 利用することができます。 |
|
|
YaST の動作とその結果を記録するディレクトリです。 |
|
|
zypper のログファイルです。 |
ログファイル以外にも、実行中のシステムでマシンの情報を収集する方法があります。
詳しくは
表 9.2: /proc ファイルシステム内にあるシステムの情報
をお読みください。
表9.2 /proc ファイルシステム内にあるシステムの情報¶
|
ファイル |
説明 |
|---|---|
|
|
プロセッサの種類や製造元、モデルや性能情報を出力することができる ファイルです。 |
|
|
現在使用中の DMA チャネルを出力することができるファイルです。 |
|
|
どの割り込みが使用中で、その割り込みがどれだけ使用されたのかを 出力することができるファイルです。 |
|
|
I/O (入出力) メモリの状態を出力することができるファイルです。 |
|
|
その時点で使用中の I/O ポートを出力することができるファイルです。 |
|
|
メモリの状態を出力することができるファイルです。 |
|
|
個別のカーネルモジュールを出力することができるファイルです。 |
|
|
現在マウント中のデバイス情報を出力することができるファイルです。 |
|
|
全ハードディスク内のパーティション情報を出力することができるファイルです。 |
|
|
現在稼働中の Linux バージョンを出力することができるファイルです。 |
/proc ファイルシステムに加え、 Linux カーネルでは
メモリ内ファイルシステムである sysfs モジュールで、
さらなる情報を提供しています。モジュールとはカーネルオブジェクトを表わす
もので、モジュールには属性や依存関係なども存在しています。
sysfs について、詳しくは 第 1 章 udev による動的なカーネルデバイス管理 (↑リファレンス)
にある udev のコンテキストに関する情報をお読みください。
また 表 9.3
には、 /sys 以下にあってよく使用されるディレクトリ
やファイルについて、説明を行なっています。
表9.3 /sys ファイルシステム内にあるシステムの情報¶
|
ファイル |
説明 |
|---|---|
|
|
システムが検出した各ブロックデバイスについて、それぞれ サブディレクトリが作成されるディレクトリです。一般にディスク形式 のデバイスが表示されます。 |
|
|
物理バスの種類ごとにサブディレクトリが作成されるディレクトリです。 |
|
|
デバイスの機能を種類 (たとえばグラフィック、ネット、プリンタなど) ごとに、グループ化された形でサブディレクトリが作成されるディレクトリです。 |
|
|
デバイスを階層構造で表わすディレクトリです。 |
Linux にはシステムの分析や監視を行なうための様々なツールが存在します。 システムの分析を行なうにあたって最も重要なツールの選定については、 第 1 章 システム監視ユーティリティ (↑リファレンス) をお読みください。
また、下記に示すそれぞれの項目では、まず問題点の概要を示すタイトルが 書かれていて、それに続いて 1 つ以上の解決方法の候補や、詳細な解決方法を 示す参照先、もしくは関連すると考えられる他のシナリオへの参照などを 記述しています。
インストールの問題は、マシンに対してインストールがうまくいかない場合の 問題です。これは全く動作しないか、グラフィカルなインストーラが動作 しないかのいずれかが考えられます。この章では、おそらく直面するであろう 典型的な問題を列挙し、それらに対する解決方法や回避方法を示しています。
openSUSE のインストールメディアを利用している際に何らかの問題に 直面した場合は、まずインストールメディアの確認を行なってください。 この作業を行なうには、インストールメディアから起動したあと、起動メニュー から を選択します。 起動中のシステムから行なう場合は、 YaST を起動して + を選択します。 メディアの問題は、ご自身でメディアへの書き込みを行なった場合によく 発生します。問題を回避するには、遅い速度 (4x など) での書き込みを 行なってください。
YaST を起動して + を選択すると、 検出されたハードウエアとその技術データが表示されます。 デバイスに関して詳しい情報を得るには、マウスなどでそれらのツリーを 開いてください。このモジュールは、たとえばお使いのハードウエアについて サポートが情報を要求したような場合にとても便利です。
なお、表示されているハードウエア情報は を押すことでファイルに保存することができます。保存先のディレクトリと ファイル名を選択/入力し、 (保存) を押すと ファイルに書き込みが行なわれます。
お使いのコンピュータに起動可能な DVD-ROM ドライブが存在しなかったり、 Linux ではサポートしていないドライブであったりした場合は、内蔵の DVD ドライブを使用せずにインストールを行なうための方法があります:
お使いのコンピュータの BIOS と Linux カーネルで対応していれば、 外付けデバイスや USB デバイスからインストールを行なうことができます。
お使いのマシンに DVD ドライブが存在しない代わりに利用可能な イーサネット接続が存在する場合は、ネットワークからのインストールを 行なうこともできます。詳しくは 項 「VNC を利用したリモートインストール (PXE ブートと Wake on LAN を使用)」 (第1章 リモートインストール, ↑リファレンス) と 項 「SSH を利用したリモートインストール (PXE ブートと Wake on LAN を使用)」 (第1章 リモートインストール, ↑リファレンス) をそれぞれお読みください。
Linux では多くの DVD ドライブに対応しています。お使いのシステムに内蔵の DVD ドライブやフロッピィディスクがない場合は、 USB, FireWire (IEEE1394), SCSI などの外付け DVD ドライブを使用することもできます。なお、この方法での 起動は BIOS 側とハードウエア側の両方で対応が必要です。また、何らかの問題が 発生した場合は、 BIOS の更新が必要となる場合もあります。
KDE や GNOME のライブ CD からインストールを行なう場合は、起動を行なうための 「ライブ USB メモリ」 を作成することもできます。 詳しい手順については、 http://ja.opensuse.org/Live_USB_stick をお読みください。
お使いのコンピュータでインストールメディアからの起動ができない理由として 考えられるのは、 BIOS の起動順序の設定です。 BIOS の起動順序内で、 DVD ドライブを最初に起動するデバイスとして設定しなければなりません。それ以外の 場合は他のメディア、たとえばハードディスクからの起動を先に試す結果になって しまいます。 BIOS での起動順序の変更手順は、お使いのマザーボードに添付 されているマニュアルをお読みになるか、下記の手順をお読みください。
BIOS はコンピュータにおける最も基本的な機能を有効化するためのソフトウエア です。マザーボードの製造元は、そのハードウエアに特化した形の BIOS を作成し 提供します。通常、 BIOS の設定 (セットアップ) はマシンの起動直後など、 ある一定時間内にのみアクセスすることができます。この起動直後の段階 では、マシンは様々なハードウエア診断テストを実施します。そのうちの 1 つが メモリチェックで、カウンタのように数値が上がっていく表示を行ないます。 カウンタが現われたタイミングで、そのカウンタの下や画面の最下部などに BIOS セットアップにアクセスするためのキー押下表示が現われるはずです。 通常は Del, F1, Esc のいずれかのキーを押下するようメッセージが表示されるはずです。 そこで表示されたキーを押すと、 BIOS 設定画面が表示されます。
手順9.1 BIOS の起動順序の変更¶
起動画面に表示された適切なキーを押したら、 BIOS 設定画面が表示される までしばらく待ちます。
AWARD BIOS で起動順序を変更するには、 (BIOS 機能設定) を選択してください。その他の製造元の場合は、 など製造元によって異なる表示が 行なわれます。カーソルキーでカーソルを移動し、 Enter キーで選択してください。
画面が表示されたら、 または
(起動順序) の項目を確認します。起動順序は、
C,A や A,C のように書かれています。
たとえば C,A は、最初にハードディスク (C) からの起動を
試し、ハードディスクから起動できなければフロッピィディスク (A) からの起動を
試すという流れを示しています。 PgUp や PgDown
などのキーを押して、 A,CDROM,C のような設定にしてください。
Esc を押して BIOS 設定メニューに戻ります。 設定した内容を保存するには、 を 選択するか、もしくは F10 を押してください。 確認メッセージに Y と回答すると保存が行なわれます。
手順9.2 SCSI BIOS での起動順序の変更 (Adaptec ホストアダプタの場合)
まずはセットアップ画面を開き、 Ctrl+A を押します。
を選択すると、接続されているハードウエア コンポーネントが表示されます。
ここでお使いの DVD ドライブの SCSI ID を覚えておきます。
Esc を押してメニューを抜けます。
ここから を選択します。 内にある を選び、 Enter を押します。
DVD ドライブの SCSI ID を入力し、再度 Enter を押します。
Esc を 2 回押して最初の SCSI BIOS 画面に戻ります。
画面を終了し、 を押してコンピュータを再起動します。
なお、インストール時に設定する言語やキーボードレイアウトとは異なり、 BIOS 設定では常に英語キーボードのレイアウトで作業を行ないます。 下記にレイアウトを図示します:
たとえばとても古いハードウエアやとても新しいハードウエアなどの場合、 構成によってはインストールに失敗する場合があります。多くの場合、その 種類のハードウエアがインストールに使用するカーネルでサポートしていない ものであったり、 ACPI などのカーネル内にある特定の機能が、特定の ハードウエアとの組み合わせでうまく動作しなくなる不具合が存在していたり することが考えられます。
最初の起動画面で通常の を選択した場合に うまく動作しない場合は、下記をお試しください:
DVD がドライブ内に存在している場合は、 Ctrl-Alt-Del を押すか、もしくは ハードウエア側のリセットボタンを押して再起動します。
起動画面が現われたら F5 を押し、カーソルキーを利用して を選択してください。 あとは Enter を押してシステムの起動と インストールを開始してください。 これにより、 ACPI による電源管理技術を使用しないようになります。
あとは 第1章 YaST を利用したインストール に示されている手順でインストールを 行なってください。
上記の手順でもうまくいかない場合は、 を お試しください。この選択では ACPI と DMA のサポートを無効化します。この選択を 行なえば、ほとんど全てのハードウエアで問題なく起動するはずです。
これらのオプションのどれを選択してもうまく行かない場合は、インストール用
のカーネルに対して、この種類のハードウエアに対応させるための追加パラメータ
を追加してみてください。利用可能な起動パラメータの一覧については、
/usr/src/linux/Documentation/kernel-parameters.txt
(英語) にあるカーネル文書をお読みください。
![]() | カーネル文書の取得 |
|---|---|
カーネル文書をお読みになる場合は、
| |
また、インストール用の起動画面では、それぞれ下記の ACPI 関連の カーネルパラメータを設定することができます:
acpi=off
このパラメータを設定すると、お使いのコンピュータで ACPI のサブシステム を完全に無効化します。お使いのコンピュータで ACPI を全く処理でき なかったり、 ACPI によって何らかの問題が発生していたりする場合に便利な 機能です。
acpi=force
お使いのコンピュータに 2000 年以前の日付が付いた古い BIOS が搭載されて
いても、常に ACPI を有効化します。このパラメータは、
acpi=off を設定した場合でも動作します。
acpi=noirq
IRQ の経路制御 (ルーティング) に ACPI を使用しないように指定します。
acpi=ht
ハイパースレッディングを有効化する際にのみ ACPI を使用するよう指定します。
acpi=strict
厳密に ACPI 仕様に対応したプラットフォームであるものと指定し、 特定の環境向けの回避策を無効化します。
pci=noacpi
新しい ACPI システムでの PCI IRQ 経路制御 (ルーティング) を無効化します。
pnpacpi=off
お使いの BIOS 設定に誤った割り込みやポートが存在する環境で、 シリアルやパラレルポートの問題を回避するために指定します。
notsc
タイムスタンプカウンタを無効化します。この回避策は、お使いのシステムで 時間関連の問題があった場合に設定してください。これは新しい機能で、 お使いのシステムに時間の後戻りが発生したり、完全にハングアップしてしまう ような問題が発生したりした場合に試す価値があります。
nohz=off
nohz 機能を無効化します。マシンがハングアップしてしまうような場合には 試す価値があるものです。それ以外の場合には使用しないでください。
いったんうまく動作するパラメータの組み合わせを見つけると、 YaST は 次回以降もシステムが正しく起動するよう、ブートローダの設定にそれらを 書き込むような仕組みになっています。
また、カーネルの読み込み時やインストール時に何もエラーが出力されない タイプのエラーが発生した場合は、起動メニューで を選び、メモリのテストを行なってください。 でエラーが発生した場合は、ハードウエア側に何らかの問題があることを示しています。
メディアをドライブに入れてマシンを再起動すると、しばらくして起動 画面が表示されますが、その後 を選択しても グラフィカルなインストーラが起動しない場合があります。
この問題に対しては、いくつかの回避策があります:
インストール画面で異なる解像度を選択してみてください。
インストール画面で を 選択してみてください。
VNC 経由でグラフィカルなインストーラを利用したインストールを 行なってみてください。
手順9.3 インストール時の解像度の変更¶
まずは起動画面までの手順を行ないます。
F3 を押し、表示されたメニューからインストール 時に使用するより低い解像度を選択します。
あとは を選択し、 第1章 YaST を利用したインストール に書かれた手順でインストールを 行ないます。
手順9.4 テキストモードでのインストール¶
まずは起動画面までの手順を行ないます。
F3 を押し、表示されたメニューから を選択します。
あとは を選択し、 第1章 YaST を利用したインストール に書かれた手順でインストールを 行ないます。
手順9.5 VNC を利用したインストール¶
まずは起動画面までの手順を行ないます。
起動画面では、下記を入力してオプション指定を行ないます:
vnc=1 vncpassword=パスワード
ここで、 パスワード にはインストール時に
VNC 接続を行なうのに使用するパスワードを設定します。
あとは を選択し、 第1章 YaST を利用したインストール に書かれた手順でインストールを 行ないます。
上記までの作業を行なうと、グラフィカルなインストーラが起動する代わりに テキストモードの状態のままシステムが停止します。画面には VNC ビューア やブラウザからアクセスできる IP アドレスとポート番号が表示されます。
インストーラへの接続にブラウザをご利用の場合は、まずはブラウザを起動 してください。その後 openSUSE をインストールしたいマシンに表示 された情報を入力して接続を行ない、 Enter を押します:
http://ターゲットマシンの IP アドレス:5801するとブラウザウインドウ内で VNC が起動し、パスワードを尋ねられます。 起動画面で設定したパスワードを入力したあとは、 第1章 YaST を利用したインストール の手順でインストールを行なってください。
![]() | |
VNC 経由でのインストールは、任意のオペレーティングシステムと 任意のブラウザの組み合わせで動作します。ただしブラウザは、 Java に対応している必要があります。 | |
お使いの VNC ビューアを利用してそれぞれ IP アドレスとパスワードを 入力してください。入力が完了するとインストールダイアログが表示される ようになります。あとは通常どおりのインストールを行なってください。
メディアをドライブに入れてマシンを再起動すると、しばらくして起動画面が 表示されますが、グラフィカルな画面ではなくテキストベースの インターフェイスが表示されてしまう場合があります。これは主に、 グラフィカルな起動画面を描画するのに必要なグラフィックメモリが不足して いることによって発生します。
テキストベースの起動画面は最小限の機能しか備えていないように見えますが、 グラフィカルなものとほとんど同じ機能を提供しています:
グラフィカルなインターフェイスとは異なり、お使いのキーボードにある カーソルキーでは起動オプションを選択することができません。テキスト モードの起動画面では、起動プロンプトへのキー入力だけを行なうことが できます。これらのキーワードはグラフィカルな起動画面に表示される キーワードと同じです。 「install」 がインストール、 「repair」 が インストール済みのシステムを修復、 「rescue」 が レスキューシステム、 「mediachk」 がメディアチェック、 「memtest」 がメモリテストにそれぞれ割り当てられています。 入力を行なったら Enter を押すと、 起動処理が始まります。
起動オプションの後ろには、 9.2.5項 「起動に失敗する問題」 に示されているカスタムな 起動オプションを追加することができます。インストール処理を行なうには、 最後に Enter を押してください。
また、ファンクションキーを利用して画面の解像度を設定することができます。 その後のインストール作業をテキストモードで実行するには、 F3 を押してください。
起動時の問題とは、お使いのシステムが正しく起動しない状況のことを 指しています (期待したランレベルの動作や、ログイン画面の問題では ありません) 。
ハードウエアが正しく動作している場合は、ブートローダが壊れていて Linux を起動することができないことを示しています。 この場合は、ブートローダを再インストールする必要があります。 ブートローダを再インストールするには、下記の手順を行なってください:
ドライブにインストールメディアを挿入します。
コンピュータを再起動します。
起動メニューでは を選択します。
言語を選択します。
ライセンス同意を受け入れます。
の画面では、 を選んでから を選択します。
YaST システム修復モジュールが起動します。ここから を選択し、 を 選びます。
元の設定を復元し、ブートローダを再インストールします。
YaST のシステム修復を終了し、システムを再起動します。
マシンが起動しない理由としては、 BIOS 関連の問題も考えられます:
お使いのハードディスクドライブ向けの BIOS 設定をご確認ください。 GRUB では単純に、 BIOS からハードディスクを検出できない場合に 開始できなくなります。
お使いのシステムにおける起動順序で、ハードディスクがどこに位置して いるのかをご確認ください。ハードディスクからの起動が有効になっていない 場合インストールには成功しますが、ハードディスクからの起動を行なう ことができず、起動に失敗します。
マシンは起動できるものの、グラフィカルなログインマネージャが現われない
場合は、既定のランレベルの設定が間違っているか、もしくは X ウインドウ
システムの設定に問題があるのかのいずれかであると考えられます。
まずはランレベルの設定を確認するには
root ユーザでログインし、
そのマシンが起動後にランレベル 5 (グラフィカルなデスクトップ) になる
よう設定されているかどうかを確認してください。最もシンプルに確認する
には、下記のように入力して /etc/inittab の内容を
表示させます:
tux@mercury:~> grep "id:" /etc/inittab id:5:initdefault:
上記の例では、既定のランレベル (initdefault) が
5 になっているため、グラフィカルなデスクトップを
表示するように設定されていることがわかります。ランレベルが上記以外の
数字になっている場合は、 YaST ランレベルエディタモジュールを使用して
5 に設定してください。
![]() | |
上記のファイルを直接編集することでランレベルの設定変更を行なうことは
避けてください。 SuSEconfig (YaST から実行されます) が起動すると、
これらのファイルを上書きしてしまうためです。直接編集を行ないたい
場合は、あらかじめ SuSEconfig による上書きを禁止するよう、
| |
ランレベルが 5 に設定されていてもグラフィカルな
デスクトップが表示されない場合は、設定が誤っているか X ウインドウシステムの
ソフトウエアが壊れている可能性があります。 /var/log/Xorg.*.log
にあるログファイルを確認し、 X サーバを起動しようとしたときに出力された
詳細なメッセージをお読みください。また、起動時の失敗については
/var/log/messages に記録されている場合もあります。
これらに書かれたエラーメッセージは、いずれも X サーバ設定の問題解決への
ヒントとなるものですので、これらを利用して解決を試みてください。それでも
グラフィカルシステムが起動できない場合は、グラフィカルデスクトップ関連の
パッケージを再インストールしてみてください。
![]() | X ウインドウシステムの手動起動 |
|---|---|
このような簡易テストも行なえます: テキストコンソールからログイン している場合、 startx コマンドを実行すると設定された 既定値で X ウインドウシステムを起動します。これがうまく行かない場合は コンソールにエラーメッセージが表示されます。 | |
ログイン問題とは、お使いのシステムは問題なく起動して「ようこそ」画面や ログインプロンプトが現われるものの、正しいユーザ名とパスワードが受け入れ られなかったり、受け入れられても正しく動作しなかったりする (グラフィカルな デスクトップが起動しない、エラーが表示される、コマンドラインに落ちてしまう など) ことを指します。
この問題は、一般にネットワーク認証やディレクトリサービスが設定された
環境で発生するもので、設定されたサーバから何らかの理由で結果を取得
できない場合に起こります。このような場合でも、システムに唯一作成された
ユーザである root であれば、
ログインを行なうことができます。マシンが正しく動作しているように見えるのに
ログインを正しく処理できない原因としては、下記のようなことが考えられます:
ネットワークが動作していない。詳しい調査方法は 9.5項 「ネットワーク関連の問題」 をお読みください。
その時点で DNS が動作していない (GNOME や KDE の動作を阻害し、 サーバからの要求が処理できなくなります) 。これが原因である場合 は、何の処理を行なう場合であっても長い時間がかかるような現象が発生 します。このような問題については、 9.5項 「ネットワーク関連の問題」 をお読みください。
システムで Kerberos を使用するように設定している場合は、システムの ローカル時刻と Kerberos サーバの時刻が一定以上 (一般に 300 秒) ずれていて、ローカル時刻のほうが古い (過去の) 時刻になっている原因が 考えられます。 NTP (Network Time Protocol) が正しく動作して いなかったり、ローカルの NTP サーバが動作していなかったりした場合は、 Kerberos 認証はネットワークを介した時刻同期に依存しているため、 正しく機能しなくなります。
また、システムの認証設定が誤って設定されている場合も考えられます。 PAM の設定ファイルに誤字や脱字があったり、ディレクティブの順序が 間違っていたりしていないかどうかをご確認ください。 PAM に関する 追加の背景情報や設定ファイルの書式については、 第 1 章 Authentication with PAM (↑セキュリティガイド) をお読みください。
さらに、ホームディレクトリのパーティションが暗号化されている場合も 考えられます。このトピックについて、詳しくは 9.4.3項 「暗号化したホームディレクトリへのログインに失敗する問題」 をお読みください。
外部のネットワーク問題を除く全ての問題を解決するには、システムを再起動 してシングルユーザモードに移行し、設定を書き換えてからもう一度再起動を 行なってください。これにより問題なくログインできるようになります。 シングルユーザモードに移行するには下記の手順で行ないます:
これは様々な理由で発生する問題であるため、とても多く直面する問題です。 ローカルでユーザ管理を行なっているのか、それともネットワーク認証を設定 しているのかによって、ログインの失敗原因が異なります。
ローカルでユーザを管理している場合、下記の理由で失敗することが考えられます:
入力したパスワードが誤っている。
ユーザのホームディレクトリに含まれるデスクトップの設定ファイルが 壊れているか、もしくは書き込み禁止になっている。
X ウインドウシステムを利用していて、かつ特定のユーザでのみ発生する 問題である場合、現在の Linux ディストリビューションをインストールする 前に他のディストリビューションをインストールしていて、該当ユーザの ホームディレクトリに古い設定が残っている。
ローカルでユーザを管理していてログインが失敗する場合、下記の手順で原因を判別してください:
まずは全体の認証メカニズムについてデバッグを行なう前に、記憶している パスワードが間違っていないことを確認してください。ユーザがパスワードを 正しく覚えていない場合は、 YaST のユーザ管理モジュールを利用して、 そのユーザの パスワードを新しく設定してください。なお、 パスワード入力際には Caps Lock キーが押されているか どうか、よくご確認ください。
root でログインを行ない、
ログイン処理と PAM に何かエラーが出ていないか、
/var/log/messages を読んで確認してください。
Ctrl+Alt+F1 を押してコンソールに移動し、ログインを試してみてください。 これで問題なくログインできるようであれば、このマシンでの認証処理は 問題なく動作していることになるため、 PAM には問題がないことが判明 します。 X ウインドウシステムやデスクトップ (GNOME または KDE) の 原因を探ってみてください。詳しくは 9.4.4項 「ログインは成功するが、 GNOME デスクトップが正しく表示されない問題」 および 9.4.5項 「ログインは成功するが、 KDE デスクトップが表示されない問題」 をお読みください。
ユーザのホームディレクトリが、過去に他の Linux ディストリビューション
で利用していたものの場合は、ユーザのホームディレクトリ内にある
Xauthority ファイルを削除してください。
Ctrl+Alt+F1
を押してコンソールに移動し、対象のユーザでログインを行なって
rm .Xauthority を実行してください。
これにより X の認証問題は解決したことになります。
Ctrl+Alt+F7
を押して、再度グラフィカルなログインをお試しください。
これでもグラフィカルなログインがうまくいかない場合は、まず Ctrl+Alt+F1
を押してコンソールからログインを行なってください。
その後、新しいディスプレイ番号を指定して X セッションを起動します。
たとえば通常のグラフィカルログイン画面では (:0)
を利用して表示しているため、下記のようにして別のディスプレイ番号を
指定して起動します:
startx -- :1
上記を実行すると、グラフィカルな画面とデスクトップが表示されるはずです。
表示されない場合は、 X ウインドウシステムのログファイル
(/var/log/Xorg.)
か、もしくはお使いのデスクトップアプリケーションのログファイル
(ホームディレクトリ内の ディスプレイ番号.log.xsession-errors)
をお読みになり、問題点を把握してください。
設定ファイルが壊れてしまったことによってデスクトップが起動できない場合は、 9.4.4項 「ログインは成功するが、 GNOME デスクトップが正しく表示されない問題」 または 9.4.5項 「ログインは成功するが、 KDE デスクトップが表示されない問題」 の手順に従ってください。
ネットワーク認証を設定している環境で特定のユーザ/特定のマシンでだけ ログインに失敗する場合は、下記の理由が考えられます:
入力したパスワードが誤っている。
同じユーザ名のユーザがローカルの認証ファイルに存在していて、 ネットワーク認証システムが提供するものと重複している。
ホームディレクトリが存在しているものの、壊れているか利用できない。 書き込みが禁止されているか、サーバからアクセスできない。
認証システム側の設定により、特定のホストとユーザの組み合わせで ログインが禁止されている。
マシンのホスト名を何らかの理由で変更したが、ユーザはそのホストに 対するログイン権利を与えられていない。
そのマシンから、ユーザの情報が含まれている認証サーバやディレクトリ サーバにアクセスできない。
X ウインドウシステムを利用していて、かつ特定のユーザでのみ発生する 問題である場合、現在の Linux ディストリビューションをインストールする 前に他のディストリビューションをインストールしていて、該当ユーザの ホームディレクトリに古い設定が残っている。
ネットワーク認証でログインが失敗する場合、下記の手順で原因を判別してください:
まずは全体の認証メカニズムについてデバッグを行なう前に、記憶している パスワードが間違っていないことを確認してください。
そのマシンが認証に使用しているディレクトリサーバがどのホストである のかを確認し、そのホストが正しく動作していて、他のマシンでの認証が 問題なく動作していることを確認してください。
ユーザのユーザ名とパスワードを確認し、他のマシンでもその認証データが 存在し、配布されていることを確認してください。
うまく動作しないほうのマシンに対して、他のユーザがログインできるか
どうかを確認してください。他のユーザで問題なくログインできる場合や、
root でログインできる場合は、
ログインを行なって /var/log/messages ファイルを
お読みください。 PAM で何らかのエラーが発生した場合は、それを実施した
時刻のタイムスタンプでエラーメッセージが記録されているはずです。
Ctrl+Alt+F1 を押してコンソールに移動し、ログインを試してみてください。 これで問題なくログインできるようであれば、このマシンでの認証処理は 問題なく動作していることになるため、 PAM やディレクトリサーバには問題が ないことが判明します。 X ウインドウシステムやデスクトップ (GNOME または KDE) の原因を探ってみてください。詳しくは 9.4.4項 「ログインは成功するが、 GNOME デスクトップが正しく表示されない問題」 および 9.4.5項 「ログインは成功するが、 KDE デスクトップが表示されない問題」 をお読みください。
ユーザのホームディレクトリが、過去に他の Linux ディストリビューション
で利用していたものの場合は、ユーザのホームディレクトリ内にある
Xauthority ファイルを削除してください。
Ctrl+Alt+F1
を押してコンソールに移動し、対象のユーザでログインを行なって
rm .Xauthority を実行してください。
これにより X の認証問題は解決したことになります。
Ctrl+Alt+F7
を押して、再度グラフィカルなログインをお試しください。
これでもグラフィカルなログインがうまくいかない場合は、まず Ctrl+Alt+F1
を押してコンソールからログインを行なってください。
その後、新しいディスプレイ番号を指定して X セッションを起動します。
たとえば通常のグラフィカルログイン画面では (:0)
を利用して表示しているため、下記のようにして別のディスプレイ番号を
指定して起動します:
startx -- :1
上記を実行すると、グラフィカルな画面とデスクトップが表示されるはずです。
表示されない場合は、 X ウインドウシステムのログファイル
(/var/log/Xorg.)
か、もしくはお使いのデスクトップアプリケーションのログファイル
(ホームディレクトリ内の ディスプレイ番号.log.xsession-errors)
をお読みになり、問題点を把握してください。
設定ファイルが壊れてしまったことによってデスクトップが起動できない場合は、 9.4.4項 「ログインは成功するが、 GNOME デスクトップが正しく表示されない問題」 または 9.4.5項 「ログインは成功するが、 KDE デスクトップが表示されない問題」 の手順に従ってください。
ラップトップマシンでは、ホームディレクトリのパーティションの暗号化が 推奨されます。このような場合にお使いのラップトップにログインできない 場合は、たいていの原因はシンプルに判明します。単にパーティションの 暗号が読み出せないということが考えられます。
起動時に暗号化パーティションの暗号を解除するため、パスワードの入力を 求められます。この時点で入力を行なわないと、パーティションの暗号化は そのままで起動処理が続けられます。
暗号化パーティションの暗号を解除するには、下記の手順で行ないます:
Ctrl+Alt+F1 を押して、テキストコンソールに 移動します。
root でログインします。
下記のコマンドで暗号解除処理を再起動します:
/etc/init.d/boot.crypto restart
暗号化パーティションの暗号を解除するため、パスワードを入力します。
テキストコンソールからログアウトし、再度グラフィカルなログイン画面に 戻ります。 Alt+F7 を押してください。
通常どおりにログインします。
この場合は、 GNOME 設定ファイルが 壊れていることが考えられます。キーボードか正しく動作しなかったり、 画面がゆがんでいたり、場合によっては何も表示されずグレー (灰色) 表示の ままになってしまったりします。もっとも重要な違いは、他のユーザがログイン したときには問題なく動作するという点です。この場合に最も簡単に解決する 方法は、ユーザの GNOME 設定を新しいディレクトリに移動することです。 これにより GNOME の設定を初期化し、新しく作成し直すことができます。 GNOME 関連の設定をユーザ側でやり直す必要が発生してしまいますが、データの 損失は発生しません。
まずは Ctrl+Alt+F1 を押して、テキストコンソールに 移動します。
問題の発生しているユーザ名でログインします。
ユーザの GNOME 設定ディレクトリを別の場所に移動します。下記のように して行ないます:
mv .gconf .gconf-ORIG-RECOVER mv .gnome2 .gnome2-ORIG-RECOVER
移動が終わったら、ログアウトします。
再度ログインします。このとき、アプリケーションは起動しないで ください。
あとは個別のアプリケーション設定データ (Evolution の電子メール
クライアントデータなど) を復旧します。これは
~/.gconf-ORIG-RECOVER/apps/ にあるファイルを
~/.gconf ディレクトリに書き戻すことによって
行ないます。下記の手順で行ないます:
cp -a .gconf-ORIG-RECOVER/apps .gconf/
書き戻したあと、再度ログアウトしてからログインしなおします。 問題が再発するようであれば、どうしても必要なデータだけを 復旧し、それ以外については設定し直すことで対応してください。
KDE デスクトップで特定のユーザがログインできない問題に直面した場合は、 いくつかの理由が考えられます。キャッシュデータが壊れていてログイン時に 問題を起こしているか、もしくは KDE のデスクトップ設定ファイルが壊れて いることが考えられます。
キャッシュデータはデスクトップの起動処理を高速化する目的で作成された ものです。これらのデータが壊れていた場合、起動処理が遅くなるか、 もしくは起動が失敗します。これらを削除すると、デスクトップの起動処理に キャッシュを使用しなくなります。これにより通常の起動よりは時間がかかる ようになりますが、データが失われることはなく、ログインも問題なく行なう ことができるようになります。
KDE デスクトップでキャッシュファイルを削除するには、下記のコマンドを
root で実行します:
rm -rf /tmp/kde-ユーザ名/tmp/ksocket-ユーザ名
ここで、 ユーザ名 には実際のユーザ名を
入力します。これら 2 つのディレクトリを削除しても壊れたキャッシュ
ファイルを削除するだけで、実際のデータがこの作業で削除されることは
ありません。
また、デスクトップの設定ファイルが壊れた場合は、いつでも初期状態の 設定ファイルに置き換えることができます。ユーザが様々に設定した内容を 復元する場合は、一時的に保管しておいた場所から注意して各設定ファイル を書き戻してください。
壊れたデスクトップ設定ファイルを初期値に置き換えるには、下記の手順で 行ないます:
まずは Ctrl+Alt+F1 を押して、テキストコンソールに 移動します。
問題の発生しているユーザ名でログインします。
KDE の設定ディレクトリと .skel
ファイルを、別の一時的な場所に移動します:
KDE3 の場合は下記のコマンドを実行します:
mv .kde .kde-ORIG-RECOVER
mv .skel .skel-ORIG-RECOVERKDE4 の場合は下記のコマンドを実行します:
mv .kde4 .kde4-ORIG-RECOVER
mv .skel .skel-ORIG-RECOVER移動が終わったら、ログアウトします。
ログインしなおします。
デスクトップが正常に起動したら、ユーザの設定を元の場所にコピー し直します:
cp -a KDEDIR/share .kde/share
ここで、 KDEDIR は
ステップ 3 で指定したディレクトリを
指定します。
![]() | |
書き戻したあと、再度ログアウトしてからログインしなおします。
問題が再発するようであれば、手順を繰り返してください。
このとき、 | |
お使いのシステムで発生する問題の多くはネットワークに関連したもので、 場合によっては当初、ネットワークの問題ではないように見えていることもあります。 たとえばユーザがログインできない問題の原因が、何らかのネットワーク問題に よって発生したものであったりします。この章では、ネットワークの問題に 直面していないかどうかを確認するための、簡易なチェックリストを掲載して います。
手順9.6 ネットワーク関連の問題の判別方法¶
お使いのマシンでネットワーク接続を確認するには、下記の手順で行ないます:
イーサネット接続をご利用の場合は、まずはハードウエアを確認します。 まずはネットワークケーブルについて、お使いのコンピュータに正しく接続 されていて、かつルータ (またはハブなど) につながっているかどうかを 確認してください。お使いのイーサネットコネクタに LED が付属している 場合は、 LED が点灯していることを確認してください。
接続がうまくいっていない場合は、そのケーブルが他のマシンで動作するもの であるかどうかを確認してください。他のマシンで問題なく動作するもので あれば、お使いのネットワークカードかハブ、またはスイッチに問題がある ことを示しています。
無線接続をご利用の場合は、他のマシンからその無線に接続できることを 確認してください。他のマシンからも接続できない場合は、無線ネットワークの 管理者にお尋ねください。
基本的なネットワーク接続の確認を行なったら、次はどのサービスが応答しない のかを確認します。お使いの設定で必要な全てのサーバについてアドレス情報を 収集してください。あとは適切な YaST モジュールを利用して接続可否を 確認するか、もしくはシステム管理者に確認してください。下記は典型的な ネットワーク環境で、使用されるサーバの一覧を示しています。
本来提供されていたネームサービスが停止したり正しく応答しなかったり すると、多くの場合にネットワークの機能性が損なわれます。たとえば ローカルマシンが認証を行なうのに何らかのネットワークサーバを利用して いる場合、これらのサーバが名前解決の問題によってアクセスできなくなり ますので、ユーザがログインできなくなってしまいます。ネームサーバの サービスが停止している環境では、マシン間を互いに 「参照」 したり通信したりすることができなくなる場合もあります。
NTP サービスが正しく応答しなかったり停止してしまったりすると、 Kerberos 認証や X サーバの機能に影響を及ぼします。
アプリケーションが NFS マウントされたディレクトリ上にデータを保存
する必要がある場合、このサービスがダウンしたり誤った設定が為されていたり
すると、そのアプリケーションを起動することができない場合や、正しく
動作しない場合があります。最悪の場合は、ユーザのホームディレクトリ
に含まれる .gconf や .kde
ディレクトリを発見することができず、個人のデスクトップ設定が現われ
ない場合もあります。
正しく動作していない Samba サーバ上のディレクトリにアプリケーション のデータを保存している場合、起動できなかったり正しく動作しなかったり する場合があります。
お使いの openSUSE が正しく動作していない NIS サーバに依存して いて、その NIS サーバからデータの提供を受けている場合は、そのマシン ではログインが行なえなくなります。
お使いの openSUSE が正しく動作していない LDAP サーバに依存して いて、その LDAP サーバからデータの提供を受けている場合は、そのマシン ではログインが行なえなくなります。
認証が動作しなくなり、そのサーバを利用している任意のマシンでログイン が行なえなくなります。
ユーザが印刷を行なうことができなくなります。
お使いのネットワークサーバが稼働しているか、およびお使いのネットワーク 環境で接続を許可しているかどうかを確認します:
![]() | |
下記に示すデバッグ手順は単純なネットワークサーバ/クライアント 通信を確認するための手順で、内部の経路制御 (ルーティング) については 確認を行ないません。サーバとクライアント間の通信を行なう際に、追加の 経路情報を追加したりすることなくアクセスできる、同一サブネット内の 環境に両者が存在することを前提にしています。 | |
まずは ping IP アドレス または
ホスト名 のコマンドを実行
(ここで、 ホスト名 にはサーバのホスト名を
入れます) し、そのマシンが生きていることとネットワーク側に応答があることを
確認します。このコマンドが成功した場合は、そのマシンが生きていてネーム
サービスにも問題が無く、かつネットワークの設定が正しく行なわれていることを
意味します。
destination host unreachable のようなエラー
メッセージで失敗した場合は、お使いのシステムか相手のサーバが正しく
設定されていないか、もしくは稼働していないことが考えられます。
これをさらに切り分けるため、
ping IP アドレス または
自分のホスト名
を他のマシンから実行して、他のマシンからお使いのマシンにアクセス
できるかどうかを確認してください。他のマシンからお使いのマシンに
アクセスできていれば、サーバ側に何らかの問題があって、お使いの
マシンの設定には問題がないことがわかります。
unknown host のようなエラーメッセージで失敗した
場合は、ネームサービスが正しく設定されていないか、使用しているホスト
名が正しくないことを示しています。この種類の問題についてさらに
調査を行なうには、
ステップ 4.b
をお読みください。
それでも ping がうまくいかない場合は、お使いのネットワークカードが
正しく設定されていないか、ハードウエア側の問題となります。
まずは host ホスト名
のコマンドを実行し、接続しようとしているサーバのホスト名が正しく
IP アドレスに変換されるかどうか (およびその逆も合わせてテスト
されます) を確認してください。このコマンドを実行した結果、ホストの
IP アドレスが正しく表示された場合は、ネームサービスは正しく動作して
いることを表わします。 host コマンドで正しい
IP アドレスが表示されなかったり、エラーになったりした場合は、
お使いのコンピュータの設定内で、名前やアドレスの解決に関する下記の
設定が正しいことを確認してください:
/etc/resolv.conf
このファイルはネームサーバのアドレスと使用しているドメインを それぞれ記述するファイルです。手動で変更することができるほか、 YaST や DHCP で自動変更させることもできます。可能であれば 自動設定をお勧めします。しかしながら、このファイルが下記の ような構造になっていて、それぞれネットワークアドレスと ドメイン名が正しいことを確認してください:
search完全修飾ドメイン名nameserverネームサーバの IP アドレス
なお、このファイルには複数のネームサーバアドレスを指定している 場合もありますが、その場合は少なくともそれらのうちの 1 つが 正しい名前解決機能を提供しなければなりません。必要に応じて YaST ネットワークモジュール (ホスト名/DNS のタブ) を利用して 設定を変更してください。
また、お使いのネットワークが DHCP を利用したアドレス管理を 行なっている場合は、 DHCP でホスト名を取得するため、 YaST のネットワークモジュールで を選択してください。
/etc/nsswitch.conf
このファイルは Linux に対して、ネームサービス情報の参照先を指定 します。下記のように書かれているはずです:
... hosts: files dns networks: files dns ...
dns の項目がポイントです。この項目は Linux に
対して外部のネームサーバを使用するように指定するためのキーワード
です。通常これらの項目は YaST で作成しますが、念のため調べて
おいてください。
対象のホストにおける全ての設定が正しいことを確認したら、システム 管理者に対して正しいゾーン情報が DNS サーバに設定されているかを 確認してください。DNS について、詳しくは 第 1 章 ドメインネームシステム (↑リファレンス) をお読みください。 お使いのホストにおける DNS 設定が正しく、かつ DNS サーバも問題 なく動作している場合は、お使いのマシンでのネットワーク設定と ネットワークデバイスの設定が正しいことを確認してください。
ネームサービス関連の原因をあたったものの該当する原因が見つからず、 お使いのシステムとネットワークサーバとの通信が確立できない場合は、 お使いのネットワークカードの設定を確認してください。
root から
ifconfig ネットワークデバイス
コマンドを実行し、このデバイスが正しく設定されているかどうかを
確認してください。まずは inet addr (IP アドレス) と
Mask (サブネットマスク) の欄が正しく設定されている
ことを確認します。 IP アドレスかサブネットマスクのいずれかが
間違っていた場合、そのままのネットワーク設定では接続が行なえません。
必要であれば、この手順をサーバ側でも実施してください。
ネームサービスとネットワークハードウエアが正しく設定されていて動作
していることを確認しても接続に時間がかかったり失敗したりする場合は、
さらに root から
traceroute 完全修飾ドメイン名
を実行してください。これにより、お使いのマシンから目的のサーバに
たどり着くまでに経由した、全てのゲートウエイ (ホップ; hop) を確認
することができます。それぞれのホップでの応答時間と、到達可否が
それぞれ表示されます。 traceroute と ping の組み合わせでネットワーク
の問題を切り分け、管理者に知らせてください。
ネットワークトラブルの原因を判別したら、あとはそれをご自身で解決する (もちろん、その原因がお使いのマシン内にあれば、ですが) か、もしくは お使いのネットワークのシステム管理者に情報を知らせてサービスを再設定 してもらうか、対象のシステムを修復してもらってください。
ネットワーク接続について何か問題が発生している場合、まずは 手順9.6「ネットワーク関連の問題の判別方法」 で切り分けを行なってください。 NetworkManager が原因ではないかと思われる場合は、 NetworkManager の失敗理由を調べるため、 下記の手順を行なってください:
root でログインします。
NetworkManager を再起動します:
rcnetwork restart -o nm
インターネットに接続できる環境であれば、たとえば http://www.opensuse.org などをブラウザで開いてみます。 root で問題なく表示できた場合は、一般ユーザでも試してみてください。
あとは /var/log/NetworkManager 内に
NetworkManager のログファイルがありますので、ここから処理を追跡してください。
NetworkManager について、さらなる情報は 第5章 NetworkManager の使用 を お読みください。
データ関連の問題とは、マシンが正常に起動する場合もしない場合もありますが、 いずれにしてもシステム上のデータが壊れていて、何らかの作業で復元する必要 がある問題のことを指します。この場合は、あらかじめ重要なデータについては バックアップを採取しておいてください。これにより、万が一システム上の データが壊れてしまったとしても、復元することができるようになります。 openSUSE ではバックアップや復元を行なうための専用 YaST モジュール が用意されているほか、レスキューシステムとして壊れてしまったシステムを 外側から修復する手段も用意しています。
パーティション全体やハードディスク全体をバックアップする必要が発生する 場合があります。この場合は Linux に添付されている dd ツールを利用し、お使いのハードディスクに対する正確なコピーを作成して ください。 gzip を併用すると、ディスク領域を節約する こともできます。
手順9.7 ハードディスクのバックアップと復元
まずは root でログインします。
次にソースデバイスを選択します。一般的な環境では、これは
/dev/sda (以降では
ソース として表記します) です。
さらに作成するイメージの送り先ディレクトリ (以降では
バックアップパス として表記します) を選択します。
送り先はソースデバイスと異なるものでなければなりません。
言い換えれば、 /dev/sda からバックアップを作成する
場合、 /dev/sda やその中のパーティションには
バックアップを作成するべきではありません。
下記のコマンドを実行し、圧縮イメージファイルを作成します:
dd if=/dev/ソース| gzip > /バックアップパス/image.gz
圧縮イメージファイルから復元を行なう場合は、下記のコマンドを実行します:
gzip -dc /バックアップパス/image.gz | dd of=/dev/ソース
パーティションごとにバックアップを採取したい場合は、
ソース の部分をそれぞれパーティションに
置き換えてください。この場合は、バックアップパスを異なるハードディスクに
設定する必要はなく、同一ハードディスクの別パーティションに作成する
ことができます。
システムデータのバックアップは、 YaST のシステムバックアップモジュールを 利用して簡単に採取することができます:
root の状態から YaST を起動し、 + を選択します。
バックアップに必要な全てのデータを包含するバックアッププロファイルを 作成し、アーカイブファイルのファイル名と範囲、バックアップ種類の選択 をそれぞれ行ないます:
+ を押します。
アーカイブの名前を入力します。
ローカルバックアップを作成する場合は、バックアップファイルの ファイル名をフルパスで指定します。ネットワークサーバ (NFS) 上に バックアップを作成する場合は、サーバの IP アドレスかホスト名を 入力し、アーカイブを作成するディレクトリを指定します。
アーカイブの種類を選択し、 を押します。
パッケージに属していないファイルをバックアップするかどうか、 アーカイブの作成前にファイル一覧を表示するかなどをそれぞれ 指定します。また MD5 の仕組みを利用して変更されたファイルの 検出を行なうかどうかを指定します。 MD5 を使用するよう指定すると、 処理に時間がかかるようになります。
さらに を押し、ハードディスク領域全体を バックアップするかどうかを指定します。現時点では、本項目は ext2 ファイルシステムでのみご利用いただけます。
最後に、バックアップを行なう必要のないシステム領域をバックアップから 除外する設定を行ないます。これにはロック (施錠) ファイルやキャッシュ ファイルなどが該当します。それぞれ必要に応じて追加/編集/削除を行ない、 を押します。
プロファイルの作成が完了したら、あとは を押すとバックアップを採取することができます。また、ここから 自動バックアップを設定することもできるほか、さらに異なるプロファイルを 作成して、それぞれの用途に応じたバックアップを作成することもできます。
YaST のシステム復元モジュールを利用すると、採取したバックアップから システム設定を復元することができます。バックアップ全体を書き戻すか、 もしくは壊れてしまった指定のコンポーネントだけを書き戻すか、もしくは 古い状態にリセットする必要があるかをそれぞれ指定することができます。
++ を選択します。
まずはバックアップファイルの場所を指定します。ローカルファイルのほか、 ネットワーク上にあるファイルやフロッピィ, DVD などのリムーバブル デバイスも指定することができます。指定を行なったら を押します。
現われたダイアログには、アーカイブの概要が表示されています。 ファイル名や作成日、バックアップの種類やコメントなどが表示されます。
まずは を押して、アーカイブの 内容を確認してください。 を押すと ダイアログに戻ることができます。
復元処理について細かく指定を行なうには、 をご利用ください。 を押すと ダイアログに戻ることができます。
ここから を押すと、復元するパッケージの一覧が 表示されます。そのまま を押すとアーカイブ内 にある全てのファイルを復元できるほか、それぞれ , , を 利用することで、復元するファイルを選択することもできます。 なお は、 RPM データベースが 壊れてしまった場合や削除されている場合で、かつバックアップアーカイブ 内にデータベースファイルが存在している場合にのみ選択してください。
を押すとバックアップからの復元処理が始まります。 復元が完了したら を押して閉じてください。
システムが起動しなかったり、正しく実行することができなかったりするシステム には、何らかの原因が存在しています。たとえばファイルシステムが壊れると システムクラッシュを引き起こしたり、設定ファイルを破壊してしまったり、 ブートローダの設定を壊してしまったりすることがあります。
openSUSE では、これらの状況に対応するため 2 種類の異なる対応を提供 しています。 YaST のシステム修復機能を利用することができるほか、レスキュー システムと呼ばれるものを起動して行なうこともできます。本章では、それぞれの 種類のシステム修復方法について説明を行なっています。
![]() | キーボードと言語の設定 |
|---|---|
起動後に言語やキーボードの設定を変更したい場合は、必要に応じて設定して ください。 | |
YaST システム修復モジュールを起動する前に、システム修復をどのようにして 動作させる必要があるのかを決めておく必要があります。これはお使いのシステム の重要度とトラブルの種類 (そして利用される方の知識と経験) にあわせて、 3 種類の異なる方法を提供しています:
お使いのシステムの壊れた理由がわからず、基本的にシステムのどの部分が おかしくなっているのかがわからない場合、 をお使いください。広範囲にわたる自動チェックが行なわれ、お使いのシステム における全てのコンポーネントを検証します。この処理の詳細な流れに ついては、 9.6.4.1.1項 「自動修復」 を お読みください。
お使いのシステムに障害が発生していて、既にどの部分がおかしくなっている のかがわかっている場合、 による長いシステム チェックを部分的に省略することができます。これはシステム分析の範囲を 狭めることで実現するもので、たとえば障害が発生している際にパッケージ データベースからのエラーが発生しているような場合、分析と修復の処理範囲 を限定し、システム内のこれらの要素に限って確認と修復を行なうことが できます。この処理の手順については、 9.6.4.1.2項 「修復のカスタマイズ」 をお読みください。
どのコンポーネントが壊れているのかが既にわかっていて、かつどのように修復 すればいいのかがわかっている場合は、分析処理そのものを行なわず、それぞれ 関連するコンポーネントの修復ツールを直接起動することができます。 詳しくは 9.6.4.1.3項 「熟練者向けツール」 をお読みください。
上記で説明した修復方法のうちいずれかを選択し、それぞれ下記の章に示す手順 でシステム修復を実施してください。
YaST システム修復の自動修復モードを起動するには、下記の手順で行ないます:
お使いの DVD ドライブに、 openSUSE のインストールメディアを挿入します。
システムを再起動します。
起動画面では を選択します。
ライセンス同意の確認を行ない、 で先に進みます。
を選択します。
YaST はインストール済みシステムについて、広範囲にわたる分析を行ないます。 作業の進捗は 2 つのプログレスバーで表示されます。上側のバーは現在のテスト における進捗度合いを、下側のバーは分析全体の進捗度合いをそれぞれ表示して います。また、その上にはログウインドウがあり、現在実行中のテスト内容と その結果を表示しています。 図9.2「自動修復モード」 をご覧ください。
下記に示す主なテストは毎回実行されるものです。これらには複数の 個別サブテストが含まれています:
検出された全てのハードディスクに対し、パーティションテーブルの整合性 と一貫性を確認します。
インストール済みのシステムにあるスワップパーティションを検出し、 テストを行なって有効にするかどうか (もし存在すれば) を確認します。 スワップを有効に設定すると、システム修復処理をより素早く行なうことが できるようになります。
検出された全てのファイルシステムに対し、ファイルシステム固有の チェックを行ないます。
上記ファイル内の項目をチェックし、完全性と一貫性を確認します。 全ての有効なパーティションをマウントします。
最小限の動作を行なうのに必要な、全てのパッケージについて確認を 行ないます。基本パッケージについても確認を行なうよう、任意で 指定を行なうこともできますが、これらはファイル数が多いため、 長い時間を要する処理になります。
インストール済みのシステムに対するブートローダ (GRUB または LILO) の設定を確認し、完全性と一貫性を検証します。起動パーティションと ルートパーティションについて利用できるかどうか確認を行ない、 initrd のモジュールが正しいかどうかも確認を行ないます。
この流れの最中に何らかのエラーが検出されると、処理は中断されて詳細を 表示するダイアログが開き、考えられる解決方法が提示されます。
提案された修正を受け入れる前に、画面に表示されたメッセージをよく お読みください。修正を受け入れない場合は、お使いのシステムにはなにも 変更が加えられません。
修復処理が正常に終了したら、 および ボタンを押してインストールメディアを取り出して ください。システムは自動で再起動します。
モードを起動し、お使いのインストール済み システムに対して特定の項目だけを選んでチェックさせたい場合は、下記の 手順で行ないます:
お使いの DVD ドライブに、 openSUSE のインストールメディアを挿入します。
システムを再起動します。
起動画面では を選択します。
ライセンス同意の確認を行ない、 で先に進みます。
を選択します。
を選択すると、当初は全てのテストにチェックが 付けられた形でテストの一覧が表示されます。全てを選択すると、自動修復と 同じ処理になります。それぞれの項目について問題のないことがわかっているもの があれば、それらのチェックを外してください。 を 押すと、実行時間の短縮された、狭い範囲のテスト処理が動き出します。
全てのテストグループが個別に動作するというわけではありません。たとえば fstab の項目は、既存のスワップパーティションを含むファイルシステムのテストを 選択した場合であれば、常に実施されます。 YaST ではこのようなテスト同士の 依存関係を自動的に解決し、必要最小限のテストだけを選択するような仕組みに なっています。 また、 YaST では暗号化パーティションには対応していません。もしもお使いの場合は、 YaST がその旨のメッセージを表示します。
この流れの最中に何らかのエラーが検出されると、処理は中断されて詳細を 表示するダイアログが開き、考えられる解決方法が提示されます。
提案された修正を受け入れる前に、画面に表示されたメッセージをよく お読みください。修正を受け入れない場合は、お使いのシステムにはなにも 変更が加えられません。
修復処理が正常に終了したら、 および ボタンを押してインストールメディアを取り出して ください。システムは自動で再起動します。
openSUSE の仕組みについて熟知されている方で、お使いのシステムに 対して何をすれば解決できるかについてわかっている方であれば、システム分析 の手順を飛ばして直接ツールを起動したほうが都合の良い場合があります。
YaST のシステム修復モジュールから を 使用するには、下記の手順で行ないます:
お使いの DVD ドライブに、 openSUSE のインストールメディアを挿入します。
システムを再起動します。
起動画面では を選択します。
ライセンス同意の確認を行ない、 で先に進みます。
を選択し、修復オプションを選択します。
修復処理が正常に終了したら、 および ボタンを押してインストールメディアを取り出して ください。システムは自動で再起動します。
では、壊れたシステムを修復するために 下記のようなオプションが用意されています:
YaST のブートローダ設定モジュールを起動します。詳細は 項 「YaST を利用したブートローダの設定」 (第17章 ブートローダ GRUB, ↑リファレンス) をお読みください。
既にインストール済みの Linux システムを起動しようとします。
YaST のパーティション設定ツールを起動します。
お使いのシステムに対して、ファイルシステムのチェックを行ないます。 まずは検出された全てのパーティションから、チェックを行ないたい パーティションを選択してください。
パーティションテーブルが壊れている場合、それらを再構築できるかどうか を試してみることができます。まずは検出されたハードディスクの一覧が 表示されますので、そこから選択を行なってください。 を押すとテストが始まります。この処理は、お使い のコンピュータの動作速度とハードディスクのサイズ、およびハードディスク の速度に依存して時間がかかります。
![]() | |
パーティションテーブルの再構築は非常に扱いにくいものです。 YaST ではまず、ハードディスクのデータセクタを分析することで、失われた パーティションの検出を試みます。正しく検出されると、失われた パーティションは、再構築されたパーティションテーブル側に書き込みが 行なわれます。これはしかしながら、ごくまれにしか成功しないことに ご注意ください。 | |
このオプションを選択すると、重要なシステムファイルをフロッピィディスク に保存します。これらのファイルが壊れてしまったりした場合には、この ディスクから復元することができるようになります。
このオプションを選択すると、パッケージデータベースの一貫性を確認し、 さらにもっとも重要なパッケージが存在しているかどうかを確認します。 このツールを利用することで、インストール済みのパッケージが壊れている 場合、再インストールを行なうことができます。
openSUSE にはレスキューシステムと呼ばれるシステムが存在します。 レスキューシステムとは RAM ディスク内に読み込んでルートファイルシステムと してマウントすることのできる、小さな Linux システムです。お使いの Linux パーティションとは全く別に利用することができます。 レスキューシステムを使用すると、お使いのシステムの重要部を修復したり修正 したりすることができます:
任意の設定ファイルを編集することができます。
ファイルシステムの欠陥を確認したり、自動的な修復処理を行なったりする ことができます。
「change root」 という仕組みを利用して、インストール済みの システムにアクセスすることもできます。
ブートローダの設定を、確認したり修正したり、再インストールしたりすること ができます。
parted コマンドを利用してパーティションのサイズを変更することができます。 このツールに関する詳細は、 GNU Parted の Web サイト http://www.gnu.org/software/parted/parted.html をお読みください。
なお、レスキューシステムは様々なソースや場所から読み出すことができます。 最もシンプルなやり方は、オリジナルのインストールメディアからレスキュー システムを起動することです:
お使いの DVD ドライブに、 openSUSE のインストールメディアを挿入します。
システムを再起動します。
起動画面では F4 を押し、 を選択 します。また、メインメニューでは を 選択します。
Rescue: のプロンプトが現われたら、 root
と入力します。パスワードは不要です。
お使いのハードウエアに DVD ドライブが存在しない場合は、ネットワークソース
からレスキューシステムを起動することもできます
(openSUSE の FTP サーバから起動することもできます) 。
下記の例では、リモートからの起動を行なう場合の例です。 DVD など、他の
起動メディアをお使いの場合は、通常のインストールの際と同様に
info ファイルを適宜修正して起動してください。
お使いの環境での PXE 起動設定を開き、
install=
と プロトコル://インストールソースrescue=1 をそれぞれ追加してください。修復システム
を起動したい場合は、 repair=1 を指定してください。
通常のインストールと同様に、 プロトコル には
対応しているネットワークプロトコル (NFS, HTTP, FTP, etc.) を、
インストールソース にはお使いのインストール
ソースでパスをそれぞれ入力します。
項 「Wake on LAN」 (第1章 リモートインストール, ↑リファレンス) で示されている手順に 従い、 「Wake on LAN」 でシステムを起動します。
Rescue: のプロンプトが現われたら、 root
と入力します。パスワードは不要です。
レスキューシステムが起動すると、それぞれ Alt+F1 から Alt+F6 までの キーを利用して、複数の仮想コンソールを利用することができます。
シェルのほか、 mount プログラムなどの多数の便利なユーティリティが
/bin ディレクトリ以下に用意されています。また
sbin ディレクトリには、ファイルシステムの確認や
修復を行なうために必要な、ファイルおよびネットワークユーティリティが各種
用意されています。このディレクトリには、ほかにも fdisk, mkfs, mkswap, mount,
init, shutdown, ifconfig, ip, route, netstat などのシステム管理や
ネットワーク管理のユーティリティがそろっています。
また、 /usr/bin ディレクトリには vi エディタのほか、
find, less, ssh などがそろっています。
なお、システムメッセージを表示するには、 dmesg コマンド
を利用するか、もしくは /var/log/messages ファイルを
お読みください。
壊れた設定ファイルによってシステムの通常起動を行なうことができないもの と仮定して、レスキューシステムから設定ファイルを修正する場合を例に手順を 説明します。こういう場合でもレスキューシステムから修復を行なうことが できます。
設定ファイルを操作するには、下記の手順で行ないます:
上記で説明しているうちのいずれかを利用して、レスキューシステムを起動します。
たとえばルートファイルシステムが /dev/sda6 に
存在している場合、下記のようにしてルートファイルシステムをマウントします:
mount /dev/sda6 /mnt
上記を実行すると、ルートファイルシステムにある全てのディレクトリが
/mnt 以下から見えるようになります。
マウントされたルートファイルシステムにディレクトリを移動します:
cd /mnt
問題のある設定ファイルを vi エディタで開きます。設定を変更したら、 ファイルを保存して閉じます。
ルートファイルシステムをレスキューシステムからマウント解除します:
umount /mnt
コンピュータを再起動します。
一般に、ファイルシステムは実行中の環境からは修復を行なうことができません。
何らかの深刻な問題が発生した場合は、ルートファイルシステムのマウントさえ
行なうことができず、 「kernel panic」 などの形で起動が完了
しない場合があります。このような場合は、オペレーティングシステムの外側から
修復を行なう必要があります。この作業を行なう際は、 YaST のシステム修復処理
をお勧めします (詳しくは 9.6.4.1項 「YaST システム修復」
をお読みください) 。しかしながら、ファイルシステムの確認や修復を手作業で
行ないたい場合は、レスキューシステムから行なうことができます。
レスキューシステムでは、
ext2, ext3,
ext4, reiserfs,
xfs, dosfs,
vfat の各ファイルシステムに対応しています。
レスキューシステムからインストール済みのシステムにアクセスしたい場合は、 change root と呼ばれる仕組みを利用してアクセスする ことができます。たとえばブートローダの設定を変更したり、ハードウエア設定 ユーティリティを起動したりしたい場合に使用します。
お使いのインストール済みシステムに合わせて、ルート環境を変更します。 下記の手順で行ないます:
まずはインストール済みのシステムのルートパーティションと、デバイス ファイルシステムについてそれぞれマウントを行ないます (デバイス名に ついてはお使いの環境に合わせて変更してください):
mount /dev/sda6 /mnt mount --bind /dev /mnt/dev
上記を実行すると、 「change root」 を行なうことができます:
chroot /mnt
あとは /proc と /sys をマウントします:
mount /proc mount /sys
最後にお使いのシステムにおける残りのパーティションをマウントします:
mount -a
これでインストール済みシステムにアクセスすることができるようになりました。
システムを再起動する場合は、 umount -a
で全てのパーティションのマウントを解除し、 exit
コマンドで 「change root」 環境を抜けてください。
![]() | 制限 |
|---|---|
お使いのシステムに対して全てのファイルやアプリケーションにアクセスを行なう ことができますが、いくつかの制限があります。まずカーネルについてはレスキュー システムのものを使用するため、インストール済みシステムのものとは異なります。 このカーネルは修復に必要なハードウエアだけに対応しているため、インストール 済みのシステムと全く同じバージョンでも無い限り (ほとんどの場合は異なります) 、 カーネルモジュールを追加したりすることはできません。そのため、たとえば サウンドカードなど、修復に関係しないハードウエアにはアクセスできません。 また、グラフィカルユーザインターフェイスについてもアクセスすることが できません。 また、 「change root」 環境は、 Alt+F1 から Alt+F6 までの キーでコンソールを切り替えると、その環境を抜けてしまうことに注意して ください。もちろん元の画面に戻れば元の 「change root」 環境 に戻ります。 | |
場合によってはブートローダの設定が壊れているためにシステムが起動できない ことがあります。ブートローダ無しでは Linux ファイルシステムが物理的に どのような場所に存在しているのかがわからないので、起動を行なうことが できなくなってしまいます。
ブートローダの設定を確認してブートローダを再インストールするには、 下記の手順で行ないます:
9.6.4.2.3項 「インストール済みシステムへのアクセス」 に書かれた 手順に従い、インストール済みのシステムにアクセスします。
第 1 章 ブートローダ GRUB (↑リファレンス) に書かれた GRUB の設定ルールに従って 設定ファイルが書かれているかどうかを確認します。 必要であれば修正を行なってください。
/etc/grub.conf
/boot/grub/device.map
/boot/grub/menu.lst
/etc/sysconfig/bootloader
下記の手順でブートローダを再インストールします:
grub --batch < /etc/grub.conf
下記の手順でパーティションのマウントを解除し、 「change root」 環境を抜けてシステムを再起動します:
umount -a exit reboot