第28章 最も頻繁に起こる問題およびその解決方法

目次

28.1. 情報の検索と収集
28.2. インストールの問題
28.3. ブートの問題
28.4. Loginの問題
28.5. ネットワークの問題
28.6. データの問題

この章では、一連の潜在的な問題とその解決法について説明します。ここで状況が正確に記載されていなくても、問題解決のヒントになる類似した状況が見つかる場合があります。

28.1. 情報の検索と収集

Linuxでは、非常に詳細なレポートが提供されます。システムの使用中に問題が発生した場合、調べる必要のあるところが何箇所かあります。それらのほとんどは、Linuxシステム一般で標準とされるもので、残りのいくつかはSUSE Linux Enterprise Desktopシステムに関連するものです。大半のログファイルはYaSTを使って表示することができます([その他]+[起動ログを表示])。

YaSTでは、サポートチームが必要な情報の大半を収集することができます。[その他]+[サポート]の順に選択し、問題のカテゴリを選択します。すべての情報が収集されたら、それをサポートリクエストに添付します。

最も頻繁にチェックされるログファイルのリストの後には、一般的な目的に関する説明があります。~を含むパスは、現在のユーザのホームディレクトリを参照します。

表28.1 ログファイル

ログファイル

説明

~/.xsession-errors

現在実行中のデスクトップアプリケーションからのメッセージです。

/var/log/apparmor/

AppArmorからのログファイル。詳細については、パート 「Confining Privileges with Novell AppArmor」 (↑Security Guide (セキュリティガイド))を参照してください。

/var/log/audit/audit.log

システムのファイル、ディレクトリ、またはリソースに対するすべてのアクセスを追跡し、システムコールをトレースする監査からのログファイル。

/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

カーネルおよびシステムのログデーモンから受け取る、警告レベル以上のすべてのメッセージ。

/var/log/wtmp

現在のコンピュータセッションのユーザのログインレコードを含むバイナリファイルです。lastコマンドを使用して表示させます。

/var/log/Xorg.*.log

Windowシステムから受け取る、起動時および実行時のさまざまなログです。Xの失敗した起動をデバッグするのに役に立ちます。

/var/log/YaST2/

YaSTのアクションとその結果を保管するディレクトリ。

/var/log/zypper.log

zypperのログファイル。


ログファイルとは別に、稼働中のシステムの情報も提供されます。詳細については、表 28.2: /procファイルシステムによるシステム情報を参照してください。

表28.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バージョンを表示します。


Linuxカーネルは、/procファイルシステムの場合を除いて、メモリ内ファイルシステムであるsysfsモジュールで情報をエクスポートします。このモジュールは、カーネルオブジェクトとその属性および関係を表します。sysfsの詳細については、第13章 udevによる動的カーネルデバイス管理でudevのコンテキストを参照してください。表 28.3には、/sysの下にある最も一般的なディレクトリの概要が含まれています。

表28.3 /sysファイルシステムによるシステム情報

ファイル

説明

/sys/block

システム内で検出された各ブロックデバイスのサブディレクトリが含まれています。一般に、これらの大半はディスクタイプのデバイスです。

/sys/bus

各物理バスタイプにのサブディレクトリが含まれます。

/sys/class

デバイスの機能タイプとしてグループ化されたサブディレクトリが含まれます(graphics、net、printerなど)。

/sys/device

グローバルなデバイス階層が含まれます。


Linuxには、システム解析とモニタリング用のさまざまなツールが含まれています。システム診断で使用される最も重要なツールの選択については、第2章 System Monitoring Utilities (↑System Analysis and Tuning Guide (システム分析およびチューニングガイド))を参照してください。

次の各シナリオは、問題を説明するヘッダに続いて、推奨される解決方法、より詳細な解決方法への利用可能な参照、および関連する他のシナリオへの相互参照が書かれた、1つまたは2つの段落から構成されています。

28.2. インストールの問題

インストールの問題とは、コンピュータがインストールに失敗した状態のことを指します。インストールが全体において失敗する、またはグラフィカルインストーラが起動できないという可能性があります。ここでは、通常経験するような問題のいくつかに集中して説明し、そのような場合に考えられる解決方法または回避方法を示します。

28.2.1. メディアの確認

SUSE Linux Enterprise Desktopインストールメディアの使用時に問題が発生した場合は、[ソフトウェア]+[メディアチェック]の順に選択してインストールメディアの整合性をチェックします。メディアの問題は、自身で書き込むメディアで発生する可能性がより高いです。SUSE Linux Enterprise Desktopのメディアをチェックするには、メディアをドライブに挿入し、YaSTの[メディアチェック]画面で[チェック開始]をクリックします。これには少し時間がかかります。問題が検出された場合、インストール用にこのメディアを使用しないでください。

図28.1 メディアの確認

メディアの確認

28.2.2. ハードウェア情報

[ハードウェア]+[ハードウェア情報]を使用して、検出されたハードウェアおよび技術データを表示します。デバイスの詳細については、任意のツリーノードをクリックします。サポートを依頼するときに、ハードウェアに関する情報が必要な場合などに、このモジュールが特に役立ちます。

