JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
Solaris のシステム管理 (基本編)     Oracle Solaris 10 8/11 Information Library (日本語)
search filter icon
search icon

ドキュメントの情報

はじめに

1.  Oracle Solaris 管理ツール (製品概要)

2.  Solaris 管理コンソールの操作 (手順)

3.  Oracle Java Web Console の操作 (手順)

4.  ユーザーアカウントとグループの管理 (概要)

5.  ユーザーアカウントとグループの管理 (手順)

6.  クライアントとサーバーサポートの管理 (概要)

7.  ディスクレスクライアントの管理 (手順)

8.  システムのシャットダウンとブートの概要

9.  システムのシャットダウンとブート (概要)

10.  システムのシャットダウン (手順)

11.  Oracle Solaris ブート動作の変更 (手順)

12.  Oracle Solaris システムのブート (手順)

13.  Oracle Solaris ブートアーカイブの管理 (手順)

14.  Oracle Solaris システムのブートのトラブルシューティング (手順)

15.  x86: GRUB ベースのブート (参照情報)

16.  x86: GRUB を実装しないシステムのブート (手順)

17.  Oracle Solaris 自動登録コマンド regadm の操作 (手順)

18.  サービスの管理 (概要)

19.  サービスの管理 (手順)

サービスの管理 (作業マップ)

SMF サービスの監視

サービスの状態を一覧表示する方法

特定のサービスに依存するサービスを表示する方法

特定のサービスが依存するサービスを表示する方法

SMF サービス (作業マップ)

SMF サービスの管理

RBAC 権利プロファイルを使って SMF を管理する

サービスインスタンスを無効にする方法

サービスインスタンスを有効にする方法

サービスを再起動する方法

保守状態のサービスを復元する方法

別の SMF スナップショットに戻す方法

SMF プロファイルを作成する方法

SMF プロファイルを適用する方法

ネットワークに提供するサービスを generic*.xml で変更する

SMF サービスの設定

サービスを変更する方法

サービスの環境変数を変更する方法

inetd 制御サービスのプロパティーを変更する方法

inetd 制御サービスのコマンド行引数を変更する方法

inetd.conf エントリを変換する方法

実行制御スクリプトの使用 (作業マップ)

実行制御スクリプトの使用

実行制御スクリプトを使用して従来のサービスを起動または停止する方法

実行制御スクリプトを追加する方法

実行制御スクリプトを無効にする方法

サービス管理機能のトラブルシューティング

起動していないサービスをデバッグする

破壊されたリポジトリを修復する方法

どのサービスも起動しないでブートする方法

ブート中に system/filesystem/local:default サービスで障害が発生した場合に sulogin プロンプトを強制的に表示する方法

20.  ソフトウェアの管理 (概要)

21.  Oracle Solaris システム管理ツールによるソフトウェアの管理 (手順)

22.  Oracle Solaris パッケージコマンドによるソフトウェアの管理 (手順)

23.  パッチの管理

A.  SMF サービス

索引

サービス管理機能のトラブルシューティング

起動していないサービスをデバッグする

この手順では、印刷サービスが無効になっています。

  1. スーパーユーザーになるか、同等の役割を引き受けます。

    役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』の「RBAC の構成 (作業マップ)」を参照してください。

  2. ハングしたサービスに関する情報を要求します。
    # svcs -xv
    svc:/application/print/server:default (LP Print Service)
     State: disabled since Wed 13 Oct 2004 02:20:37 PM PDT
    Reason: Disabled by an administrator.
       See: http://sun.com/msg/SMF-8000-05
       See: man -M /usr/share/man -s 1M lpsched
    Impact: 2 services are not running:
            svc:/application/print/rfc1179:default
            svc:/application/print/ipp-listener:default

    -x オプションを指定すると、影響を受けたサービスインスタンスに関する情報も表示されます。

  3. サービスを有効にします。
    # svcadm enable application/print/server

破壊されたリポジトリを修復する方法

この手順は、破壊されたリポジトリをデフォルトのリポジトリと交換する方法を示しています。リポジトリデーモン svc.configd が起動すると、設定リポジトリの整合性チェックが行われます。このリポジトリは、/etc/svc/repository.db に格納されています。このリポジトリは、次のいずれかが原因で破壊されることがあります。

