第9章 よく発生する問題とその解決方法

目次

9.1. 情報の発見と収集
9.2. インストールの問題
9.3. 起動時の問題
9.4. ログイン関連の問題
9.5. ネットワーク関連の問題
9.6. データ関連の問題

この章では、各種の潜在的な問題点と、それに対する解決策を示しています。 ここに記載されているとおりの状況でない場合でも、問題を解決するための糸口に なるものと考えております。

9.1. 情報の発見と収集

Linux では様々な方法で事象を報告します。お使いのシステムで問題が発生したとき、 いくつかの情報を確認する必要がありますが、これらのうちのほとんどは一般的な Linux の標準に準拠した場所にあります。ただ、残りのいくつかは openSUSE システム固有の場所に配置されます。最も重要な情報は、それぞれ /var/log/boot.msg/var/log/messages に書かれている情報です。

下記にはよく確認しておくべきログファイルの一覧と、そのログファイルの 一般的な用途を示しています。なお、パスに ~ が含まれて いる場合は、ログインしているユーザのホームディレクトリを示しています。

表9.1 ログファイル

ログファイル

説明

~/.xsession-errors

現在実行中のデスクトップアプリケーションからのメッセージが 記録されます。

/var/log/apparmor/

AppArmor のログファイルです。詳しくは パート 「Novell AppArmor を利用した権利制限」 (↑セキュリティガイド) をお読みください。

/var/log/boot.msg

起動処理時にカーネルが報告したメッセージを記録しています。

/var/log/mail.*

メールシステムからのメッセージが記録されています。

/var/log/messages

システム稼働中に随時記録されるログファイルで、カーネルやシステムが 出力するメッセージを記録しています。

/var/log/NetworkManager

NetworkManager のメッセージを記録しているもので、ネットワークの接続まわりの 問題を収集しています。

/var/log/samba/

Samba サーバとクライアントのログメッセージを記録しているディレクトリです。

/var/log/SaX.log

SaX ディスプレイと KVM システムが出力した、 ハードウエアメッセージを記録しています。

/var/log/warn

システム稼働中に随時記録されるログファイルで、カーネルやシステムが 出力するメッセージのうち、 warning レベル以上のものを 記録しています。

/var/log/wtmp

ユーザのログイン状況を記録している、バイナリ形式のファイルです。 last で閲覧することができます。

/var/log/Xorg.*.log

X ウインドウシステムが出力する、様々な起動および実行中のメッセージを 記録するファイルです。 X システムの起動に失敗する際、デバッグ目的で 利用することができます。

/var/log/YaST2/

YaST の動作とその結果を記録するディレクトリです。

/var/log/zypper.log

zypper のログファイルです。


ログファイル以外にも、実行中のシステムでマシンの情報を収集する方法があります。 詳しくは 表 9.2: /proc ファイルシステム内にあるシステムの情報 をお読みください。

表9.2 /proc ファイルシステム内にあるシステムの情報

ファイル

説明

/proc/cpuinfo

プロセッサの種類や製造元、モデルや性能情報を出力することができる ファイルです。

/proc/dma

現在使用中の DMA チャネルを出力することができるファイルです。

/proc/interrupts

どの割り込みが使用中で、その割り込みがどれだけ使用されたのかを 出力することができるファイルです。

/proc/iomem

I/O (入出力) メモリの状態を出力することができるファイルです。

/proc/ioports

その時点で使用中の I/O ポートを出力することができるファイルです。

/proc/meminfo

メモリの状態を出力することができるファイルです。

/proc/modules

個別のカーネルモジュールを出力することができるファイルです。

/proc/mounts

現在マウント中のデバイス情報を出力することができるファイルです。

/proc/partitions

全ハードディスク内のパーティション情報を出力することができるファイルです。

/proc/version

現在稼働中の Linux バージョンを出力することができるファイルです。


/proc ファイルシステムに加え、 Linux カーネルでは メモリ内ファイルシステムである sysfs モジュールで、 さらなる情報を提供しています。モジュールとはカーネルオブジェクトを表わす もので、モジュールには属性や依存関係なども存在しています。 sysfs について、詳しくは 第 1 章 udev による動的なカーネルデバイス管理 (↑リファレンス) にある udev のコンテキストに関する情報をお読みください。 また 表 9.3 には、 /sys 以下にあってよく使用されるディレクトリ やファイルについて、説明を行なっています。

表9.3 /sys ファイルシステム内にあるシステムの情報

ファイル

説明

/sys/block

システムが検出した各ブロックデバイスについて、それぞれ サブディレクトリが作成されるディレクトリです。一般にディスク形式 のデバイスが表示されます。

/sys/bus

物理バスの種類ごとにサブディレクトリが作成されるディレクトリです。

/sys/class

デバイスの機能を種類 (たとえばグラフィック、ネット、プリンタなど) ごとに、グループ化された形でサブディレクトリが作成されるディレクトリです。

/sys/device

デバイスを階層構造で表わすディレクトリです。


Linux にはシステムの分析や監視を行なうための様々なツールが存在します。 システムの分析を行なうにあたって最も重要なツールの選定については、 第 1 章 システム監視ユーティリティ (↑リファレンス) をお読みください。

また、下記に示すそれぞれの項目では、まず問題点の概要を示すタイトルが 書かれていて、それに続いて 1 つ以上の解決方法の候補や、詳細な解決方法を 示す参照先、もしくは関連すると考えられる他のシナリオへの参照などを 記述しています。

9.2. インストールの問題

インストールの問題は、マシンに対してインストールがうまくいかない場合の 問題です。これは全く動作しないか、グラフィカルなインストーラが動作 しないかのいずれかが考えられます。この章では、おそらく直面するであろう 典型的な問題を列挙し、それらに対する解決方法や回避方法を示しています。

9.2.1. メディアのチェック

openSUSE のインストールメディアを利用している際に何らかの問題に 直面した場合は、まずインストールメディアの確認を行なってください。 この作業を行なうには、インストールメディアから起動したあと、起動メニュー から インストールメディアのチェック を選択します。 起動中のシステムから行なう場合は、 YaST を起動して ソフトウエア+メディア確認 を選択します。 メディアの問題は、ご自身でメディアへの書き込みを行なった場合によく 発生します。問題を回避するには、遅い速度 (4x など) での書き込みを 行なってください。

9.2.2. ハードウエア情報

YaST を起動して ハードウエア+ハードウエア情報 を選択すると、 検出されたハードウエアとその技術データが表示されます。 デバイスに関して詳しい情報を得るには、マウスなどでそれらのツリーを 開いてください。このモジュールは、たとえばお使いのハードウエアについて サポートが情報を要求したような場合にとても便利です。

なお、表示されているハードウエア情報は ファイルに保存 を押すことでファイルに保存することができます。保存先のディレクトリと ファイル名を選択/入力し、 Save (保存) を押すと ファイルに書き込みが行なわれます。

9.2.3. 起動に利用できる DVD ドライブが存在しない場合

お使いのコンピュータに起動可能な DVD-ROM ドライブが存在しなかったり、 Linux ではサポートしていないドライブであったりした場合は、内蔵の DVD ドライブを使用せずにインストールを行なうための方法があります:

外付けデバイスの使用

お使いのコンピュータの BIOS と Linux カーネルで対応していれば、 外付けデバイスや USB デバイスからインストールを行なうことができます。

PXE を利用したネットワーク起動

お使いのマシンに DVD ドライブが存在しない代わりに利用可能な イーサネット接続が存在する場合は、ネットワークからのインストールを 行なうこともできます。詳しくは 項 「VNC を利用したリモートインストール (PXE ブートと Wake on LAN を使用)」 (第1章 リモートインストール, ↑リファレンス) と 項 「SSH を利用したリモートインストール (PXE ブートと Wake on LAN を使用)」 (第1章 リモートインストール, ↑リファレンス) をそれぞれお読みください。

9.2.3.1. 外付けの起動デバイスの使用

Linux では多くの DVD ドライブに対応しています。お使いのシステムに内蔵の DVD ドライブやフロッピィディスクがない場合は、 USB, FireWire (IEEE1394), SCSI などの外付け DVD ドライブを使用することもできます。なお、この方法での 起動は BIOS 側とハードウエア側の両方で対応が必要です。また、何らかの問題が 発生した場合は、 BIOS の更新が必要となる場合もあります。

KDE や GNOME のライブ CD からインストールを行なう場合は、起動を行なうための ライブ USB メモリ を作成することもできます。 詳しい手順については、 http://ja.opensuse.org/Live_USB_stick をお読みください。

9.2.4. インストールメディアからの起動に失敗する問題