[ファイルに保存]をクリックして、表示されたハードウェア情報をファイルに保存します。希望するディレクトリとファイル名を選択し、[保存」をクリックしてファイルを作成します。

図28.2 ハードウェア情報の表示

ハードウェア情報の表示

28.2.3. ブート可能なDVDドライブが利用不可

お使いのコンピュータにブート可能なDVD-ROMドライブがない場合、または使用しているドライブがLinuxでサポートされていない場合、内蔵DVD-ROMドライブを使用しないでコンピュータをインストールするオプションがいくつかあります。

フロッピーディスクからのブート

ブートフロッピーを作成し、DVDの代わりにフロッピーディスクからブートします。

外付けブートデバイスの使用

BIOSおよびインストールカーネルによりサポートされる場合、外部DVDドライブから起動します。

PXE経由のネットワークブート

コンピュータにDVDドライブがない場合でも、使用可能なイーサネット接続がある場合は、完全にネットワークベースのインストールを実行します。詳細については、「Remote Installation via VNC—PXE Boot and Wake on LAN」 (第11章 Remote Installation, ↑導入ガイド)と「Remote Installation via SSH—PXE Boot and Wake on LAN」 (第11章 Remote Installation, ↑導入ガイド)を参照してください。

28.2.3.1. フロッピーディスク(SYSLINUX)からのブート

旧式のコンピュータには、ブート可能なDVDドライブはなく、フロッピーディスクドライブしかないものがあります。そのようなシステムにインストールするには、ブートディスクを作成し、それを使ってシステムを起動します。

ブートディスクには、SYSLINUXというローダとプログラムlinuxrcも含まれています。SYSLINUXを使用すると、ブート時にカーネルを選択し、使用するハードウェアに必要なパラメータを指定できます。プログラムlinuxrcは、使用するハードウェア用のカーネルモジュールのローディングをサポートし、その後インストールを開始します。

ブートディスNからブートする際は、ブート処理は、ブートローダーSYSLINUX(パッケージsyslinux)によって開始されます。システムが起動すると、SYSLINUXは、以下のステップで構成される、最小限のハードウェア検出検査を実行します。

  1. ブートローダは、BIOSがVESA 2.0準拠のフレームバッファサポートを提供しているかどうかを調べ、適宜、カーネルを起動します。

  2. モニタデータ(DDC info)が読み込まれます。

  3. 1番目のハードディスクの最初のブロック(MBR)が読み込まれ、BIOS IDとLinuxのデバイス名がブートローダの設定時に対応付けられます。ブートローダは、BIOSのlba32関数を使用して当該ブロックを読み込み、BIOSがそれらの関数をサポートしているかどうかを判別します。

SYSLINUXの開始時に、<Shift>キーを押したままにすると、上記のステップはすべてスキップされます。トラブルシューティングの目的で、

verbose 1

syslinux.cfgに次の行を挿入した場合、ブートローダは、現在実行中のアクションを表示します。

マシンがフロッピーディスクからブートしない場合は、BIOS内のブートシーケンスをA,C,CDROMに変更しなければならないことがあります。

28.2.3.2. 外付けブートデバイス

Linuxでは、既存のDVDドライブはほとんどサポートされます。システムにDVDドライブまたはフロッピーディスクが存在しない場合でも、USB、FireWire、またはSCSIを通じて接続する外部DVDドライブを使用してシステムをブートできます。これは、BIOSおよびご利用のハードウェアのインタラクションに大きく依存します。問題が発生した場合、BIOSアップデートにより解決する場合があります。

28.2.4. インストールメディアからのブートに失敗する

コンピュータでインストールメディアが起動しない理由の1つとして、BIOS内のブートシーケンスの設定が誤っている場合があります。BIOSブートシーケンスでは、ブート用の最初のエントリとしてDVDドライブがセットされている必要があります。そうでない場合、コンピュータは他のメディア(通常ハードディスク)からブートを試みます。BIOSのブートシーケンスを変更するための説明は、マザーボードに付属するマニュアルまたは次の段落に記載されています。

BIOSとはコンピュータの非常に基本的な機能を有効にするソフトウェアです。マザーボードを供給するベンダが、独自のハードウェア用のBIOSを供給します。通常、BIOSセットアップは特別な時(マシンのブート時)にだけアクセスされます。この初期化段階の間に、マシンは数多くのハードウェア診断テストを実行します。そのうちの1つとして、メモリカウンタにより示されるメモリチェックがあります。メモリカウンタが表示されたとき、通常カウンタの下または画面の下部の辺りに、BIOSセットアップにアクセスするために押すキーについて表示されています。通常は、<Del>、<F1>、または<Esc>のいずれかのキーを押します。BIOSセットアップ画面が表示されるまでこのキーを押します。

手順28.1 BIOSのブートシーケンスの変更

  1. ブートルーチンによって宣言されたように、適切なキーを使用してBIOSを入力します。その後、BIOS画面が表示されるのを待ちます。

  2. AWARD BIOSでブートシーケンスを変更するには、[BIOS FEATURES SETUP]エントリを探してください。他のメーカでは、[ADVANCED CMOS SETUP]といった違う名前が使用されています。エントリが見つかったなら、そのエントリを選択して、<Enter>キーを押して確定します。

  3. 開いた画面で、[BOOT SEQUENCE]または[BOOT ORDER]というサブエントリを探します。ブートシーケンスは、C,AまたはA,Cなどのように記載されています。C,Aの場合、マシンは最初にハードディスク(C)を検索し、次にフロッピーディスクドライブ(A)を検索して、ブート可能なメディアを検出します。ブートシーケンスがA,CDROM,Cになるまで<PgUp>キーまたは<PgDown>キーを押して、設定を変更します。

  4. <Esc>キーを押してBIOS設定画面を終了します。設定を保存するには、[SAVE & EXIT SETUP]を選択し、<F10>キーを押します。設定が保存されていることを確認するには、<Y>キーを押します。

手順28.2 SCSI BIOS (Adaptecホストアダプタ)内でのブートシーケンスの変更

  1. <Ctrl>+<A>を押してセットアップを開きます。

  2. [ディスクユーティリティ]を選択します。これで、接続したハードウェアコンポーネントが表示されるようになります。

    ご使用のDVDドライブに割り当てられているSCSI IDの記録をとります。

  3. <Esc>キーを押して、メニューを閉じます。

  4. [アダプタセッティングの設定]を開きます。[追加オプション]で、[Boot Device Options(ブートデバイスオプション)]を選択し、<Enter>キーを押します。

  5. DVDドライブのIDを入力して、再度<Enter>キーを押します。

  6. <Esc>キーを2回押して、SCSI BIOSの起動画面に戻ります。

  7. [はい]を押して、この画面を終了しコンピュータを起動します。

最終的なインストールが使用する言語やキーボードレイアウトに関係なく、BIOS設定では、通常以下の図に示されているようなUSキーボードレイアウトが使用されます。

図28.3 USキーボードレイアウト

USキーボードレイアウト

28.2.5. ブートできない

ハードウェアのタイプ(主にかなり旧式かごく最近のタイプ)では、インストールが失敗するものもあります。多くの場合、インストールカーネル内でこのタイプのハードウェアのサポートが欠けているか、または、ある種のハードウェアに問題を引き起こすACPIのような、カーネルに含まれている特定の機能が原因の可能性があります。

最初のインストールブート画面から、標準の[インストール]モードを使用してインストールするのに失敗した場合、以下のことを試してみてください。

  1. DVDがドライブにまだ入った状態であれば、<Ctrl>+<Alt>+<Del>を押すか、ハードウェアリセットボタンを使用して、コンピュータを再起動します。

  2. ブート画面が表示されたら、<F5>キーを押すか、キーボードの矢印キーを使用して、[ACPIなし]を探し、<Enter>キーを押してブートおよびインストールプロセスを開始します。このオプションはACPIの電源管理技術を無効にします。

  3. 第3章 Installation with 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も有効にします。

acpi=noirq

ACPIはIRQルーティングには使用しません。

acpi=ht

hyper-threadingを有効化するのに十分なACPIのみ実行します。

acpi=strict

厳密にはACPI仕様互換ではないプラットフォームに対する耐性が弱くなります。

pci=noacpi

新しいACPIシステムのPCI IRQルーティングを無効にします。

pnpacpi=off

このオプションは、BIOSセットアップに誤った割り込みまたはポートがある場合のシリアルまたはパラレルの問題向けです。

notsc

タイムスタンプカウンタを無効にします。このオプションを使用して、システムのタイミングについての問題に対処できます。これは最近の機能で、コンピュータに特に時間や全面的なハングなどの遅れが見られる場合に、このオプションを試す価値があります。

nohz=off

nohz機能を無効にします。マシンがハングした場合、このオプションが役に立ちます。それ以外の場合は、使用しません。

一旦パラメータの正しい組み合わせを決定したら、システムが次回適切に起動することを確実にするために、YaSTは自動的にそれらのパラメータをブートローダーの設定に書き込みます。

カーネルのロード中、またはインストール中に説明できないエラーが発生した場合は、ブートメニューから[メモリテスト]を選択し、メモリを確認します。[メモリテスト]がエラーを返す場合、それは通常はハードウェアのエラーです。

28.2.6. グラフィカルインストーラを起動できない

メディアをドライブに挿入しコンピュータを再起動した後に、インストール画面が表示されますが、[インストール]を選択すると、グラフィカルインストーラは起動しません。

この問題に対処する方法はいくつかあります。

  • インストールダイアローグ用に、他の画面解像度を選択してみます。

  • インストール用に[テキストモード]を選択します。

  • VNCを介して、グラフィカルインストーラを使ってリモートインストールをします。

手順28.3 インストール時の画面解像度の変更

  1. インストールのために起動します。

  2. <F3>キーを押して、インストール用に低解像度を選択するメニューを開きます。

  3. [インストール]を選択し、第3章 Installation with YaST (↑導入ガイド)の中の説明に従ってインストールを続行します。

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

  1. インストールのために起動します。

  2. <F3>キーを押して、[テキストモード]を選択します。

  3. [インストール]を選択し、第3章 Installation with YaST (↑導入ガイド)の中の説明に従ってインストールを続行します。

手順28.5 VNCによるインストール

  1. インストールのために起動します。

  2. ブートオプションプロンプトに以下のテキストを入力します。

    vnc=1 vncpassword=some_password

    some_passwordの部分はVNCインストール用に使用するパスワードに置き換えます。

  3. [インストール]を選択し、<Enter>キーを押してインストールを開始します。

    グラフィカルインストールルーチンに入るかわりに、システムはテキストモードで実行され、その後停止します。その際、IPアドレスおよびポート番号が含まれるメッセージが表示されますが、これらは、ブラウザインタフェースまたはVNCビューアアプリケーションを使用してインストーラにアクセスできるようにするために必要です。

  4. ブラウザを使用してインストーラにアクセスする場合、ブラウザを起動して将来SUSE Linux Enterprise Desktopが起動するコンピュータ上のインストール手順で与えられたアドレス情報を入力し、<Enter>キーを押します。

    http://ip_address_of_machine:5801

    ブラウザウィンドウでは、VNCのパスワードを入力するように要求するダイアログが開かれます。パスワードを入力し、第3章 Installation with YaST (↑導入ガイド)の説明に従ってインストールを続行します。

    [Important]

    VNC経由のインストールでは、Javaサポートが有効化されていれば、オペレーションシステムやブラウザの種類を問いません。

    プロンプトが表示されたら、VNCビューアにIPアドレスとパスワードを入力します。インストールダイアログを表示するウィンドウが開きます。通常のようにインストールを続行します。

28.2.7. 最低限のブート画面だけが起動する

メディアをドライブに挿入して、BIOSルーチンは終了しますが、システム上でグラフィカルブート画面が開始しません。その代わりに、最小限のテキストベースのインタフェースが起動されます。これは、グラフィカルブート画面を表示するのに十分なグラフィックメモリを持っていないコンピュータを使用する場合に起こる可能性がります。

テキストのブート画面は最小限にに見えますが、グラフィカルブート画面が提供する機能とほぼ同じものを提供します。

ブートオプション

グラフィカルインタフェースとは違い、キーボードのカーソルキーを使って異なるブートオプションを選択することはできません。テキストモードのブート画面のブートメニューでは、ブートプロンプトで入力するキーワードが表示されます。これらのキーワードはグラフィカルバージョンで提供されているオプションにマップしています。任意の選択を入力し<Enter>キーを押して、ブートプロセスを起動します。

カスタムブートオプション

ブートオプションを選択したあと、ブートプロンプトで適切なキーワードを入力するか、28.2.5項 「ブートできない」の中で説明されているカスタムブートオプションを入力します。インストールプロセスを起動するには、<Enter>キーを押します。

画面解像度

Fキーを使用して、インストール用の画面解像度を判別します。テキストモードで起動する必要がある場合は、キーを選択します。

28.3. ブートの問題

ブートの問題とは、システムが適切に起動しないような場合を指します(意図したランレベルおよびログイン画面まで起動しない場合)。

28.3.1. GRUBブートローダのロードに失敗する

ハードウェアが問題なく機能している場合、ブートローダが壊れてしまってLinuxがコンピュータ上で起動できない可能性があります。このような場合、ブートローダを再インストールする必要があります。ブートローダを再インストールするには、以下の手順に従います。

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

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

  3. ブートメニューから[インストール]を選択します。

  4. 言語を選択します。

  5. 使用許諾契約に同意します。

  6. [インストールモード]画面で、[インストール済みのシステムを修復]を選択します。

  7. YaSTシステム修復モジュールの中で、[エキスパート設定用ツール]を選択し、[新しいブートローダのインストール]を選択します。

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

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

コンピュータが起動しない理由は他にBIOS関連のものが考えられます。

BIOS設定

ハードドライブを参照するためのBIOSを確認してください。ハードドライブ自体が現在のBIOS設定に見つからない場合、GRUBが単に開始されない可能性があります

BIOSブートオーダー

お使いのシステムのブートオーダーがハードディスクを含んでいるか確認します。ハードディスクオプションが有効になっていない場合、システムは適切にインストールされていますが、ハードディスクへのアクセスが要求される際に起動に失敗する可能性があります。

28.3.2. ログインなし、またはプロンプトが表示される

通常、これはカーネルのアップグレードに失敗した後に発生します。プロセスの最終段階にときどき発生するシステムコンソールのエラーであるということから、「カーネルパニック」として知られます。ソフトウェアのアップグレードに続いてコンピュータを再起動した直後である場合は、実証済みの古いバージョンのLinuxカーネルおよび関連ファイルを使用して再起動します。この操作は、ブートプロセス中にGRUBブートローダ画面で行います。次の手順に従います。

  1. コンピュータをリセットボタンで再起動するか、いったんオフにしてからオンにします。

  2. GRUBブート画面が表示され、[Linux--Failsafe]を選択し、Enterキーを押します。コンピュータは、旧バージョンのカーネルとその関連ファイルを使用して起動します。

  3. ブートプロセス完了後、新しくインストールしたカーネルを削除し、必要な場合は、/boot/grub/menu.lstを手動で変更して、旧バージョンのカーネルをデフォルトオプションにします。この設定ファイルで使用されている構文に関する一部の詳細情報については、第10章 ブートローダGRUBを参照してください。

    多くの場合、このファイルの更新は必要ありません。このファイルは、通常、ロールバック処理時に自動更新ツールが変更してくれるからです。

  4. 再起動します。

[Linux--Failsafe]オプションでコンピュータが適切に起動されないために、問題が解決されない場合は、インストールメディアを使用してコンピュータを起動します。コンピュータが起動したら、 「ステップ 3」を続行します。

28.3.3. グラフィカルログインはありません

コンピュータは起動するものの、グラフィカルログインマネージャが起動しない場合は、デフォルトのランレベルの選択、あるいはX Window Systemの設定のいずれかに問題があると考えられます。ランレベルの設定を確認するには、rootユーザでログインし、コンピュータがランレベル 5 (グラフィカルデスクトップ)に起動する設定になっているか確認します。この確認を手軽にする方法は、/etc/inittabの内容を以下のように調べることです。

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

返された行は、コンピュータのデフォルトランレベル(initdefault)が5に設定されており、グラフィカルデスクトップに起動するはずであることを示しています。ランレベルが5以外の数に設定されていた場合は、YaSTのランレベルエディタモジュールを使用して、5に設定します。

[Important]

ランレベル設定を手動で編集しないでください。手動で編集すると、SuSEconfig (YaSTによって実行される)が次回起動した際に、変更を上書きしてしまいます。手動で変更が必要な場合、将来のSuSEconfigによる変更を、CHECK_INITTAB (/etc/sysconfig/suseconfig内にある)をnoに設定して無効にします。

ランレベルが5に設定されている場合、デスクトップまたはX Windowsソフトウェアがおそらく誤って設定されているか、破損しています。/var/log/Xorg.*.logのログファイルから、Xサーバが開始する際にログされる詳細メッセージを調べます。開始中にデスクトップが失敗する場合、/var/log/messagesにエラーメッセージが書き込まれる可能性があります。これらのエラーメッセージがXサーバの設定の問題を示唆している場合は、これを直すようにしてください。それでもグラフィカルシステムが起動しない場合は、グラフィカルデスクトップを再インストールすることを考えてください。

[Tip]X Windowシステムを手動で起動する

簡単なテスト:startxコマンドは、ユーザが現在コンソールにログインしている場合、X Window Systemを設定されたデフォルトで開始するように強制します。これがうまくいかない場合は、コンソールにエラーがログされるはずです。

28.4. Loginの問題

ログインの問題とは、お使いのコンピュータが予期されるようこそ画面またはログインプロンプトまで実際に起動するが、ユーザ名およびパスワードを受け付けない、または受け付けるが、その後適切な動きをしない場合です(グラフィックデスクトップ開始の失敗、エラーの発生、コマンドラインに落ちる、など)。

28.4.1. 有効なユーザ名とパスワードを使っても失敗する

この問題は、一般的にシステムがネットワーク認証またはディレクトリサービスを使用するように設定されており、何らかの理由で、設定されたサーバから結果を取得できない場合に発生します。このような場合でも、rootユーザは唯一のローカルユーザとしてこれらのコンピュータにログインできます。次に、コンピュータが一見機能しているように見えるのにログインを正しく処理できない一般的な理由をいくつか挙げます。

  • ネットワークが機能していません。この場合の更なる対処方法については、28.5項 「ネットワークの問題」を参照してください

  • DNSが機能していないです。(これによりGNOMEまたはKDEは働かず、システムは安全なサーバに有効なリクエストを送れません)。すべてのアクションに対して、コンピュータに極端に長い時間かかる場合は、この問題の可能性があります。このトピックの詳細は、28.5項 「ネットワークの問題」を参照してください。

  • システムがKerberosを使用するように設定されている場合、システムのローカルタイムは、Kerberosサーバのタイムとの間で許容される相違を超えてしまっている可能性があります(通常 300秒)。NTP (network time protocol)が適切に動いていない、またはローカルのNTPサーバが動いていない場合、Kerberos の認証は機能しなくなります。その理由は、この認証はネットワーク間の一般的なクロック同期に依存しているからです。

  • システムの認証設定が間違って設定されています。関連するPAM設定ファイルの中に誤字や命令の順序違いがないか確認します。PAMおよび関連する設定ファイルの構文に関する背景情報の詳細については、第2章 Authentication with PAM (↑Security Guide (セキュリティガイド))を参照してください。

  • ホームパーティションが暗号化されています。このトピックの詳細は、28.4.3項 「暗号化されたホームパーティションへのログインが失敗します」を参照してください。

外部のネットワーク問題を含まない他のすべての問題については、解決方法としてシステムをシングルユーザモードに再起動して、動作モードに再び起動してログインし直す前に、設定を修復します。シングルユーザモードで起動するには、次の手順に従います。

  1. システムを再起動します。ブート画面の表示に続き、プロンプトが表示されます。

  2. ブートプロンプトでは、「1」を入力し、システムブートがシングルユーザモードになるようにします。

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

  4. すべての必要な変更をします。

  5. コマンドラインに「telinit 5」を入力して、ネットワークありフルマルチユーザモードに起動します。

28.4.2. 有効なユーザ名とパスワードが受け付けられない

これは、今のところユーザが経験する問題のうち、最も一般的なものです。その理由は、この問題が起こる原因がたくさんあるからです。ローカルのユーザ管理および認証を使用するか、ネットワーク認証を使用するかによって、異なる原因によりログイン失敗が発生します。

ローカルユーザ管理は、次の原因により失敗する可能性があります。

  • 間違ったパスワードを入力した可能性があります。

  • ユーザのホームディレクトリが、破損または書き込み保護されたデスクトップ設定ファイルを含んでいます。

  • この特定のユーザを認証するのに、X Window Systemに何らかの問題があります。特に、ユーザのホームディレクトリが、現在のLinuxをインストールする以前の他のLinuxディストリビューションによって使用されている場合です。

ローカルログイン失敗の原因を発見するには、次の手順に従います。

  1. 認証方式全体をデバッグする前に、ユーザがパスワードを正しく覚えているか確認します。ユーザが正しいパスワードを覚えていない場合は、YaSTユーザ管理モジュールを使用してそのユーザのパスワードを変更します。<Caps Lock>キーに注意し、必要に応じてそのロックを解除します。

  2. rootユーザでログインし、ログインプロセスおよびPAMのエラーメッセージがないかどうか/var/log/messagesを確認します。

  3. コンソールからログインしてみます(<Ctrl> + <Alt> + <F1>キーを使用)。これが成功する場合、PAMには問題はありません。その理由は、そのユーザをそのコンピュータ上で認証可能だからです。X Window Systemまたはデスクトップ(GNOMEまたはKDE)で問題がないか探してみてください。詳細については、28.4.4項 「ログインは成功したがGNOMEデスクトップが失敗する」および28.4.5項 「ログインは成功したがKDEデスクトップが失敗する」を参照してください。

  4. ユーザのホームディレクトリが他のLinuxディストリビューションによって使用されている場合、ユーザのホームにあるXauthorityファイルを削除します。<Ctrl> + <Alt> + <F1>キーを押してコンソールログインを使用し、rm .Xauthorityをこのユーザとして実行します。これにより、X認証の問題はこのユーザに関してはなくなるはずです。グラフィカルログインを再試行します。

  5. グラフィカルログインがまだ失敗する場合、<Ctrl> + <Alt> + <F1>キーでコンソールログインを行ってください。他のディスプレイ上でXセッションを開始します。最初のもの(:0)はすでに使用中です。

    startx -- :1

    これによってグラフィカル画面とデストップが表示されます。表示されない場合は、X Window Systemのログファイル(/var/log/Xorg.displaynumber.log)を確認するか、デスクトップアプリケーションのログ(ユーザのホームディレクトリにある.xsession-errors)を確認して、異常な点がないか調べます。

  6. 設定ファイルが壊れていて、デスクトップが開始できなかった場合、28.4.4項 「ログインは成功したがGNOMEデスクトップが失敗する」または28.4.5項 「ログインは成功したがKDEデスクトップが失敗する」を続行します。

以下では、特定のユーザのネットワーク認証が、特定のコンピュータ上で失敗するのかの一般的な理由のいくつかを挙げます。

  • 間違ったパスワードを入力した可能性があります。

  • コンピュータのローカル認証ファイルの中に存在し、ネットワーク認証システムからも提供されるユーザ名が競合しています。

  • ホームディレクトリは存在しますが、それが壊れている、または利用不可能です。書き込み保護がされているか、その時点でアクセスできないサーバ上にディレクトリが存在するかのどちらかの可能性があります。

  • 認証システム内で、ユーザがその特定のサーバにログインする権限がありません。

  • コンピュータのホスト名が何らかの理由で変更されていて、そのホストにユーザがログインする権限がありません。

  • コンピュータが、認証サーバまたはそのユーザの情報を含んでいるディレクトリサーバに接続できません。

  • この特定のユーザを認証するのに、X Window Systemに何らかの問題があります。特に、ユーザのホームが、現在のLinuxをインストールする以前に他のLinuxディストリビューションによって使用されている場合です。

ネットワーク認証におけるログイン失敗の原因を突き止めるには、次の手順に従います。

  1. 認証方式全体をデバッグする前に、ユーザがパスワードを正しく覚えているか確認します。

  2. 認証用にマシンが利用するディレクトリサーバを判別し、それがきちんと動作しており、他のマシンと適切に通信していることを確認します。

  3. ユーザのユーザ名およびパスワードが他のマシン上でも使用できるかを判別し、そのユーザの認証データが存在し、適切に配布されていることを確認します。

  4. 他のユーザが、問題のある動きをしているコンピュータにログインできるか観察します。その他のユーザが問題なくログインできたか、rootでログインできた場合、ログイン後、/var/log/messagesファイルの内容を調べます。ログインの試行に対応するタイムスタンプを見つけ出し、PAMによって、エラーメッセージが生成されていないか判別します。

  5. コンソールからログインしてみます(Ctrl+Alt+F1キーを使用)。これが成功する場合、PAMやユーザのホームがあるディレクトリサーバには問題はありません。その理由は、そのユーザをそのコンピュータ上で認証可能だからです。X Window Systemまたはデスクトップ(GNOMEまたはKDE)で問題がないか探してみてください。詳細については、28.4.4項 「ログインは成功したがGNOMEデスクトップが失敗する」および28.4.5項 「ログインは成功したがKDEデスクトップが失敗する」を参照してください。

  6. ユーザのホームディレクトリが他のLinuxディストリビューションによって使用されている場合、ユーザのホームにあるXauthorityファイルを削除します。Ctrl+Alt+F1キーを押してコンソールログインを使用し、rm .Xauthorityをこのユーザとして実行します。これにより、X認証の問題はこのユーザに関してはなくなるはずです。グラフィカルログインを再試行します。

  7. グラフィカルログインがまだ失敗する場合、Ctrl+Alt+F1キーでコンソールログインを行ってください。他のディスプレイ上でXセッションを開始します。最初のもの(:0)はすでに使用中です。

    startx -- :1

    これによってグラフィカル画面とデストップが表示されます。表示されない場合は、X Window Systemのログファイル(/var/log/Xorg.displaynumber.log)を確認するか、デスクトップアプリケーションのログ(ユーザのホームディレクトリにある.xsession-errors)を確認して、異常な点がないか調べます。

  8. 設定ファイルが壊れていて、デスクトップが開始できなかった場合、28.4.4項 「ログインは成功したがGNOMEデスクトップが失敗する」または28.4.5項 「ログインは成功したがKDEデスクトップが失敗する」を続行します。

28.4.3. 暗号化されたホームパーティションへのログインが失敗します

ラップトップでは暗号化されたホームパーティションの使用が推奨されます。ラップトップにログインできない場合、通常その理由は簡単です。パーティションのロックを解除できなかったためです。

起動時に、暗号化されたパーティションのロックを解除するためにパスフレーズを入力する必要があります。パスフレーズを入力しない場合、パーティションがロックしたまま起動プロセスが続行します。

暗号化されたパーティションのロックを解除するには、次の手順に従います。

  1. <Ctrl>+<Alt>+<F1>でテキストコンソールに切り替えます。

  2. rootになります。

  3. 次のコマンドにより、ロックを解除するプロセスを再開します。

    /etc/init.d/boot.crypto restart
  4. 暗号化されたパーティションのロックを解除するためのパスフレーズを入力します。

  5. テキストコンソールを終了し、<Alt>+<F7>でログイン画面に切り替えます。

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

28.4.4. ログインは成功したがGNOMEデスクトップが失敗する

この場合に、GNOME環境設定ファイルが破損している可能性があります。兆候としては、キーボードがうまく動かない、画面のジオメトリが歪んでいる、または画面が空の灰色領域として表示されるなどがあります。この問題の重要な特徴は、他のユーザがログインする場合は、コンピュータは普通に機能するという点です。このような場合、問題のユーザのGNOME設定ディレクトリを単に新しい場所に移すことで、が新しいデスクトップを初期化するので、比較的簡単にこの問題を解決できます。ユーザはGNOMEの再設定を強いられますが、データが失われません。

  1. <Ctrl>+<Alt>+<F1>を押して、テキストコンソールを切り替えます。

  2. ユーザ名でログインします。

  3. ユーザのGNOME設定ディレクトリを、一時的な場所に移動します。

    mv .gconf  .gconf-ORIG-RECOVER
    mv .gnome2 .gnome2-ORIG-RECOVER
  4. ログアウトします。

  5. もう一度ログインします。ただし、アプリケーションは何も実行しないでください。

  6. 次のようにして、~/.gconf-ORIG-RECOVER/apps/ディレクトリを、新しい~/.gconfディレクトリにコピーすることで個々のアプリケーション設定データ(Evolutionの電子メールクライアントデータを含む)を回復します。

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

    これによってログインの問題が生じる場合は、重要なアプリケーションデータのみの回復を試み、アプリケーションの残りを再設定します。

28.4.5. ログインは成功したがKDEデスクトップが失敗する

KDEデスクトップがユーザのログインを許可しない理由にはいくつかあります。壊れたKDEデスクトップ設定ファイルと同様に壊れたキャッシュデータもログインの問題を引き起こします。

キャッシュデータは、デスクトップの起動時にパフォーマンスを向上させるため使用されます。このデータが壊れていると、起動が遅くなったり、完全に失敗したりします。キャッシュデータを削除すると、デスクトップ起動のルーチンが最初から開始します。これには一般の起動よりも時間がかかりますが、その後はデータは無事でユーザはログインできます。

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

rm -rf /tmp/kde-user /tmp/ksocket-user

userは、ご使用のユーザ名に置き換えます。これらのディレクトリを削除しても、単に壊れたキャッシュファイルが削除されるだけです。この手順で実際のデータが削除されることはありません。

壊れたデスクトップ設定ファイルは、いつでも初期の設定ファイルに置き換えることができます。ユーザの調整を回復する場合は、デフォルトの設定値を使用して設定が復元されたあとに、一時的な場所からこれらのユーザの調整内容を慎重にコピーします。

壊れたデスクトップ設定ファイルを初期の設定ファイルに置き換えるには、以下の手順に従います。

  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ディレクトリはコピーせずに上記の手順を繰り返します。

28.5. ネットワークの問題

システム上の問題は、最初はそうは見えないのですが、ネットワークに関する問題であることが多いです。例えば、システムにユーザがログインできない理由は、ある種のネットワークの問題であったりします。ここでは、ネットワークの問題に直面した場合の簡単なチェックリストを紹介します。

手順28.6 ネットワークの問題を識別する方法

コンピュータとネットワークの接続の確認をする場合、以下の手順に従ってください。

  1. イーサネット接続を使用する場合、はじめにハードウェアを確認します。ネットワークケーブルがきちんとコンピュータおよびルータ(またはハブなど)に差し込んであることを確認してください。イーサネットコネクタの隣に管理用ライトがある場合、その両方がアクティブである必要があります。

    接続に失敗する場合、お使いのネットワークケーブルが他のコンピュータでは使用可能かどうか確認します。使用可能な場合、ネットワークカードに問題の原因があります。ネットワークのセットアップにハブやスイッチを使用している場合は、それらが誤っている可能性もあります。

  2. 無線接続を使用7る場合、他のコンピュータからワイヤレスリンクが確立できるかどうか確認します。そうでない場合は、無線ネットワークの管理者にお問い合わせください。

  3. 基本的なネットワーク接続を確認し終わったら、どのサービスが応答していないかを探します。お使いの構成上のすべてのネットワークサーバのアドレス情報を集めます。適切なYaSTモジュール内で探すか、システム管理者に問い合わせてください。以下のリストには、ある構成内に含まれる一般的なネットワークサーバを、それらの故障の兆候とともに表わしています。

    DNS (ネームサービス)

    壊れた、あるいは誤作動しているネームサービスは、ネットワークの機能にさまざまな形で影響を与えます。ローカルコンピュータの認証がネットワークサーバによって行われ、それらのサーバが名前解決に問題があるために見つからない場合、ユーザはローカルコンピュータにログインすることもできません。壊れたネームサーバが管理するネットワーク上のコンピュータは、お互いを認識し、通信することができません。

    NTP (タイムサービス)

    誤作動している、または完全に壊れたNTPサービスは、Kerberosの認証およびXサーバの機能に影響を与えます。

    NFS (ファイルサービス)

    NFSによってマウントされたディレクトリ内のデータを必要とするアプリケーションがあった場合、このNFSサービスがダウンしてるか、間違って設定されていると、そのアプリケーションは起動できないか、または正しく機能しません。最悪のケースとしては、 .gconf または .kde サブディレクトリを含んでいる、あるユーザのホームディレクトリが、NFSサーバの故障のために検出されなかった場合、そのユーザ個人のデスクトップ設定が起動しません。

    Samba (ファイルサービス)

    アプリケーションが、故障したSambaサーバ上のディレクトリに保存されたデータを必要とする場合、アプリケーションは起動できないか、または正しく機能しません。

    NIS (ユーザ管理)

    SUSE Linux Enterprise Desktopシステムがユーザデータを提供するために故障したNISサーバを使用している場合、ユーザはこのコンピュータにログインできません。

    LDAP (ユーザ管理)

    SUSE Linux Enterprise Desktopシステムがユーザデータを提供するために故障したLDAPサーバを使用している場合、ユーザはこのコンピュータにログインできません。

    Kerberos (認証)

    認証が機能せず、すべてのコンピュータへのログインが失敗します。

    CUPS (ネットワーク印刷)

    ユーザが印刷できません。

  4. ネットワークサーバが起動しているか、ネットワーク上で接続を確立できる設定になっているか、を確認します。

    [Important]

    次で説明するデバッグの手順は、内部ルーティングを必要としない、簡単なネットワークサーバ/クライアント設定にのみ適用されます。サーバとクライアントの両方が、追加でルーティングする必要のない同じサブネットのメンバーであることが前提です。

    1. ping IP addressまたはhostname (hostnameはサーバのホスト名で置き換えます)を使って、サーバが起動中で、ネットワークに反応するかどうか確認します。このコマンドが成功する場合は、目的のホストは起動しており、ネットワークのネームサービスは正しく設定されていることがわかります。

      pingが「destination host unreachable」というメッセージで失敗する場合、お使いのシステムまたは宛先のサーバが正しく設定されていないか、ダウンしています。その場合、他のコンピュータからping IP addressまたはyour_hostnameを実行して、お使いのシステムに到達可能か確認してください。他のコンピュータからお使いのコンピュータへ到達可能な場合、宛先のサーバが起動していないか、正しく設定されていません。

      pingが「unknown host」というメッセージで失敗する場合、ネームサービスが正しく設定されていないか、使用したホスト名が正しくありません。この問題を詳細に調べるには、ステップ 4.bを参照してください。それでもpingが失敗する場合は、ネットワークカードが正しく設定されていないか、ネットワークのハードウェアに障害があります。

    2. host hostnameを使用して、接続しようとしているサーバのホスト名が適切なIPアドレスに変換され、またその逆も問題ないか確認します。このコマンドによって、このホストのIPアドレスが返される場合、ネームサービスは起動中です。このhostコマンドが失敗する場合、お使いのホスト上の名前とアドレス解決に関係するすべてのネットワーク設定ファイルを確認します。

      /etc/resolv.conf

      このファイルは、ネームサーバおよび現在使用中のドメインを管理するために使用されます。このファイルは手動で変更するか、YaSTまたはDHCPによる自動調整が可能ですが、自動調整のほうをお勧めします。ただし、このファイルが以下のような構造およびネットワークアドレスを含んでいること、さらにドメイン名が正しいことを確認してください。

      search fully_qualified_domain_name
      nameserver ipaddress_of_nameserver

      このファイルには1つ以上のネームサーバのアドレスを含むことができますが、その中の少なくとも1つは、お使いのホストの名前解決が正しくできる必要があります。必要に応じて、YaSTネットワーク設定モジュール([ホスト名/DNS]タブ)を使用してこのファイルを修正します。

      お使いのネットワークの接続がDHCP経由の場合、YaST DNSおよびHostnameモジュール内で、[DHCP経由でのホスト名の変更]および[DHCP経由でのネームサービスおよび検索リストの更新]を選択し、DHCPを有効化してホスト名およびネームサービス情報を変更します。

      /etc/nsswitch.conf

      このファイルは、Linuxがネームサービス情報を探す場所を示します。このようになります。

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

      dnsエントリは必須です。これにより、Linuxは外部のネームサーバを使用するようになります。通常、これらのエントリはYaSTにより自動的に管理されますが、慎重にチェックする必要があります。

      ホスト上で、すべての関連エントリが正しい場合は、システム管理者に依頼して、正しいゾーン情報に関するDNSサーバの設定を確認してもらいます。お使いのホストのDNS設定およびDNSサーバが正しいことが確認できた場合、ネットワークおよびネットワークデバイス設定の確認に進みます。

    3. お使いのシステムがネットワークサーバに接続できない状況で、ネームサービスの問題を障害原因の可能性リストから除外した場合は、ネットワークカードの設定を確認します。

      ifconfig network_device (rootユーザで実行)コマンドを使用して、このデバイスが適切に設定されているか確認します。inetアドレスおよびマスクの両方が正しく設定されていることを確認してください。IPアドレス内に間違いがある場合、またはネットワークマスク内で不明のビットがある場合は、ネットワーク設定が使用不可能になります。必要であれば、サーバ上でもこの確認をしてください。

    4. ネームサービスおよびネットワークサービスが正しく設定され起動している場合でも、外部のネットワーク接続がタイムアウトするのに時間がかかったり、完全に失敗する場合は、traceroute fully_qualified_domain_name (rootユーザで実行)コマンドを使用して、リクエストがネットワーク上でどのルートを使用するか追跡します。このコマンドは、お使いのコンピュータのリクエストが宛先に到達するまでに経由するゲートウェイ(ホップ)をリストします。各ホップの応答時間およびこのホップにそもそも到達可能か否かをリストします。tracerouteおよびpingコマンドを組み合わせて原因を追究し、管理者に知らせてください。

ネットワーク障害の原因を突き止めたら、自身でそれを解決するか(自分のコンピュータ上に問題がある場合)、お使いのネットワークのシステム管理者に原因について報告し、サービスを再設定するか、必要なシステムを修理してもらってください。

28.5.1. NetworkManagerの問題

ネットワーク接続に問題がある場合は、手順28.6「ネットワークの問題を識別する方法」の説明に従って原因を絞り込んでください。NetworkManagerが原因と考えられる場合は、以降の説明に従ってNetworkManager障害の理由を調べるために役立つログを取得してください。

  1. シェルを開いて、rootとしてログインします。

  2. NetworkManagerを再起動します。

    rcnetwork restart -o nm
  3. 一般ユーザとしてhttp://www.opensuse.orgなどのWebページを開いて、正常に接続できているかどうかを確認します。

  4. /var/log/NetworkManagerにある、NetworkManagerに関する情報を収集します。

NetworkManagerについての詳細は、第23章 NetworkManagerの使用を参照してください。

28.6. データの問題

データの問題とは、コンピュータが正常に起動するかしないかに関係なく、システム上でデータが壊れており、システムの修復が必要な場合を言います。このような状況では、システムに障害が発生する前の状態にシステムを復元するために、重要なデータをバックアップする必要があります。SUSE Linux Enterprise Desktopには、システムのバックアップ/復元や、救済システム(壊れたシステムを外部から復元するのに使用できる)用に、専用のYaSTモジュールが用意されています。

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

パーティション全体、さらにはハードディスク全体からバックアップを実行することが必要になる場合があります。Linuxには、ディスクの正確なコピーを作成できるddツールが付属しています。gzipと組み合わせることで、若干の領域の節約になります。

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

  1. ユーザrootとしてシェルを起動します。

  2. ソースデバイスを選択します。これは、/dev/sdaなどが一般的です(SOURCEというラベルが付きます)。

  3. イメージを保存する場所を決めます(BACKUP_PATHというラベルが付きます)。これは、ソースデバイスとは異なる場所にする必要があります。つまり、/dev/sdaからバックアップを作成する場合、イメージファイルは/dev/sdaに保存しないでください。

  4. コマンドを実行して圧縮イメージファイルを作成します。

    dd if=/dev/SOURCE | gzip > /BACKUP_PATH/image.gz 
  5. 次のコマンドによりハードディスクを復元します。

    gzip -dc /BACKUP_PATH/image.gz | dd of=/dev/SOURCE

バックアップするパーティションのみが必要な場合は、SOURCEプレースホールダーを対応するパーティションに置き換えます。この場合、イメージファイルを同じハードディスクにおくことができます。ただし、パーティションは異なります。

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

YaSTシステムバックアップモジュールを使用すれば、システムのバックアップは簡単に管理できます。

  1. rootユーザでYaSTを開始し、[システム]+[システムバックアップ]を順に選択します。

  2. バックアップに必要な詳細のすべて、アーカイブファイルのファイル名、スコープ、およびバックアップタイプを含むバックアッププロファイルを作成します。

    1. [プロファイル管理]+[追加]の順にクリックします。

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

    3. ローカルバックアップをしたい場合は、そのバックアップの場所へのパスを入力します。ネットワークサーバ上にバックアップをアーカイブしたい場合は、IPアドレスまたはサーバの名前、およびアーカイブを保存するディレクトリを入力します。

    4. アーカイブタイプを決め[次へ]をクリックします。

    5. どのパッケージにも属さないファイルをバックアップするか、アーカイブ作成の前にファイルのリストを表示させるかなど、使用するバックアップオプションを決定します。また、変更されたファイルが、時間のかかるMD5メカニズムを使用して識別されるようにするのかも決定します。

      [エキスパート]を使用して、ハードディスク領域全体のバックアップのためのダイアログに入ります。現在、このオプションはExt2ファイルシステムのみに適用されます。

    6. 最後に、ロックファイルまたはキャッシュファイルなど、バックアップの必要のない一部のシステム領域を、バックアップ領域から除外するための検索条件を設定します。項目を追加、編集、または削除して、必要にあった条件を設定し、[OK]を押して終了します。

  3. プロファイル設定を終了したら、[Create Backup (バックアップの作成)]を使用した即時バックアップの開始、または自動バックアップの設定ができます。他のさまざまな目的のために設定されたプロファイルも作成できます。

特定のプロファイル用に自動バックアップを設定するには、以下の手順に従います。

  1. [プロファイル管理]メニューから、[自動バックアップ]を選択します。

  2. [バックアップの自動開始]を選択します。

  3. バックアップの頻度を決定します。[毎日][毎週]、または[毎月]を選択します。

  4. バックアップの開始時間を決定します。これらの設定は選択されたバックアップの頻度に依存します。

  5. 古いバックアップを保存するか、保存する場合は何世代にするかを決定します。バックアッププロセスの自動的に生成されたステータスメッセージを受け取るには、[rootユーザにサマリメールを送信する]にチェックを入れます。

  6. 設定内容を適用し、指定した時刻にバックアップを開始するには、[OK]をクリックします。

28.6.3. システムバックアップの復元

YaSTシステムリストアモジュールを使用して、バックアップからシステム設定を復元します。バックアップの全体を復元するか、壊れたために古い状態にリセットする必要のある、特定のコンポーネントのみを選択します。

  1. [YaST]+[システム]+[システムの復元]の順にクリックします。

  2. バックアップファイルの場所を入力します。ローカルファイル、ネットワーク上でマウントされたファイル、またはフロッピーディスクおよびDVDなどの取り外し可能なデバイス上のファイルなどがあります。次に、[次へ]をクリックします。

    次のダイアログでは、ファイル名、作成日、バックアップのタイプ、およびオプションのコメントなどのアーカイブプロパティのサマリが表示されます。

  3. [アーカイブの内容]をクリックして、アーカイブされた内容を参照します。[OK]をクリックすると、[アーカイブプロパティ]ダイアログに戻ります。

  4. [エキスパート用オプション]では、復元プロセスを微調整するダイアログが開きます。[OK]をクリックすると、[アーカイブプロパティ]ダイアログに戻ります。

  5. [次へ]をクリックすると、復元するパッケージのビューが開きます。[承認]を押して、アーカイブ内のすべてのファイルを復元するか、[Select All][Deselect All]、および[Select Files]ボタンを使って、選択内容の微調整をします。RPMデータベースが壊れているか削除され、バックアップにこのファイルが含まれている場合にのみ、[RPMデータベースの復元]オプションを使用します。

  6. [承認]をクリックすると、バックアップが復元されます。[完了]をクリックして、復元プロセスが完了したあと、モジュールを終了します。

28.6.4. 壊れたシステムの復旧

システムが起動し正常に稼動するのに失敗する理由はいくつか考えられます。最も一般的な理由としては、システムクラッシュによるファイルシステムの破損や、ブートローダ設定の破損があります。

これらの状況を解決するため、SUSE Linux Enterprise Desktopでは、2種類の方法を用意してます。それらは、YaSTシステム修復機能の使用、またはレスキューシステムの起動です。以下のセクションでは、両方のタイプのシステム修復方法について説明します。

28.6.4.1. YaSTシステム修復の使用

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

ブート後に言語設定を変更すると、キーボードの設定もそれに応じて変更されます。

YaSTシステム修復モジュールを起動する前に、お客さまのニーズを一番満たすように、モジュールを起動するモードを決めます。システム障害の重大度と原因(および担当者の専門知識)に応じて、3つのモードから選択できます。

自動修復

不明な原因でシステムに障害が起こった場合で、そもそもシステムのどの部分が失敗の原因となっているか分からない場合は、[自動修復]を使用します。広範囲に及ぶ自動化されたチェックがお使いのシステム上のすべてのコンポーネントで実行されます。この手順の詳細な説明については、28.6.4.1.1項 「自動修復」を参照してください。

カスタム修復

システムに障害が発生し、その原因がどのコンポーネントにあるか分かっている場合、[カスタム修復]を使用して、コンポーネントに対して行うシステム分析の範囲を限定することにより、冗長なシステムチェックを短縮できます。例えば、障害の前のシステムメッセージに、パッケージデータベースのエラーの可能性を示唆する記述があれば、分析と修復手順を、システムのこの側面の検査および復元に限定できます。この手順の詳細な説明については、28.6.4.1.2項 「カスタム修復」を参照してください。

エキスパート設定用ツール

障害が発生したコンポーネントとその修復方法がはっきりわかっている場合は、分析を実行せずに、直接、該当するコンポーネントの修復に必要なツールを適用できます。詳細については、28.6.4.1.3項 「エキスパート設定用ツール」を参照してください。

前で説明した修復モードから1つを選択し、以下で概説するようにシステム修復を続行します。

28.6.4.1.1. 自動修復

YaSTシステム修復の自動修復モードを起動するには、次の手順に従います。

  1. SUSE Linux Enterprise DesktopのインストールメディアをDVDドライブに挿入します。

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

  3. ブート画面で、[インストール済みシステムの修復]を選択します。

  4. 使用許諾契約に同意したら、[次へ]をクリックします。

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

    YaSTは、ここでインストールされたシステムの広範囲に及ぶ分析を起動します。このプロシージャの進捗状況は、画面下部にある2つの進捗バーで表示されます。上のバーは現在実行中のテストの進捗状況を示します。下のバーは解析の全体の進捗状況を示します。上部のログウィンドウで、現在実行中のテストおよび結果を追跡することができます。詳細については、図28.4「自動修復モード」を参照してください。

    図28.4 自動修復モード

    自動修復モード

    以下のメインテストは、自動修復を実行すると毎回実行されます。さらに、それらには、多数のサブテストが含まれています。

    パーティションテーブルのチェック

    検出された全ハードディスクのパーティションテーブルの妥当性と一貫性が検査されます。

    スワップエリアのチェック

    インストール済みのシステムのスワップパーティションが検出およびテストされ、適用可能な場合は、それらのパーティションをアクティブにすることができます。システム修復の速度を上げるには、このアクティベーションを承諾する必要があります。

    ファイルシステムのチェック

    検出されたすべてのファイルシステムがファイルシステム固有の検査の対象となります。

    fstabエントリのチェック

    このファイルのエントリの完全性と一貫性が検査されます。有効なパーティションは、すべてマウントされます。

    パッケージデータベースのチェック

    最小構成のインストールの運用に必要なすべてのパッケージが存在しているか、検査されます。基本パッケージの解析もオプションとして可能ですが、基本パッケージの数が多いので、これは長時間かかります。

    ブートローダの設定のチェック

    インストールされているシステムのブートローダ設定(GRUBかLILO)の完全性と一貫性が検査されます。ブートデバイスとrootデバイスが調べられ、initrdモジュールの可用性が検査されます。

  6. エラーを検出するたびに、プロシージャが一時停止し、エラーの詳細および可能な解決策を提示するダイアログが表示されます。

    提案された修復を承認する前に、画面のメッセージを注意深く読みます。提案された修復を断る場合、システムは修復なしの状態のままになります。

  7. 修復プロセスが正常に終了した後に、[OK]および[完了]をクリックし、インストールメディアを取り出します。システムは自動的に再起動します。

28.6.4.1.2. カスタム修復

[カスタム修復]モードを起動し、システムのコンポーネントの一部を選択的に検査するには、次の手順に従います。

  1. SUSE Linux Enterprise DesktopのインストールメディアをDVDドライブに挿入します。

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

  3. ブート画面で、[インストール済みシステムの修復]を選択します。

  4. 使用許諾契約に同意したら、[次へ]をクリックします。

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

    [カスタム修復]では、実行可能なテストのリストが、最初は、すべて実行対象として選択された状態で表示されます。全部のテスト範囲は、自動修復と合致します。損傷が存在していない個所が、既に判明している場合、対応するテストのチェックマークを消します。[続行]をクリックすると、より狭い範囲のテストプロシージャが開始され、実行時間が大幅に短縮されます。

    すべてのテストグループを個別に実行できるわけではありません。fstab エントリの解析は常に、既存のスワップパーティションも含めたファイルシステムの検証と結び付いています。YaSTでは、このような依存性の条件が自動的に満たされ、必要なテストが最少数で実行されます。YaSTは、暗号化されたパーティションをサポートしません。そのようなパーティションがある場合は、YaSTから通知されます。

  6. エラーを検出するたびに、プロシージャが一時停止し、エラーの詳細および可能な解決策を提示するダイアログが表示されます。

    提案された修復を承認する前に、画面のメッセージを注意深く読みます。提案された修復を断る場合、システムは修復なしの状態のままになります。

  7. 修復プロセスが正常に終了した後に、[OK]および[完了]をクリックし、インストールメディアを取り出します。システムは自動的に再起動します。

28.6.4.1.3. エキスパート設定用ツール

SUSE Linux Enterprise Desktopについて十分な知識があり、システム内の修復の対象が明確にわかっている場合は、システム分析をスキップして、直接、ツールを適用します。

YaSTシステム修復の[エキスパート設定用ツール]の機能を使用するには、以下の手順に従います。

  1. SUSE Linux Enterprise DesktopのインストールメディアをDVDドライブに挿入します。

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

  3. ブート画面で、[インストール済みシステムの修復]を選択します。

  4. 使用許諾契約に同意したら、[次へ]をクリックします。

  5. エキスパート設定用ツール]をクリックし、修復オプションを選択します。

  6. 修復プロセスが正常に終了した後に、[OK]および[完了]をクリックし、インストールメディアを取り出します。システムは自動的に再起動します。