整合性チェックに失敗すると、svc.configd デーモンは次のようなメッセージをコンソールに書き出します。

svc.configd: smf(5) database integrity check of:

    /etc/svc/repository.db

  failed.  The database might be damaged or a media error might have
  prevented it from being verified.  Additional information useful to
  your service provider is in:

    /etc/svc/volatile/db_errors

  The system will not be able to boot until you have restored a working
  database.  svc.startd(1M) will provide a sulogin(1M) prompt for recovery
  purposes.  The command:

    /lib/svc/bin/restore_repository

  can be run to restore a backup version of your repository. See
  http://sun.com/msg/SMF-8000-MY for more information.

その後 svc.startd デーモンが終了し、sulogin が起動して保守作業を行えるようになります。

  1. sulogin プロンプトで root パスワードを入力します。sulogin では、root ユーザーはシステム保守モードに入ってシステムを修復できます。
  2. 次のコマンドを実行します。
    # /lib/svc/bin/restore_repository

    このコマンドを実行すると、破壊されていないバックアップの復元に必要な手順が示されます。SMF では、システムの重要な局面でリポジトリのバックアップが自動的に作成されます。詳細は、「SMF リポジトリのバックアップ」を参照してください。

    /lib/svc/bin/restore_repository コマンドが起動すると、次のようなメッセージが表示されます。

    Repository Restore utility
    See http://sun.com/msg/SMF-8000-MY for more information on the use of
    this script to restore backup copies of the smf(5) repository.
    
    If there are any problems which need human intervention, this script
    will give instructions and then exit back to your shell.
    
    Note that upon full completion of this script, the system will be
    rebooted using reboot(1M), which will interrupt any active services.

    復元するシステムがローカルゾーンでない場合は、読み取り権と書き込み権を付けて / ファイルシステムおよび /usr ファイルシステムをマウントし直しデータベースを復元する方法が表示されます。これらの説明を表示したあと、スクリプトは終了します。エラーの発生に特に注意しながら、これらの説明に従います。

    書き込み権を付けてルート (/) ファイルシステムをマウントしたあと、またはシステムがローカルゾーンである場合は、復元するリポジトリのバックアップを選択するよう求められます。

    The following backups of /etc/svc/repository.db exists, from
    oldest to newest:
    
    ... list of backups ...

    バックアップには、バックアップのタイプとバックアップが作成された時間に基づいて名前が付けられています。boot で始まっているのは、システムのブート後、リポジトリに対して最初の変更が行われる前に作成されたバックアップです。manifest_import で始まっているのは、svc:/system/manifest-import:default のプロセス終了後に作成されたバックアップです。バックアップ時間は、YYYYMMDD_HHMMSS 形式で記録されます。

  3. 適切な応答を入力します。

    通常は、最新のバックアップオプションを選択します。

    Please enter one of:
            1) boot, for the most recent post-boot backup
            2) manifest_import, for the most recent manifest_import backup.
            3) a specific backup repository from the above list
            4) -seed-, the initial starting repository. (All customizations
               will be lost.)
            5) -quit-, to cancel.
    
    Enter response [boot]:

    復元するバックアップを指定しないで Enter キーを押した場合は、[] で囲まれたデフォルトの応答が選択されます。-quit- を選択すると、restore_repository スクリプトが終了して、シェルスクリプトに戻ります。


    注 - -seed- を選択すると、seed リポジトリが復元されます。このリポジトリは、初期インストールとアップグレード時に使用する目的で作成されたものです。seed リポジトリを回復の目的で使用するのは、最後の手段にしてください。


    復元するバックアップを選択すると、妥当性検査が行われ、その整合性がチェックされます。なんらかの問題があると、restore_repository コマンドによってエラーメッセージが表示され、別のバックアップを選択するよう促されます。有効なバックアップを選択すると、次の情報が表示され、最終確認を入力するよう促されます。

    After confirmation, the following steps will be taken:
    
    svc.startd(1M) and svc.configd(1M) will be quiesced, if running.
    /etc/svc/repository.db
        -- renamed --> /etc/svc/repository.db_old_YYYYMMDD_HHMMSS
    /etc/svc/volatile/db_errors
        -- copied --> /etc/svc/repository.db_old_YYYYMMDD_HHMMSS_errors
    repository_to_restore
        -- copied --> /etc/svc/repository.db
    and the system will be rebooted with reboot(1M).
    
    Proceed [yes/no]?
  4. yes と入力して障害を修復します。

    restore_repository コマンドが表示されたアクションをすべて実行すると、システムがリブートします。