お使いのコンピュータでインストールメディアからの起動ができない理由として 考えられるのは、 BIOS の起動順序の設定です。 BIOS の起動順序内で、 DVD ドライブを最初に起動するデバイスとして設定しなければなりません。それ以外の 場合は他のメディア、たとえばハードディスクからの起動を先に試す結果になって しまいます。 BIOS での起動順序の変更手順は、お使いのマザーボードに添付 されているマニュアルをお読みになるか、下記の手順をお読みください。

BIOS はコンピュータにおける最も基本的な機能を有効化するためのソフトウエア です。マザーボードの製造元は、そのハードウエアに特化した形の BIOS を作成し 提供します。通常、 BIOS の設定 (セットアップ) はマシンの起動直後など、 ある一定時間内にのみアクセスすることができます。この起動直後の段階 では、マシンは様々なハードウエア診断テストを実施します。そのうちの 1 つが メモリチェックで、カウンタのように数値が上がっていく表示を行ないます。 カウンタが現われたタイミングで、そのカウンタの下や画面の最下部などに BIOS セットアップにアクセスするためのキー押下表示が現われるはずです。 通常は Del, F1, Esc のいずれかのキーを押下するようメッセージが表示されるはずです。 そこで表示されたキーを押すと、 BIOS 設定画面が表示されます。

手順9.1 BIOS の起動順序の変更

  1. 起動画面に表示された適切なキーを押したら、 BIOS 設定画面が表示される までしばらく待ちます。

  2. AWARD BIOS で起動順序を変更するには、 BIOS FEATURES SETUP (BIOS 機能設定) を選択してください。その他の製造元の場合は、 ADVANCED CMOS SETUP など製造元によって異なる表示が 行なわれます。カーソルキーでカーソルを移動し、 Enter キーで選択してください。

  3. 画面が表示されたら、 BOOT SEQUENCE または BOOT ORDER(起動順序) の項目を確認します。起動順序は、 C,AA,C のように書かれています。 たとえば C,A は、最初にハードディスク (C) からの起動を 試し、ハードディスクから起動できなければフロッピィディスク (A) からの起動を 試すという流れを示しています。 PgUpPgDown などのキーを押して、 A,CDROM,C のような設定にしてください。

  4. Esc を押して BIOS 設定メニューに戻ります。 設定した内容を保存するには、 SAVE & EXIT SETUP を 選択するか、もしくは F10 を押してください。 確認メッセージに Y と回答すると保存が行なわれます。

手順9.2 SCSI BIOS での起動順序の変更 (Adaptec ホストアダプタの場合)

  1. まずはセットアップ画面を開き、 Ctrl+A を押します。

  2. Disk Utilities を選択すると、接続されているハードウエア コンポーネントが表示されます。

    ここでお使いの DVD ドライブの SCSI ID を覚えておきます。

  3. Esc を押してメニューを抜けます。

  4. ここから Configure Adapter Settings を選択します。 Additional Options 内にある Boot Device Options を選び、 Enter を押します。

  5. DVD ドライブの SCSI ID を入力し、再度 Enter を押します。

  6. Esc を 2 回押して最初の SCSI BIOS 画面に戻ります。

  7. 画面を終了し、 Yes を押してコンピュータを再起動します。

なお、インストール時に設定する言語やキーボードレイアウトとは異なり、 BIOS 設定では常に英語キーボードのレイアウトで作業を行ないます。 下記にレイアウトを図示します:

図9.1 英語キーボードのレイアウト

英語キーボードのレイアウト

9.2.5. 起動に失敗する問題

たとえばとても古いハードウエアやとても新しいハードウエアなどの場合、 構成によってはインストールに失敗する場合があります。多くの場合、その 種類のハードウエアがインストールに使用するカーネルでサポートしていない ものであったり、 ACPI などのカーネル内にある特定の機能が、特定の ハードウエアとの組み合わせでうまく動作しなくなる不具合が存在していたり することが考えられます。

最初の起動画面で通常の インストール を選択した場合に うまく動作しない場合は、下記をお試しください:

  1. DVD がドライブ内に存在している場合は、 Ctrl-Alt-Del を押すか、もしくは ハードウエア側のリセットボタンを押して再起動します。

  2. 起動画面が現われたら F5 を押し、カーソルキーを利用して ACPI 無効 を選択してください。 あとは Enter を押してシステムの起動と インストールを開始してください。 これにより、 ACPI による電源管理技術を使用しないようになります。

  3. あとは 第1章 YaST を利用したインストール に示されている手順でインストールを 行なってください。

上記の手順でもうまくいかない場合は、 安全設定 を お試しください。この選択では ACPI と DMA のサポートを無効化します。この選択を 行なえば、ほとんど全てのハードウエアで問題なく起動するはずです。

これらのオプションのどれを選択してもうまく行かない場合は、インストール用 のカーネルに対して、この種類のハードウエアに対応させるための追加パラメータ を追加してみてください。利用可能な起動パラメータの一覧については、 /usr/src/linux/Documentation/kernel-parameters.txt (英語) にあるカーネル文書をお読みください。

[Tip]カーネル文書の取得

カーネル文書をお読みになる場合は、 kernel-source パッケージを インストールしてください。

また、インストール用の起動画面では、それぞれ下記の 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 は 次回以降もシステムが正しく起動するよう、ブートローダの設定にそれらを 書き込むような仕組みになっています。

また、カーネルの読み込み時やインストール時に何もエラーが出力されない タイプのエラーが発生した場合は、起動メニューで メモリテスト を選び、メモリのテストを行なってください。 メモリテスト でエラーが発生した場合は、ハードウエア側に何らかの問題があることを示しています。

9.2.6. グラフィカルなインストーラの起動に失敗する問題

メディアをドライブに入れてマシンを再起動すると、しばらくして起動 画面が表示されますが、その後 インストール を選択しても グラフィカルなインストーラが起動しない場合があります。

この問題に対しては、いくつかの回避策があります:

  • インストール画面で異なる解像度を選択してみてください。

  • インストール画面で テキストモード を 選択してみてください。

  • VNC 経由でグラフィカルなインストーラを利用したインストールを 行なってみてください。

手順9.3 インストール時の解像度の変更

  1. まずは起動画面までの手順を行ないます。

  2. F3 を押し、表示されたメニューからインストール 時に使用するより低い解像度を選択します。

  3. あとは Installation を選択し、 第1章 YaST を利用したインストール に書かれた手順でインストールを 行ないます。

手順9.4 テキストモードでのインストール

  1. まずは起動画面までの手順を行ないます。

  2. F3 を押し、表示されたメニューから テキストモード を選択します。

  3. あとは Installation を選択し、 第1章 YaST を利用したインストール に書かれた手順でインストールを 行ないます。

手順9.5 VNC を利用したインストール

  1. まずは起動画面までの手順を行ないます。

  2. 起動画面では、下記を入力してオプション指定を行ないます:

    vnc=1 vncpassword=パスワード

    ここで、 パスワード にはインストール時に VNC 接続を行なうのに使用するパスワードを設定します。

  3. あとは Installation を選択し、 第1章 YaST を利用したインストール に書かれた手順でインストールを 行ないます。

    上記までの作業を行なうと、グラフィカルなインストーラが起動する代わりに テキストモードの状態のままシステムが停止します。画面には VNC ビューア やブラウザからアクセスできる IP アドレスとポート番号が表示されます。

  4. インストーラへの接続にブラウザをご利用の場合は、まずはブラウザを起動 してください。その後 openSUSE をインストールしたいマシンに表示 された情報を入力して接続を行ない、 Enter を押します:

    http://ターゲットマシンの IP アドレス:5801

    するとブラウザウインドウ内で VNC が起動し、パスワードを尋ねられます。 起動画面で設定したパスワードを入力したあとは、 第1章 YaST を利用したインストール の手順でインストールを行なってください。

    [Important]

    VNC 経由でのインストールは、任意のオペレーティングシステムと 任意のブラウザの組み合わせで動作します。ただしブラウザは、 Java に対応している必要があります。

    お使いの VNC ビューアを利用してそれぞれ IP アドレスとパスワードを 入力してください。入力が完了するとインストールダイアログが表示される ようになります。あとは通常どおりのインストールを行なってください。

9.2.7. テキストベースの起動画面のみが表示できる問題

メディアをドライブに入れてマシンを再起動すると、しばらくして起動画面が 表示されますが、グラフィカルな画面ではなくテキストベースの インターフェイスが表示されてしまう場合があります。これは主に、 グラフィカルな起動画面を描画するのに必要なグラフィックメモリが不足して いることによって発生します。

テキストベースの起動画面は最小限の機能しか備えていないように見えますが、 グラフィカルなものとほとんど同じ機能を提供しています:

起動オプション