エキスパート設定用ツール]では、次のオプションで、障害の発生したシステムを修復できます。

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

YaSTのブートローダの設定モジュールを起動します。詳細については、10.2項 「YaSTによるブートローダの設定」を参照してください。

インストールしたシステムをブートする

すでにインストールされているLinuxシステムのブートを試行します。

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

YaSTのパーティションのエキスパート設定ツールが起動します。

ファイルシステムの修復

インストール済みのシステムのファイルシステムを検査します。はじめに、検出された全パーティションの中から1つを選択するダイアログが表示され、検査対象を選択することができます。

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

損傷したパーティションテーブルの再構築を試みることができます。はじめに、検出されたハードディスクのリストが表示され、対象を選択します。[OK]をクリックすると検証が開始されます。コンピュータの速度およびハードディスクのサイズと速度によっては、このプロセスにしばらく時間がかかることがあります。

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

パーティションテーブルの再構築は、難しい処理です。YaSTでは、ハードディスクのデータセクタを解析することにより、失われたパーティションの認識が試みられます。認識が成功すると、失われたパーティションが再構築したパーティションテーブルに追加されます。ただし、これは予想可能なすべての事例で成功するわけではありません。

システム設定のフロッピーへの保存

このオプションは、重要なシステムファイルをフロッピーディスクに保存します。それらのファイルの1つが損傷した場合は、ディスクから復元できます

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

