リポジトリデータベース(/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

(以下省略...)
----------------

メッセージが出力された後、svc.configd デーモンは終了し、sulogind が
起動して保守作業が行えるようになります。

保守手順としては以下を実施します。

1.sulogin プロンプトで root パスワードを入力
(→suloginではroot ユーザはシステム保守モードに入って、システムを修復できます。)

2.次のスクリプトを実行します。
# /lib/svc/bin/restore_repository

3.リポジトリデータベースのバックアップファイルが古い順にリスト表示
されるので、戻したいファイルの番号を指定し、実行します。

例)バックアップファイルのリスト表示
manifest_import-20100209_011049
boot-20100625_061704
boot-20100625_231955
boot-20100628_001933
boot-20100704_050149

下記の表示が出力されたら、適切な番号を指定し、実行する。
----------------
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]:
----------------
通常は、最も新しい日付のファイルを指定するので、1のbootを選択するか、
または、何も入力せずに、Enter を入力すればデフォルトで、[boot]が選択
されます。

(4の -seed- を選択すると、初期インストール時のリポジトリデータベース
が復元され、これまでの変更が全て失われるので、注意が必要です。)

4.修復するバックアップファイルを選択すると、妥当性の検査が実行され、
整合性に問題なければ、再起動を要求されます。

修復が完了すると、以下が表示されます。
----------------
Proceed [yes/no]?
----------------
(yesを入力すると、システムが再起動します)