グラフィカルなインターフェイスとは異なり、お使いのキーボードにある カーソルキーでは起動オプションを選択することができません。テキスト モードの起動画面では、起動プロンプトへのキー入力だけを行なうことが できます。これらのキーワードはグラフィカルな起動画面に表示される キーワードと同じです。 install がインストール、 repair が インストール済みのシステムを修復、 rescue が レスキューシステム、 mediachk がメディアチェック、 memtest がメモリテストにそれぞれ割り当てられています。 入力を行なったら Enter を押すと、 起動処理が始まります。

カスタムな起動オプション

起動オプションの後ろには、 9.2.5項 「起動に失敗する問題」 に示されているカスタムな 起動オプションを追加することができます。インストール処理を行なうには、 最後に Enter を押してください。

画面解像度

また、ファンクションキーを利用して画面の解像度を設定することができます。 その後のインストール作業をテキストモードで実行するには、 F3 を押してください。

9.3. 起動時の問題

起動時の問題とは、お使いのシステムが正しく起動しない状況のことを 指しています (期待したランレベルの動作や、ログイン画面の問題では ありません) 。

9.3.1. GRUB ブートローダの読み込みに失敗する問題

ハードウエアが正しく動作している場合は、ブートローダが壊れていて Linux を起動することができないことを示しています。 この場合は、ブートローダを再インストールする必要があります。 ブートローダを再インストールするには、下記の手順を行なってください:

  1. ドライブにインストールメディアを挿入します。

  2. コンピュータを再起動します。

  3. 起動メニューでは インストール を選択します。

  4. 言語を選択します。

  5. ライセンス同意を受け入れます。

  6. インストールモード の画面では、 その他 を選んでから インストール済みシステムの修復 を選択します。

  7. YaST システム修復モジュールが起動します。ここから 熟練者用ツール を選択し、 新しいブートローダをインストールする を 選びます。

  8. 元の設定を復元し、ブートローダを再インストールします。

  9. YaST のシステム修復を終了し、システムを再起動します。

マシンが起動しない理由としては、 BIOS 関連の問題も考えられます:

BIOS 設定

お使いのハードディスクドライブ向けの BIOS 設定をご確認ください。 GRUB では単純に、 BIOS からハードディスクを検出できない場合に 開始できなくなります。

BIOS 起動順序

お使いのシステムにおける起動順序で、ハードディスクがどこに位置して いるのかをご確認ください。ハードディスクからの起動が有効になっていない 場合インストールには成功しますが、ハードディスクからの起動を行なう ことができず、起動に失敗します。

9.3.2. グラフィカルなログインが利用できない問題

マシンは起動できるものの、グラフィカルなログインマネージャが現われない 場合は、既定のランレベルの設定が間違っているか、もしくは X ウインドウ システムの設定に問題があるのかのいずれかであると考えられます。 まずはランレベルの設定を確認するには root ユーザでログインし、 そのマシンが起動後にランレベル 5 (グラフィカルなデスクトップ) になる よう設定されているかどうかを確認してください。最もシンプルに確認する には、下記のように入力して /etc/inittab の内容を 表示させます:

tux@mercury:~> grep "id:" /etc/inittab 
id:5:initdefault:

上記の例では、既定のランレベル (initdefault) が 5 になっているため、グラフィカルなデスクトップを 表示するように設定されていることがわかります。ランレベルが上記以外の 数字になっている場合は、 YaST ランレベルエディタモジュールを使用して 5 に設定してください。

[Important]

上記のファイルを直接編集することでランレベルの設定変更を行なうことは 避けてください。 SuSEconfig (YaST から実行されます) が起動すると、 これらのファイルを上書きしてしまうためです。直接編集を行ないたい 場合は、あらかじめ SuSEconfig による上書きを禁止するよう、 /etc/sysconfig/suseconfig ファイル 内の CHECK_INITTABno を設定してください。

ランレベルが 5 に設定されていてもグラフィカルな デスクトップが表示されない場合は、設定が誤っているか X ウインドウシステムの ソフトウエアが壊れている可能性があります。 /var/log/Xorg.*.log にあるログファイルを確認し、 X サーバを起動しようとしたときに出力された 詳細なメッセージをお読みください。また、起動時の失敗については /var/log/messages に記録されている場合もあります。 これらに書かれたエラーメッセージは、いずれも X サーバ設定の問題解決への ヒントとなるものですので、これらを利用して解決を試みてください。それでも グラフィカルシステムが起動できない場合は、グラフィカルデスクトップ関連の パッケージを再インストールしてみてください。

[Tip]X ウインドウシステムの手動起動

このような簡易テストも行なえます: テキストコンソールからログイン している場合、 startx コマンドを実行すると設定された 既定値で X ウインドウシステムを起動します。これがうまく行かない場合は コンソールにエラーメッセージが表示されます。

9.4. ログイン関連の問題

ログイン問題とは、お使いのシステムは問題なく起動して「ようこそ」画面や ログインプロンプトが現われるものの、正しいユーザ名とパスワードが受け入れ られなかったり、受け入れられても正しく動作しなかったりする (グラフィカルな デスクトップが起動しない、エラーが表示される、コマンドラインに落ちてしまう など) ことを指します。

9.4.1. 有効なユーザ名とパスワードでログインできない問題

この問題は、一般にネットワーク認証やディレクトリサービスが設定された 環境で発生するもので、設定されたサーバから何らかの理由で結果を取得 できない場合に起こります。このような場合でも、システムに唯一作成された ユーザである 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項 「暗号化したホームディレクトリへのログインに失敗する問題」 をお読みください。

外部のネットワーク問題を除く全ての問題を解決するには、システムを再起動 してシングルユーザモードに移行し、設定を書き換えてからもう一度再起動を 行なってください。これにより問題なくログインできるようになります。 シングルユーザモードに移行するには下記の手順で行ないます:

  1. システムを再起動します。起動画面が表示されたら次の手順を行ないます。

  2. 起動プロンプトに 1 を入力し、シングルユーザモード での起動を行ないます。

  3. root のユーザ名とパスワード を入力します。

  4. 必要な全ての設定修正を行ないます。

  5. コマンドラインから telinit 5 と入力すると、 マルチユーザ兼ネットワークモード (通常のモード) に戻すことができます。

9.4.2. 有効なユーザ名とパスワードが受け入れられない問題

これは様々な理由で発生する問題であるため、とても多く直面する問題です。 ローカルでユーザ管理を行なっているのか、それともネットワーク認証を設定 しているのかによって、ログインの失敗原因が異なります。

ローカルでユーザを管理している場合、下記の理由で失敗することが考えられます:

  • 入力したパスワードが誤っている。

  • ユーザのホームディレクトリに含まれるデスクトップの設定ファイルが 壊れているか、もしくは書き込み禁止になっている。

  • X ウインドウシステムを利用していて、かつ特定のユーザでのみ発生する 問題である場合、現在の Linux ディストリビューションをインストールする 前に他のディストリビューションをインストールしていて、該当ユーザの ホームディレクトリに古い設定が残っている。

ローカルでユーザを管理していてログインが失敗する場合、下記の手順で原因を判別してください:

  1. まずは全体の認証メカニズムについてデバッグを行なう前に、記憶している パスワードが間違っていないことを確認してください。ユーザがパスワードを 正しく覚えていない場合は、 YaST のユーザ管理モジュールを利用して、 そのユーザの パスワードを新しく設定してください。なお、 パスワード入力際には Caps Lock キーが押されているか どうか、よくご確認ください。

  2. root でログインを行ない、 ログイン処理と PAM に何かエラーが出ていないか、 /var/log/messages を読んで確認してください。

  3. Ctrl+Alt+F1 を押してコンソールに移動し、ログインを試してみてください。 これで問題なくログインできるようであれば、このマシンでの認証処理は 問題なく動作していることになるため、 PAM には問題がないことが判明 します。 X ウインドウシステムやデスクトップ (GNOME または KDE) の 原因を探ってみてください。詳しくは 9.4.4項 「ログインは成功するが、 GNOME デスクトップが正しく表示されない問題」 および 9.4.5項 「ログインは成功するが、 KDE デスクトップが表示されない問題」 をお読みください。

  4. ユーザのホームディレクトリが、過去に他の Linux ディストリビューション で利用していたものの場合は、ユーザのホームディレクトリ内にある Xauthority ファイルを削除してください。 Ctrl+Alt+F1 を押してコンソールに移動し、対象のユーザでログインを行なって rm .Xauthority を実行してください。 これにより X の認証問題は解決したことになります。 Ctrl+Alt+F7 を押して、再度グラフィカルなログインをお試しください。

  5. これでもグラフィカルなログインがうまくいかない場合は、まず Ctrl+Alt+F1 を押してコンソールからログインを行なってください。 その後、新しいディスプレイ番号を指定して X セッションを起動します。 たとえば通常のグラフィカルログイン画面では (:0) を利用して表示しているため、下記のようにして別のディスプレイ番号を 指定して起動します:

    startx -- :1

    上記を実行すると、グラフィカルな画面とデスクトップが表示されるはずです。 表示されない場合は、 X ウインドウシステムのログファイル (/var/log/Xorg.ディスプレイ番号.log) か、もしくはお使いのデスクトップアプリケーションのログファイル (ホームディレクトリ内の .xsession-errors) をお読みになり、問題点を把握してください。

  6. 設定ファイルが壊れてしまったことによってデスクトップが起動できない場合は、 9.4.4項 「ログインは成功するが、 GNOME デスクトップが正しく表示されない問題」 または 9.4.5項 「ログインは成功するが、 KDE デスクトップが表示されない問題」 の手順に従ってください。