パッケージデータベースの整合性と、最も重要なパッケージの可用性を検査します。このツールを使うと、損傷しているインストールパッケージを再インストールできます。

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

SUSE Linux Enterprise Desktopは、レスキューシステムを装備しています。レスキューシステムは、RAMディスクにロードして、ルートファイルシステムとしてマウントできる小さなLinuxシステムで、これを利用して外部からLinuxパーティションにアクセスすることができます。レスキューシステムを使用して、システムの重要な部分を復元したり、適切な変更を行ったりできます。

  • 任意の種類の設定ファイルを操作できます。

  • ファイルシステムの欠陥をチェックして、自動修復プロセスを開始することができます。

  • インストールされているシステムを、他のルート環境内からアクセスすることができます。

  • ブートローダーの設定を確認、変更、および再インストールできます。

  • 正常にインストールされていないデバイスドライバや使用不能なカーネルを修復できます。

  • partedコマンドを使って、パーティションサイズを変更できます。このツールの詳細については、GNU PartedのWebサイト(http://www.gnu.org/software/parted/parted.html)を参照してください。

レスキューシステムは、さまざまなソースや場所からロードすることができます。一番簡単な方法は、オリジナルのインストールメディアからレスキューシステムをブートすることです。

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

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

  3. ブート画面で、<F4>を押し、[DVD-ROM]を選択します。次に、メインメニューから[レスキューシステム]を選択します。

  4. Rescue:プロンプトに「root」と入力します。パスワードは必要ありません。

ハードウェア設定にDVDドライブが含まれていない場合は、ネットワークソースからレスキューシステムをブートできます。次の例は、リモートブートの場合です。DVDなど、他のブートメディアを使用する場合は、infoファイルを適宜変更し、通常のインストールと同様にブートします。

  1. PXEブートセットアップの設定を入力し、install=protocol://instsource行とrescue=1行を追加します。修復システムを起動する必要がある場合は、代わりにrepair=1を使用します。通常のインストールと同様に、protocolはサポートする任意のネットワークプロトコル(NFS、HTTP、FTPなど)を表しています。また、instsourceは、ネットワークインストールソースへのパスを表します。

  2. 「Wake on LAN」 (第11章 Remote Installation, ↑導入ガイド)に説明したように、Wake on LANを使用してシステムをブートします。

  3. Rescue:プロンプトに「root」と入力します。パスワードは必要ありません。

レスキューシステムが起動したら、<Alt>+<F1>~<Alt>+<F6>を使って、仮想コンソールを使用することができます。

シェルおよび他の多くの便利なユーティリティ(マウントプログラムなど)は、/binディレクトリにあります。sbinディレクトリには、 ファイルシステムを検討し、修復するための重要なファイルおよびネットワークユーティリティが入っています。このディレクトリには、最も重要なバイナリも入っています。たとえばステムメンテナンス用にはfdisk、mkfs、mkswap、mount、mount、init、およびshutdownがあり、ネットワークメンテナンス用にはifconfig、ip、route、およびnetstatがあります。/usr/binディレクトリには、vi editor、find、less、およびsshがあります。

システムメッセージを表示するには、dmesgコマンドを使用するか、または/var/log/messagesファイルを参照してください。

28.6.4.2.1. 設定ファイルの確認と修正

レスキューシステムを使った環境設定情報の修正例として、環境設定ファイルが壊れたためシステムが正常にブートできなくなった場合を考えてみましょう。このような場合は、レスキューシステムを使って設定ファイルを修復します。

環境設定ファイルを修正するには、以下の手順に従ってください。

  1. 前述のいずれかの方法を使って、レスキューシステムを起動します。

  2. /dev/sda6下にあるルートファイルシステムをレスキューシステムにマウントするには、以下のコマンドを使用します。

    mount /dev/sda6 /mnt

    システム中のすべてのディレクトリが、/mnt下に配置されます。

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

    cd /mnt
  4. 問題の発生している設定ファイルを、viエディタで開きます。次に、設定内容を修正して、ファイルを保存します。

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

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

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

一般的に、稼動システムではファイルシステムを修復できません。重大な問題が見つかった場合、ルートファイルシステムをブートできなくなることさえあります。この場合、システムブートはカーネルパニックで終了します。この場合、外部からシステムを修復するしか方法はありません。この作業には、YaSTシステム修復の使用を強くお勧めします(詳細は28.6.4.1項 「YaSTシステム修復の使用」参照)。ただし、手動でファイルシステムを確認、修復する必要がある場合は、レスキューシステムを起動します。レスキューシステムには、btrfs、ext2ext3ext4reiserfsxfsdosfs、およびvfatの各ファイルシステムを確認し、修復するユーティリティが用意されています。

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

レスキューシステムからインストール済みのシステムにアクセスする必要がある場合は、それをchange root(ルート変更)環境で行う必要があります。これは、たとえば、ブートローダの設定を変更したり、ハードウェア設定ユーティリティを実行するために行います。

インストール済みシステムに基づいた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]制限