どのサービスも起動しないでブートする方法

サービスの起動に関する問題が発生した場合、ブート時にシステムがハングアップする可能性があります。この手順は、そうした問題のトラブルシューティングを行う方法を示しています。

  1. どのサービスも起動しないでブートします。

    このコマンドを実行すると、svc.startd デーモンはすべてのサービスを一時的に無効にし、コンソール上で sulogin を起動します。

    ok boot -m milestone=none
  2. システムに root としてログインします。
  3. すべてのサービスを有効にします。
    # svcadm milestone all
  4. ブートプロセスがどこでハングアップするのかを確認します。

    ブートプロセスがハングアップしたら、動作していないサービスを確認するために、svcs -a を実行します。/var/svc/log のログファイル内でエラーメッセージの有無を確認します。

  5. 問題が解決したら、すべてのサービスが起動していることを確認します。
    1. 必要なサービスがすべてオンラインになっていることを確認します。
      # svcs -x
    2. console-login サービスの依存関係に問題がないことを確認します。

      このコマンドを使えば、コンソール上の login プロセスが実行されるかどうかを確認できます。

      # svcs -l system/console-login:default
  6. 通常のブートプロセスを継続します。

ブート中に system/filesystem/local:default サービスで障害が発生した場合に sulogin プロンプトを強制的に表示する方法

Solaris OS のブートに必要でないローカルファイルシステムは、svc:/system/filesystem/local:default サービスによってマウントされます。これらのファイルシステムのいずれかがマウントできない場合、このサービスは保守状態になります。システムの起動は続行され、filesystem/local に依存しないサービスは起動されます。依存関係を介して起動されるサービスで、オンラインになるために filesystem/local を必要とするものは、起動されません。

サービスで障害が発生した場合に、システムの起動の続行を許可する代わりに、ただちに sulogin プロンプトを表示するようシステムの設定を変更するには、次の手順に従ってください。

  1. system/console-login サービスを変更します。
    # svccfg -s svc:/system/console-login
    svc:/system/console-login> addpg site,filesystem-local dependency
    svc:/system/console-login> setprop site,filesystem-local/entities = fmri: svc:/system/filesystem/local
    
    svc:/system/console-login> setprop site,filesystem-local/grouping = astring: require_all
    
    svc:/system/console-login> setprop site,filesystem-local/restart_on = astring: none
    
    svc:/system/console-login> setprop site,filesystem-local/type = astring: service
    
    svc:/system/console-login> end
  2. サービスを再表示します。
    # svcadm refresh console-login

例 19-18 Oracle Solaris JumpStart を使用して sulogin プロンプトを強制的に表示する

次に示すコマンドをスクリプトに保存し、/etc/rcS.d/S01site-customfs として保存します。

#!/bin/sh
#
# This script adds a dependency from console-login -> filesystem/local
# This forces the system to stop the boot process and drop to an sulogin prompt
# if any file system in filesystem/local fails to mount.

PATH=/usr/sbin:/usr/bin
export PATH

    svccfg -s svc:/system/console-login << EOF
addpg site,filesystem-local dependency
setprop site,filesystem-local/entities = fmri: svc:/system/filesystem/local
setprop site,filesystem-local/grouping = astring: require_all
setprop site,filesystem-local/restart_on = astring: none
setprop site,filesystem-local/type = astring: service
EOF

svcadm refresh svc:/system/console-login

[ -f /etc/rcS.d/S01site-customfs ] &&
    rm -f /etc/rcS.d/S01site-customfs

注意事項

system/filesystem/local:default サービスで障害が発生したときは、svcs -vx コマンドを使用して障害を特定するようにしてください。障害が修正されたら、次のコマンドでエラー状態をクリアし、システムのブートを続行できるようにします。 svcadm clear filesystem/local