ネットワーク認証を設定している環境で特定のユーザ/特定のマシンでだけ ログインに失敗する場合は、下記の理由が考えられます:

  • 入力したパスワードが誤っている。

  • 同じユーザ名のユーザがローカルの認証ファイルに存在していて、 ネットワーク認証システムが提供するものと重複している。

  • ホームディレクトリが存在しているものの、壊れているか利用できない。 書き込みが禁止されているか、サーバからアクセスできない。

  • 認証システム側の設定により、特定のホストとユーザの組み合わせで ログインが禁止されている。

  • マシンのホスト名を何らかの理由で変更したが、ユーザはそのホストに 対するログイン権利を与えられていない。

  • そのマシンから、ユーザの情報が含まれている認証サーバやディレクトリ サーバにアクセスできない。

  • X ウインドウシステムを利用していて、かつ特定のユーザでのみ発生する 問題である場合、現在の Linux ディストリビューションをインストールする 前に他のディストリビューションをインストールしていて、該当ユーザの ホームディレクトリに古い設定が残っている。

ネットワーク認証でログインが失敗する場合、下記の手順で原因を判別してください:

  1. まずは全体の認証メカニズムについてデバッグを行なう前に、記憶している パスワードが間違っていないことを確認してください。

  2. そのマシンが認証に使用しているディレクトリサーバがどのホストである のかを確認し、そのホストが正しく動作していて、他のマシンでの認証が 問題なく動作していることを確認してください。

  3. ユーザのユーザ名とパスワードを確認し、他のマシンでもその認証データが 存在し、配布されていることを確認してください。

  4. うまく動作しないほうのマシンに対して、他のユーザがログインできるか どうかを確認してください。他のユーザで問題なくログインできる場合や、 root でログインできる場合は、 ログインを行なって /var/log/messages ファイルを お読みください。 PAM で何らかのエラーが発生した場合は、それを実施した 時刻のタイムスタンプでエラーメッセージが記録されているはずです。

  5. Ctrl+Alt+F1 を押してコンソールに移動し、ログインを試してみてください。 これで問題なくログインできるようであれば、このマシンでの認証処理は 問題なく動作していることになるため、 PAM やディレクトリサーバには問題が ないことが判明します。 X ウインドウシステムやデスクトップ (GNOME または KDE) の原因を探ってみてください。詳しくは 9.4.4項 「ログインは成功するが、 GNOME デスクトップが正しく表示されない問題」 および 9.4.5項 「ログインは成功するが、 KDE デスクトップが表示されない問題」 をお読みください。

  6. ユーザのホームディレクトリが、過去に他の Linux ディストリビューション で利用していたものの場合は、ユーザのホームディレクトリ内にある Xauthority ファイルを削除してください。 Ctrl+Alt+F1 を押してコンソールに移動し、対象のユーザでログインを行なって rm .Xauthority を実行してください。 これにより X の認証問題は解決したことになります。 Ctrl+Alt+F7 を押して、再度グラフィカルなログインをお試しください。

  7. これでもグラフィカルなログインがうまくいかない場合は、まず Ctrl+Alt+F1 を押してコンソールからログインを行なってください。 その後、新しいディスプレイ番号を指定して X セッションを起動します。 たとえば通常のグラフィカルログイン画面では (:0) を利用して表示しているため、下記のようにして別のディスプレイ番号を 指定して起動します:

    startx -- :1

    上記を実行すると、グラフィカルな画面とデスクトップが表示されるはずです。 表示されない場合は、 X ウインドウシステムのログファイル (/var/log/Xorg.ディスプレイ番号.log) か、もしくはお使いのデスクトップアプリケーションのログファイル (ホームディレクトリ内の .xsession-errors) をお読みになり、問題点を把握してください。

  8. 設定ファイルが壊れてしまったことによってデスクトップが起動できない場合は、 9.4.4項 「ログインは成功するが、 GNOME デスクトップが正しく表示されない問題」 または 9.4.5項 「ログインは成功するが、 KDE デスクトップが表示されない問題」 の手順に従ってください。

9.4.3. 暗号化したホームディレクトリへのログインに失敗する問題

ラップトップマシンでは、ホームディレクトリのパーティションの暗号化が 推奨されます。このような場合にお使いのラップトップにログインできない 場合は、たいていの原因はシンプルに判明します。単にパーティションの 暗号が読み出せないということが考えられます。

起動時に暗号化パーティションの暗号を解除するため、パスワードの入力を 求められます。この時点で入力を行なわないと、パーティションの暗号化は そのままで起動処理が続けられます。

暗号化パーティションの暗号を解除するには、下記の手順で行ないます:

  1. Ctrl+Alt+F1 を押して、テキストコンソールに 移動します。

  2. root でログインします。

  3. 下記のコマンドで暗号解除処理を再起動します:

    /etc/init.d/boot.crypto restart
  4. 暗号化パーティションの暗号を解除するため、パスワードを入力します。

  5. テキストコンソールからログアウトし、再度グラフィカルなログイン画面に 戻ります。 Alt+F7 を押してください。

  6. 通常どおりにログインします。

9.4.4. ログインは成功するが、 GNOME デスクトップが正しく表示されない問題

この場合は、 GNOME 設定ファイルが 壊れていることが考えられます。キーボードか正しく動作しなかったり、 画面がゆがんでいたり、場合によっては何も表示されずグレー (灰色) 表示の ままになってしまったりします。もっとも重要な違いは、他のユーザがログイン したときには問題なく動作するという点です。この場合に最も簡単に解決する 方法は、ユーザの GNOME 設定を新しいディレクトリに移動することです。 これにより GNOME の設定を初期化し、新しく作成し直すことができます。 GNOME 関連の設定をユーザ側でやり直す必要が発生してしまいますが、データの 損失は発生しません。

  1. まずは Ctrl+Alt+F1 を押して、テキストコンソールに 移動します。

  2. 問題の発生しているユーザ名でログインします。

  3. ユーザの GNOME 設定ディレクトリを別の場所に移動します。下記のように して行ないます:

    mv .gconf  .gconf-ORIG-RECOVER
    mv .gnome2 .gnome2-ORIG-RECOVER
  4. 移動が終わったら、ログアウトします。

  5. 再度ログインします。このとき、アプリケーションは起動しないで ください。

  6. あとは個別のアプリケーション設定データ (Evolution の電子メール クライアントデータなど) を復旧します。これは ~/.gconf-ORIG-RECOVER/apps/ にあるファイルを ~/.gconf ディレクトリに書き戻すことによって 行ないます。下記の手順で行ないます:

    cp -a .gconf-ORIG-RECOVER/apps .gconf/

    書き戻したあと、再度ログアウトしてからログインしなおします。 問題が再発するようであれば、どうしても必要なデータだけを 復旧し、それ以外については設定し直すことで対応してください。

9.4.5. ログインは成功するが、 KDE デスクトップが表示されない問題

KDE デスクトップで特定のユーザがログインできない問題に直面した場合は、 いくつかの理由が考えられます。キャッシュデータが壊れていてログイン時に 問題を起こしているか、もしくは KDE のデスクトップ設定ファイルが壊れて いることが考えられます。

キャッシュデータはデスクトップの起動処理を高速化する目的で作成された ものです。これらのデータが壊れていた場合、起動処理が遅くなるか、 もしくは起動が失敗します。これらを削除すると、デスクトップの起動処理に キャッシュを使用しなくなります。これにより通常の起動よりは時間がかかる ようになりますが、データが失われることはなく、ログインも問題なく行なう ことができるようになります。

KDE デスクトップでキャッシュファイルを削除するには、下記のコマンドを root で実行します:

rm -rf /tmp/kde-ユーザ名 /tmp/ksocket-ユーザ名

ここで、 ユーザ名 には実際のユーザ名を 入力します。これら 2 つのディレクトリを削除しても壊れたキャッシュ ファイルを削除するだけで、実際のデータがこの作業で削除されることは ありません。