インストール済みシステムのファイルやアプリケーションにフルアクセスできますが、いくつかの制限事項もあります。実行中のカーネルは、レスキューシステムでブートされたカーネルであり、ルート変更環境でブートされたカーネルではありません。このカーネルは、必要最低限のハードウェアしかサポートしておらず、カーネルのバージョンが完全に一致しない限り、インストール済みシステムからカーネルモジュールを追加することはできません。常に、現在実行中の(レスキュー)カーネルのバージョンをuname -rでチェックし、次に、一致するサブディレクトリがchange root環境の /lib/modulesディレクトリに存在するかどうか調べてください。存在する場合は、インストールされたモジュールを使用できます。そうでない場合は、USBやスティックなど、他のメディアにある正しいバージョンを提供する必要があります。多くの場合、レスキューカーネルのバージョンは、インストールされているバージョンと異なります。その場合は、たとえば、サウンドカードなどに簡単にアクセスすることはできません。また、GUIも利用できません。

また、<Alt>+<F1>から<Alt>+<F6>を使ってコンソールを切り替えると、change root(ルート変更)環境は終了することに注意してください。

28.6.4.2.4. ブートローダの変更と再インストール

場合によっては、ブートローダが壊れてしまい、システムをブートできなくなることもあります。たとえば、ブートローダが正常に機能しないと、起動ルーチンは物理ドライブとそのLinuxファイルシステム中の場所とを関連付けられず、正常な処理を行うことができません。

ブートロードの設定を確認し、ブートロードを再インストールするには、以下の手順に従ってください。

  1. の説明に従って、インストール済みシステムにアクセスするための適切な作業を行います。28.6.4.2.3項 「インストール済みシステムへのアクセス」

  2. 次のファイルが第10章 ブートローダ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
28.6.4.2.5. カーネルインストールの修復

カーネルアップデートによって、システムの操作に影響する可能性のある新しいバグが導入される場合があります。たとえば、一部のシステムハードウェアのドライバに障害が発生し、そのハードウェアのアクセスや使用ができなくなることがあります。その場合は、機能した最後のカーネルに戻すか(システムで使用可能な場合)、インストールメディアから元のカーネルをインストールします。

[Tip]更新後も最後のカーネルを保持する方法

正常でないカーネルアップデート後にブートできなくなることを防ぐには、カーネルの複数バージョン機能を使用して、更新後にどのカーネルを保持するかlibzyppに指示します。

たとえば、最後の2つのカーネルと現在実行中のカーネルを常に保持するには、次のコードを、

multiversion.kernels = latest,latest-1,running

/etc/zypp/zypp.confファイルに追加します。

また、SUSE Linux Enterprise Desktopでサポートされていないデバイスのドライバが破損し、その再インストールまたは更新が必要な場合があります。たとえば、ハードウェアベンダが、ハードウェアRAIDコントローラなどの特定のデバイスを使用している場合は、オペレーティングシステムによって認識されるバイナリドライバが必要です。ベンダは、通常、要求されたドライバの修正または更新バージョンを含むドライバアップデートディスクをリリースします。