また、デスクトップの設定ファイルが壊れた場合は、いつでも初期状態の 設定ファイルに置き換えることができます。ユーザが様々に設定した内容を 復元する場合は、一時的に保管しておいた場所から注意して各設定ファイル を書き戻してください。

壊れたデスクトップ設定ファイルを初期値に置き換えるには、下記の手順で 行ないます:

  1. まずは Ctrl+Alt+F1 を押して、テキストコンソールに 移動します。

  2. 問題の発生しているユーザ名でログインします。

  3. KDE の設定ディレクトリと .skel ファイルを、別の一時的な場所に移動します:

    • KDE3 の場合は下記のコマンドを実行します:

      mv .kde  .kde-ORIG-RECOVER 
      mv .skel .skel-ORIG-RECOVER
    • KDE4 の場合は下記のコマンドを実行します:

      mv .kde4  .kde4-ORIG-RECOVER 
      mv .skel .skel-ORIG-RECOVER
  4. 移動が終わったら、ログアウトします。

  5. ログインしなおします。

  6. デスクトップが正常に起動したら、ユーザの設定を元の場所にコピー し直します:

    cp -a KDEDIR/share .kde/share

    ここで、 KDEDIRステップ 3 で指定したディレクトリを 指定します。

    [Important]

    書き戻したあと、再度ログアウトしてからログインしなおします。 問題が再発するようであれば、手順を繰り返してください。 このとき、 .kde/share ディレクトリのコピー 手順については実施しないでください。

9.5. ネットワーク関連の問題

お使いのシステムで発生する問題の多くはネットワークに関連したもので、 場合によっては当初、ネットワークの問題ではないように見えていることもあります。 たとえばユーザがログインできない問題の原因が、何らかのネットワーク問題に よって発生したものであったりします。この章では、ネットワークの問題に 直面していないかどうかを確認するための、簡易なチェックリストを掲載して います。

手順9.6 ネットワーク関連の問題の判別方法

お使いのマシンでネットワーク接続を確認するには、下記の手順で行ないます:

  1. イーサネット接続をご利用の場合は、まずはハードウエアを確認します。 まずはネットワークケーブルについて、お使いのコンピュータに正しく接続 されていて、かつルータ (またはハブなど) につながっているかどうかを 確認してください。お使いのイーサネットコネクタに LED が付属している 場合は、 LED が点灯していることを確認してください。

    接続がうまくいっていない場合は、そのケーブルが他のマシンで動作するもの であるかどうかを確認してください。他のマシンで問題なく動作するもので あれば、お使いのネットワークカードかハブ、またはスイッチに問題がある ことを示しています。

  2. 無線接続をご利用の場合は、他のマシンからその無線に接続できることを 確認してください。他のマシンからも接続できない場合は、無線ネットワークの 管理者にお尋ねください。

  3. 基本的なネットワーク接続の確認を行なったら、次はどのサービスが応答しない のかを確認します。お使いの設定で必要な全てのサーバについてアドレス情報を 収集してください。あとは適切な YaST モジュールを利用して接続可否を 確認するか、もしくはシステム管理者に確認してください。下記は典型的な ネットワーク環境で、使用されるサーバの一覧を示しています。

    DNS (ネームサービス)

    本来提供されていたネームサービスが停止したり正しく応答しなかったり すると、多くの場合にネットワークの機能性が損なわれます。たとえば ローカルマシンが認証を行なうのに何らかのネットワークサーバを利用して いる場合、これらのサーバが名前解決の問題によってアクセスできなくなり ますので、ユーザがログインできなくなってしまいます。ネームサーバの サービスが停止している環境では、マシン間を互いに 参照 したり通信したりすることができなくなる場合もあります。

    NTP (時刻サービス)

    NTP サービスが正しく応答しなかったり停止してしまったりすると、 Kerberos 認証や X サーバの機能に影響を及ぼします。

    NFS (ファイルサービス)

    アプリケーションが NFS マウントされたディレクトリ上にデータを保存 する必要がある場合、このサービスがダウンしたり誤った設定が為されていたり すると、そのアプリケーションを起動することができない場合や、正しく 動作しない場合があります。最悪の場合は、ユーザのホームディレクトリ に含まれる .gconf.kde ディレクトリを発見することができず、個人のデスクトップ設定が現われ ない場合もあります。

    Samba (ファイルサービス)

    正しく動作していない Samba サーバ上のディレクトリにアプリケーション のデータを保存している場合、起動できなかったり正しく動作しなかったり する場合があります。

    NIS (ユーザ管理)

    お使いの openSUSE が正しく動作していない NIS サーバに依存して いて、その NIS サーバからデータの提供を受けている場合は、そのマシン ではログインが行なえなくなります。

    LDAP (ユーザ管理)

    お使いの openSUSE が正しく動作していない LDAP サーバに依存して いて、その LDAP サーバからデータの提供を受けている場合は、そのマシン ではログインが行なえなくなります。

    Kerberos (認証)

    認証が動作しなくなり、そのサーバを利用している任意のマシンでログイン が行なえなくなります。

    CUPS (ネットワーク印刷)

    ユーザが印刷を行なうことができなくなります。

  4. お使いのネットワークサーバが稼働しているか、およびお使いのネットワーク 環境で接続を許可しているかどうかを確認します:

    [Important]

    下記に示すデバッグ手順は単純なネットワークサーバ/クライアント 通信を確認するための手順で、内部の経路制御 (ルーティング) については 確認を行ないません。サーバとクライアント間の通信を行なう際に、追加の 経路情報を追加したりすることなくアクセスできる、同一サブネット内の 環境に両者が存在することを前提にしています。

    1. まずは ping IP アドレス または ホスト名 のコマンドを実行 (ここで、 ホスト名 にはサーバのホスト名を 入れます) し、そのマシンが生きていることとネットワーク側に応答があることを 確認します。このコマンドが成功した場合は、そのマシンが生きていてネーム サービスにも問題が無く、かつネットワークの設定が正しく行なわれていることを 意味します。

      destination host unreachable のようなエラー メッセージで失敗した場合は、お使いのシステムか相手のサーバが正しく 設定されていないか、もしくは稼働していないことが考えられます。 これをさらに切り分けるため、 ping IP アドレス または 自分のホスト名 を他のマシンから実行して、他のマシンからお使いのマシンにアクセス できるかどうかを確認してください。他のマシンからお使いのマシンに アクセスできていれば、サーバ側に何らかの問題があって、お使いの マシンの設定には問題がないことがわかります。

      unknown host のようなエラーメッセージで失敗した 場合は、ネームサービスが正しく設定されていないか、使用しているホスト 名が正しくないことを示しています。この種類の問題についてさらに 調査を行なうには、 ステップ 4.b をお読みください。 それでも ping がうまくいかない場合は、お使いのネットワークカードが 正しく設定されていないか、ハードウエア側の問題となります。

    2. まずは host ホスト名 のコマンドを実行し、接続しようとしているサーバのホスト名が正しく IP アドレスに変換されるかどうか (およびその逆も合わせてテスト されます) を確認してください。このコマンドを実行した結果、ホストの IP アドレスが正しく表示された場合は、ネームサービスは正しく動作して いることを表わします。 host コマンドで正しい IP アドレスが表示されなかったり、エラーになったりした場合は、 お使いのコンピュータの設定内で、名前やアドレスの解決に関する下記の 設定が正しいことを確認してください:

      /etc/resolv.conf

      このファイルはネームサーバのアドレスと使用しているドメインを それぞれ記述するファイルです。手動で変更することができるほか、 YaST や DHCP で自動変更させることもできます。可能であれば 自動設定をお勧めします。しかしながら、このファイルが下記の ような構造になっていて、それぞれネットワークアドレスと ドメイン名が正しいことを確認してください:

      search 完全修飾ドメイン名
      nameserver ネームサーバの IP アドレス

      なお、このファイルには複数のネームサーバアドレスを指定している 場合もありますが、その場合は少なくともそれらのうちの 1 つが 正しい名前解決機能を提供しなければなりません。必要に応じて YaST ネットワークモジュール (ホスト名/DNS のタブ) を利用して 設定を変更してください。

      また、お使いのネットワークが DHCP を利用したアドレス管理を 行なっている場合は、 DHCP でホスト名を取得するため、 YaST のネットワークモジュールで DHCP でホスト名を変更 を選択してください。

      /etc/nsswitch.conf

      このファイルは Linux に対して、ネームサービス情報の参照先を指定 します。下記のように書かれているはずです:

       ...
      hosts: files dns
      networks: files dns
      ...

      dns の項目がポイントです。この項目は Linux に 対して外部のネームサーバを使用するように指定するためのキーワード です。通常これらの項目は YaST で作成しますが、念のため調べて おいてください。

      対象のホストにおける全ての設定が正しいことを確認したら、システム 管理者に対して正しいゾーン情報が DNS サーバに設定されているかを 確認してください。DNS について、詳しくは 第 1 章 ドメインネームシステム (↑リファレンス) をお読みください。 お使いのホストにおける DNS 設定が正しく、かつ DNS サーバも問題 なく動作している場合は、お使いのマシンでのネットワーク設定と ネットワークデバイスの設定が正しいことを確認してください。

    3. ネームサービス関連の原因をあたったものの該当する原因が見つからず、 お使いのシステムとネットワークサーバとの通信が確立できない場合は、 お使いのネットワークカードの設定を確認してください。

      root から ifconfig ネットワークデバイス コマンドを実行し、このデバイスが正しく設定されているかどうかを 確認してください。まずは inet addr (IP アドレス) と Mask (サブネットマスク) の欄が正しく設定されている ことを確認します。 IP アドレスかサブネットマスクのいずれかが 間違っていた場合、そのままのネットワーク設定では接続が行なえません。 必要であれば、この手順をサーバ側でも実施してください。

    4. ネームサービスとネットワークハードウエアが正しく設定されていて動作 していることを確認しても接続に時間がかかったり失敗したりする場合は、 さらに root から traceroute 完全修飾ドメイン名 を実行してください。これにより、お使いのマシンから目的のサーバに たどり着くまでに経由した、全てのゲートウエイ (ホップ; hop) を確認 することができます。それぞれのホップでの応答時間と、到達可否が それぞれ表示されます。 traceroute と ping の組み合わせでネットワーク の問題を切り分け、管理者に知らせてください。