両方のケースで、レスキューモードでインストールされているシステムにアクセスし、カーネル関係の問題を修正する必要があります。さもないと、システムが正しくブートしないことがあります。

  1. SUSE Linux Enterprise Desktopのインストールメディアからブートします。

  2. 正常でないカーネルアップデート後に修復を行っている場合、次のステップはスキップしてください。DUD(ドライバアップデートディスク)を使用する必要がある場合は、<F6>を押して、ブートメニューの表示後にドライバアップデートをロードし、 ドライバアップデートへのパスまたはURLを選択して、[はい]をクリックして確認します。

  3. ブートメニューから[レスキューシステム]を選択し、<Enter>を押します。DUDの使用を選択した場合は、ドライバアップデートの保存先を指定するように要求されます。

  4. Rescue:プロンプトに「root」と入力します。パスワードは必要ありません。

  5. ターゲットシステムを手動でマウントし、新しい環境にchange root(ルート変更)します。詳細については、28.6.4.2.3項 「インストール済みシステムへのアクセス」を参照してください。

  6. DUDを使用する場合は、障害のあるデバイスドライバパッケージのインストール/再インストール/更新を行います。インストールされたカーネルバージョンがインストールするドライバのバージョンと正確に一致することを常に確認してください。

    障害のあるカーネルアップデートのインストールを修復する場合は、次の手順で、インストールメディアから元のカーネルをインストールできます。

    1. DVDデバイスをhwinfo --cdromで識別し、識別したデバイスをmount /dev/sr0 /mntでマウントします。

    2. DVD上のカーネルファイルが保存されているディレクトリにナビゲートします(たとえば、 cd /mnt/suse/x86_64/)。

    3. 必要なパッケージkernel-*kernel-*-base、およびkernel-*-extraのカスタマイズしたバージョンを、rpm -iコマンドでインストールします。

    4. インストールが完了したら、新しくインストールしたカーネルに関する新しいメニューエントリがブートローダの設定ファイルに追加されたかどうかチェックします(grubの場合は/boot/grub/menu.lst)。

  7. 設定ファイルを更新し、必要に応じてブートローダを再初期化します。詳細については、28.6.4.2.4項 「ブートローダの変更と再インストール」を参照してください。

  8. システムドライブからブート可能なメディアをすべて除去し、再起動します。