ネットワークトラブルの原因を判別したら、あとはそれをご自身で解決する (もちろん、その原因がお使いのマシン内にあれば、ですが) か、もしくは お使いのネットワークのシステム管理者に情報を知らせてサービスを再設定 してもらうか、対象のシステムを修復してもらってください。

9.5.1. NetworkManager の問題

ネットワーク接続について何か問題が発生している場合、まずは 手順9.6「ネットワーク関連の問題の判別方法」 で切り分けを行なってください。 NetworkManager が原因ではないかと思われる場合は、 NetworkManager の失敗理由を調べるため、 下記の手順を行なってください:

  1. root でログインします。

  2. NetworkManager を再起動します:

    rcnetwork restart -o nm
  3. インターネットに接続できる環境であれば、たとえば http://www.opensuse.org などをブラウザで開いてみます。 root で問題なく表示できた場合は、一般ユーザでも試してみてください。

  4. あとは /var/log/NetworkManager 内に NetworkManager のログファイルがありますので、ここから処理を追跡してください。

NetworkManager について、さらなる情報は 第5章 NetworkManager の使用 を お読みください。

9.6. データ関連の問題

データ関連の問題とは、マシンが正常に起動する場合もしない場合もありますが、 いずれにしてもシステム上のデータが壊れていて、何らかの作業で復元する必要 がある問題のことを指します。この場合は、あらかじめ重要なデータについては バックアップを採取しておいてください。これにより、万が一システム上の データが壊れてしまったとしても、復元することができるようになります。 openSUSE ではバックアップや復元を行なうための専用 YaST モジュール が用意されているほか、レスキューシステムとして壊れてしまったシステムを 外側から修復する手段も用意しています。

9.6.1. パーティションイメージの管理

パーティション全体やハードディスク全体をバックアップする必要が発生する 場合があります。この場合は Linux に添付されている dd ツールを利用し、お使いのハードディスクに対する正確なコピーを作成して ください。 gzip を併用すると、ディスク領域を節約する こともできます。

手順9.7 ハードディスクのバックアップと復元

  1. まずは root でログインします。

  2. 次にソースデバイスを選択します。一般的な環境では、これは /dev/sda (以降では ソース として表記します) です。

  3. さらに作成するイメージの送り先ディレクトリ (以降では バックアップパス として表記します) を選択します。 送り先はソースデバイスと異なるものでなければなりません。 言い換えれば、 /dev/sda からバックアップを作成する 場合、 /dev/sda やその中のパーティションには バックアップを作成するべきではありません。

  4. 下記のコマンドを実行し、圧縮イメージファイルを作成します:

    dd if=/dev/ソース | gzip > /バックアップパス/image.gz 
  5. 圧縮イメージファイルから復元を行なう場合は、下記のコマンドを実行します:

    gzip -dc /バックアップパス/image.gz | dd of=/dev/ソース

パーティションごとにバックアップを採取したい場合は、 ソース の部分をそれぞれパーティションに 置き換えてください。この場合は、バックアップパスを異なるハードディスクに 設定する必要はなく、同一ハードディスクの別パーティションに作成する ことができます。

9.6.2. 重要データのバックアップ

システムデータのバックアップは、 YaST のシステムバックアップモジュールを 利用して簡単に採取することができます:

  1. root の状態から YaST を起動し、 システム+システムのバックアップ を選択します。

  2. バックアップに必要な全てのデータを包含するバックアッププロファイルを 作成し、アーカイブファイルのファイル名と範囲、バックアップ種類の選択 をそれぞれ行ないます:

    1. プロファイル管理+追加 を押します。

    2. アーカイブの名前を入力します。

    3. ローカルバックアップを作成する場合は、バックアップファイルの ファイル名をフルパスで指定します。ネットワークサーバ (NFS) 上に バックアップを作成する場合は、サーバの IP アドレスかホスト名を 入力し、アーカイブを作成するディレクトリを指定します。

    4. アーカイブの種類を選択し、 次へ を押します。

    5. パッケージに属していないファイルをバックアップするかどうか、 アーカイブの作成前にファイル一覧を表示するかなどをそれぞれ 指定します。また MD5 の仕組みを利用して変更されたファイルの 検出を行なうかどうかを指定します。 MD5 を使用するよう指定すると、 処理に時間がかかるようになります。

      さらに 熟練者設定 を押し、ハードディスク領域全体を バックアップするかどうかを指定します。現時点では、本項目は ext2 ファイルシステムでのみご利用いただけます。

    6. 最後に、バックアップを行なう必要のないシステム領域をバックアップから 除外する設定を行ないます。これにはロック (施錠) ファイルやキャッシュ ファイルなどが該当します。それぞれ必要に応じて追加/編集/削除を行ない、 OK を押します。

  3. プロファイルの作成が完了したら、あとは バックアップの作成 を押すとバックアップを採取することができます。また、ここから 自動バックアップを設定することもできるほか、さらに異なるプロファイルを 作成して、それぞれの用途に応じたバックアップを作成することもできます。

設定済みのプロファイルに対して自動バックアップを設定するには、 下記の手順で行ないます:

  1. プロファイル管理 から 自動バックアップ を選択します。

  2. バックアップを自動的に開始 を選択します。

  3. バックアップ周期を指定します。 毎日, 毎週, 毎月 の中から選んでください。

  4. さらにバックアップの開始時刻を指定します。この設定は、選択した バックアップ周期によって異なりますが、それぞれ曜日や日、時刻を指定します。

  5. また、古いバックアップを保存するかどうかと、保存数を指定します。 これに加え、バックアップ処理が自動生成したステータスメッセージを 受信したい場合は、 概要メールを root ユーザに送信する を選択します。

  6. OK を押すと設定が保存されます。 指定した日時になるとバックアップの採取が始まります。

9.6.3. システムバックアップからの復元

YaST のシステム復元モジュールを利用すると、採取したバックアップから システム設定を復元することができます。バックアップ全体を書き戻すか、 もしくは壊れてしまった指定のコンポーネントだけを書き戻すか、もしくは 古い状態にリセットする必要があるかをそれぞれ指定することができます。

  1. YaST+システム+システムの復元 を選択します。

  2. まずはバックアップファイルの場所を指定します。ローカルファイルのほか、 ネットワーク上にあるファイルやフロッピィ, DVD などのリムーバブル デバイスも指定することができます。指定を行なったら 次へ を押します。

    現われたダイアログには、アーカイブの概要が表示されています。 ファイル名や作成日、バックアップの種類やコメントなどが表示されます。

  3. まずは アーカイブの内容 を押して、アーカイブの 内容を確認してください。 OK を押すと アーカイブの詳細 ダイアログに戻ることができます。

  4. 復元処理について細かく指定を行なうには、 熟練者オプション をご利用ください。 OK を押すと アーカイブの詳細 ダイアログに戻ることができます。

  5. ここから 次へ を押すと、復元するパッケージの一覧が 表示されます。そのまま 了解 を押すとアーカイブ内 にある全てのファイルを復元できるほか、それぞれ 全てを選択, 全てを選択解除, ファイルの選択 を 利用することで、復元するファイルを選択することもできます。 なお RPM データベースを復元する は、 RPM データベースが 壊れてしまった場合や削除されている場合で、かつバックアップアーカイブ 内にデータベースファイルが存在している場合にのみ選択してください。

  6. 了解 を押すとバックアップからの復元処理が始まります。 復元が完了したら 完了 を押して閉じてください。

9.6.4. 壊れてしまったシステムの修復

システムが起動しなかったり、正しく実行することができなかったりするシステム には、何らかの原因が存在しています。たとえばファイルシステムが壊れると システムクラッシュを引き起こしたり、設定ファイルを破壊してしまったり、 ブートローダの設定を壊してしまったりすることがあります。

openSUSE では、これらの状況に対応するため 2 種類の異なる対応を提供 しています。 YaST のシステム修復機能を利用することができるほか、レスキュー システムと呼ばれるものを起動して行なうこともできます。本章では、それぞれの 種類のシステム修復方法について説明を行なっています。

9.6.4.1. YaST システム修復

[Note]キーボードと言語の設定

起動後に言語やキーボードの設定を変更したい場合は、必要に応じて設定して ください。

YaST システム修復モジュールを起動する前に、システム修復をどのようにして 動作させる必要があるのかを決めておく必要があります。これはお使いのシステム の重要度とトラブルの種類 (そして利用される方の知識と経験) にあわせて、 3 種類の異なる方法を提供しています:

自動修復

お使いのシステムの壊れた理由がわからず、基本的にシステムのどの部分が おかしくなっているのかがわからない場合、 自動修復 をお使いください。広範囲にわたる自動チェックが行なわれ、お使いのシステム における全てのコンポーネントを検証します。この処理の詳細な流れに ついては、 9.6.4.1.1項 「自動修復」 を お読みください。

カスタマイズした修復

お使いのシステムに障害が発生していて、既にどの部分がおかしくなっている のかがわかっている場合、 自動修復 による長いシステム チェックを部分的に省略することができます。これはシステム分析の範囲を 狭めることで実現するもので、たとえば障害が発生している際にパッケージ データベースからのエラーが発生しているような場合、分析と修復の処理範囲 を限定し、システム内のこれらの要素に限って確認と修復を行なうことが できます。この処理の手順については、 9.6.4.1.2項 「修復のカスタマイズ」 をお読みください。

熟練者向けツール

どのコンポーネントが壊れているのかが既にわかっていて、かつどのように修復 すればいいのかがわかっている場合は、分析処理そのものを行なわず、それぞれ 関連するコンポーネントの修復ツールを直接起動することができます。 詳しくは 9.6.4.1.3項 「熟練者向けツール」 をお読みください。

上記で説明した修復方法のうちいずれかを選択し、それぞれ下記の章に示す手順 でシステム修復を実施してください。

9.6.4.1.1. 自動修復

YaST システム修復の自動修復モードを起動するには、下記の手順で行ないます:

  1. お使いの DVD ドライブに、 openSUSE のインストールメディアを挿入します。

  2. システムを再起動します。

  3. 起動画面では インストール済みシステムの修復 を選択します。

  4. ライセンス同意の確認を行ない、 次へ で先に進みます。

  5. 自動修復 を選択します。

    YaST はインストール済みシステムについて、広範囲にわたる分析を行ないます。 作業の進捗は 2 つのプログレスバーで表示されます。上側のバーは現在のテスト における進捗度合いを、下側のバーは分析全体の進捗度合いをそれぞれ表示して います。また、その上にはログウインドウがあり、現在実行中のテスト内容と その結果を表示しています。 図9.2「自動修復モード」 をご覧ください。

    図9.2 自動修復モード

    自動修復モード

    下記に示す主なテストは毎回実行されるものです。これらには複数の 個別サブテストが含まれています:

    パーティションテーブルの確認

    検出された全てのハードディスクに対し、パーティションテーブルの整合性 と一貫性を確認します。

    スワップ領域の確認

    インストール済みのシステムにあるスワップパーティションを検出し、 テストを行なって有効にするかどうか (もし存在すれば) を確認します。 スワップを有効に設定すると、システム修復処理をより素早く行なうことが できるようになります。

    ファイルシステムの確認

    検出された全てのファイルシステムに対し、ファイルシステム固有の チェックを行ないます。

    fstab の項目確認

    上記ファイル内の項目をチェックし、完全性と一貫性を確認します。 全ての有効なパーティションをマウントします。

    パッケージデータベースの確認

    最小限の動作を行なうのに必要な、全てのパッケージについて確認を 行ないます。基本パッケージについても確認を行なうよう、任意で 指定を行なうこともできますが、これらはファイル数が多いため、 長い時間を要する処理になります。

    ブートローダの設定確認

    インストール済みのシステムに対するブートローダ (GRUB または LILO) の設定を確認し、完全性と一貫性を検証します。起動パーティションと ルートパーティションについて利用できるかどうか確認を行ない、 initrd のモジュールが正しいかどうかも確認を行ないます。

  6. この流れの最中に何らかのエラーが検出されると、処理は中断されて詳細を 表示するダイアログが開き、考えられる解決方法が提示されます。

    提案された修正を受け入れる前に、画面に表示されたメッセージをよく お読みください。修正を受け入れない場合は、お使いのシステムにはなにも 変更が加えられません。

  7. 修復処理が正常に終了したら、 OK および 完了 ボタンを押してインストールメディアを取り出して ください。システムは自動で再起動します。

9.6.4.1.2. 修復のカスタマイズ

カスタム修復 モードを起動し、お使いのインストール済み システムに対して特定の項目だけを選んでチェックさせたい場合は、下記の 手順で行ないます:

  1. お使いの DVD ドライブに、 openSUSE のインストールメディアを挿入します。

  2. システムを再起動します。

  3. 起動画面では インストール済みシステムの修復 を選択します。

  4. ライセンス同意の確認を行ない、 次へ で先に進みます。

  5. カスタム修復 を選択します。

    カスタム修復 を選択すると、当初は全てのテストにチェックが 付けられた形でテストの一覧が表示されます。全てを選択すると、自動修復と 同じ処理になります。それぞれの項目について問題のないことがわかっているもの があれば、それらのチェックを外してください。 次へ を 押すと、実行時間の短縮された、狭い範囲のテスト処理が動き出します。

    全てのテストグループが個別に動作するというわけではありません。たとえば fstab の項目は、既存のスワップパーティションを含むファイルシステムのテストを 選択した場合であれば、常に実施されます。 YaST ではこのようなテスト同士の 依存関係を自動的に解決し、必要最小限のテストだけを選択するような仕組みに なっています。 また、 YaST では暗号化パーティションには対応していません。もしもお使いの場合は、 YaST がその旨のメッセージを表示します。

  6. この流れの最中に何らかのエラーが検出されると、処理は中断されて詳細を 表示するダイアログが開き、考えられる解決方法が提示されます。

    提案された修正を受け入れる前に、画面に表示されたメッセージをよく お読みください。修正を受け入れない場合は、お使いのシステムにはなにも 変更が加えられません。

  7. 修復処理が正常に終了したら、 OK および 完了 ボタンを押してインストールメディアを取り出して ください。システムは自動で再起動します。

9.6.4.1.3. 熟練者向けツール

openSUSE の仕組みについて熟知されている方で、お使いのシステムに 対して何をすれば解決できるかについてわかっている方であれば、システム分析 の手順を飛ばして直接ツールを起動したほうが都合の良い場合があります。

YaST のシステム修復モジュールから 熟練者用ツール を 使用するには、下記の手順で行ないます:

  1. お使いの DVD ドライブに、 openSUSE のインストールメディアを挿入します。

  2. システムを再起動します。

  3. 起動画面では インストール済みシステムの修復 を選択します。

  4. ライセンス同意の確認を行ない、 次へ で先に進みます。

  5. 熟練者用ツール を選択し、修復オプションを選択します。

  6. 修復処理が正常に終了したら、 OK および 完了 ボタンを押してインストールメディアを取り出して ください。システムは自動で再起動します。

熟練者用ツール では、壊れたシステムを修復するために 下記のようなオプションが用意されています:

新しいブートローダをインストールする

YaST のブートローダ設定モジュールを起動します。詳細は 項 「YaST を利用したブートローダの設定」 (第17章 ブートローダ GRUB, ↑リファレンス) をお読みください。

インストール済みシステムの起動

既にインストール済みの Linux システムを起動しようとします。

パーティションツールの起動

YaST のパーティション設定ツールを起動します。

ファイルシステムの修復

お使いのシステムに対して、ファイルシステムのチェックを行ないます。 まずは検出された全てのパーティションから、チェックを行ないたい パーティションを選択してください。

失われたパーティションの復旧

パーティションテーブルが壊れている場合、それらを再構築できるかどうか を試してみることができます。まずは検出されたハードディスクの一覧が 表示されますので、そこから選択を行なってください。 OK を押すとテストが始まります。この処理は、お使い のコンピュータの動作速度とハードディスクのサイズ、およびハードディスク の速度に依存して時間がかかります。

[Important]パーティションテーブルの再構築

パーティションテーブルの再構築は非常に扱いにくいものです。 YaST ではまず、ハードディスクのデータセクタを分析することで、失われた パーティションの検出を試みます。正しく検出されると、失われた パーティションは、再構築されたパーティションテーブル側に書き込みが 行なわれます。これはしかしながら、ごくまれにしか成功しないことに ご注意ください。

システム設定をフロッピィディスクに保存

このオプションを選択すると、重要なシステムファイルをフロッピィディスク に保存します。これらのファイルが壊れてしまったりした場合には、この ディスクから復元することができるようになります。

インストールされたソフトウエアの確認

このオプションを選択すると、パッケージデータベースの一貫性を確認し、 さらにもっとも重要なパッケージが存在しているかどうかを確認します。 このツールを利用することで、インストール済みのパッケージが壊れている 場合、再インストールを行なうことができます。

9.6.4.2. レスキューシステムの使用

openSUSE にはレスキューシステムと呼ばれるシステムが存在します。 レスキューシステムとは RAM ディスク内に読み込んでルートファイルシステムと してマウントすることのできる、小さな Linux システムです。お使いの Linux パーティションとは全く別に利用することができます。 レスキューシステムを使用すると、お使いのシステムの重要部を修復したり修正 したりすることができます:

  • 任意の設定ファイルを編集することができます。

  • ファイルシステムの欠陥を確認したり、自動的な修復処理を行なったりする ことができます。

  • change root という仕組みを利用して、インストール済みの システムにアクセスすることもできます。

  • ブートローダの設定を、確認したり修正したり、再インストールしたりすること ができます。

  • parted コマンドを利用してパーティションのサイズを変更することができます。 このツールに関する詳細は、 GNU Parted の Web サイト http://www.gnu.org/software/parted/parted.html をお読みください。

なお、レスキューシステムは様々なソースや場所から読み出すことができます。 最もシンプルなやり方は、オリジナルのインストールメディアからレスキュー システムを起動することです:

  1. お使いの DVD ドライブに、 openSUSE のインストールメディアを挿入します。

  2. システムを再起動します。

  3. 起動画面では F4 を押し、 DVD-ROM を選択 します。また、メインメニューでは レスキューシステム を 選択します。

  4. Rescue: のプロンプトが現われたら、 root と入力します。パスワードは不要です。

お使いのハードウエアに DVD ドライブが存在しない場合は、ネットワークソース からレスキューシステムを起動することもできます (openSUSE の FTP サーバから起動することもできます) 。 下記の例では、リモートからの起動を行なう場合の例です。 DVD など、他の 起動メディアをお使いの場合は、通常のインストールの際と同様に info ファイルを適宜修正して起動してください。

  1. お使いの環境での PXE 起動設定を開き、 install=プロトコル://インストールソースrescue=1 をそれぞれ追加してください。修復システム を起動したい場合は、 repair=1 を指定してください。 通常のインストールと同様に、 プロトコル には 対応しているネットワークプロトコル (NFS, HTTP, FTP, etc.) を、 インストールソース にはお使いのインストール ソースでパスをそれぞれ入力します。

  2. 項 「Wake on LAN」 (第1章 リモートインストール, ↑リファレンス) で示されている手順に 従い、 Wake on LAN でシステムを起動します。

  3. 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 ファイルを お読みください。

9.6.4.2.1. 設定ファイルの確認と操作

壊れた設定ファイルによってシステムの通常起動を行なうことができないもの と仮定して、レスキューシステムから設定ファイルを修正する場合を例に手順を 説明します。こういう場合でもレスキューシステムから修復を行なうことが できます。

設定ファイルを操作するには、下記の手順で行ないます:

  1. 上記で説明しているうちのいずれかを利用して、レスキューシステムを起動します。

  2. たとえばルートファイルシステムが /dev/sda6 に 存在している場合、下記のようにしてルートファイルシステムをマウントします:

    mount /dev/sda6 /mnt

    上記を実行すると、ルートファイルシステムにある全てのディレクトリが /mnt 以下から見えるようになります。

  3. マウントされたルートファイルシステムにディレクトリを移動します:

    cd /mnt
  4. 問題のある設定ファイルを vi エディタで開きます。設定を変更したら、 ファイルを保存して閉じます。

  5. ルートファイルシステムをレスキューシステムからマウント解除します:

    umount /mnt
  6. コンピュータを再起動します。

9.6.4.2.2. ファイルシステムの修復と確認

一般に、ファイルシステムは実行中の環境からは修復を行なうことができません。 何らかの深刻な問題が発生した場合は、ルートファイルシステムのマウントさえ 行なうことができず、 kernel panic などの形で起動が完了 しない場合があります。このような場合は、オペレーティングシステムの外側から 修復を行なう必要があります。この作業を行なう際は、 YaST のシステム修復処理 をお勧めします (詳しくは 9.6.4.1項 「YaST システム修復」 をお読みください) 。しかしながら、ファイルシステムの確認や修復を手作業で 行ないたい場合は、レスキューシステムから行なうことができます。 レスキューシステムでは、 ext2, ext3, ext4, reiserfs, xfs, dosfs, vfat の各ファイルシステムに対応しています。

9.6.4.2.3. インストール済みシステムへのアクセス

レスキューシステムからインストール済みのシステムにアクセスしたい場合は、 change root と呼ばれる仕組みを利用してアクセスする ことができます。たとえばブートローダの設定を変更したり、ハードウエア設定 ユーティリティを起動したりしたい場合に使用します。

お使いのインストール済みシステムに合わせて、ルート環境を変更します。 下記の手順で行ないます:

  1. まずはインストール済みのシステムのルートパーティションと、デバイス ファイルシステムについてそれぞれマウントを行ないます (デバイス名に ついてはお使いの環境に合わせて変更してください):

    mount /dev/sda6 /mnt
    mount --bind /dev /mnt/dev
  2. 上記を実行すると、 change root を行なうことができます:

    chroot /mnt
  3. あとは /proc/sys をマウントします:

    mount /proc
    mount /sys
  4. 最後にお使いのシステムにおける残りのパーティションをマウントします:

    mount -a
  5. これでインストール済みシステムにアクセスすることができるようになりました。 システムを再起動する場合は、 umount -a で全てのパーティションのマウントを解除し、 exit コマンドで change root 環境を抜けてください。

[Warning]制限

お使いのシステムに対して全てのファイルやアプリケーションにアクセスを行なう ことができますが、いくつかの制限があります。まずカーネルについてはレスキュー システムのものを使用するため、インストール済みシステムのものとは異なります。 このカーネルは修復に必要なハードウエアだけに対応しているため、インストール 済みのシステムと全く同じバージョンでも無い限り (ほとんどの場合は異なります) 、 カーネルモジュールを追加したりすることはできません。そのため、たとえば サウンドカードなど、修復に関係しないハードウエアにはアクセスできません。 また、グラフィカルユーザインターフェイスについてもアクセスすることが できません。

また、 change root 環境は、 Alt+F1 から Alt+F6 までの キーでコンソールを切り替えると、その環境を抜けてしまうことに注意して ください。もちろん元の画面に戻れば元の change root 環境 に戻ります。

9.6.4.2.4. ブートローダの修正と再インストール

場合によってはブートローダの設定が壊れているためにシステムが起動できない ことがあります。ブートローダ無しでは Linux ファイルシステムが物理的に どのような場所に存在しているのかがわからないので、起動を行なうことが できなくなってしまいます。

ブートローダの設定を確認してブートローダを再インストールするには、 下記の手順で行ないます:

  1. 9.6.4.2.3項 「インストール済みシステムへのアクセス」 に書かれた 手順に従い、インストール済みのシステムにアクセスします。

  2. 第 1 章 ブートローダ GRUB (↑リファレンス) に書かれた GRUB の設定ルールに従って 設定ファイルが書かれているかどうかを確認します。 必要であれば修正を行なってください。

    • /etc/grub.conf

    • /boot/grub/device.map

    • /boot/grub/menu.lst

    • /etc/sysconfig/bootloader

  3. 下記の手順でブートローダを再インストールします:

    grub --batch < /etc/grub.conf
  4. 下記の手順でパーティションのマウントを解除し、 change root 環境を抜けてシステムを再起動します:

    umount -a
    exit
    reboot