# smpatch update システムに必要なパッチを評価しています... Failure: Cannot connect to retrieve Database/current.zip: This system is current ly unregistered and is unable to retrieve patches from the Sun Update Connection . Please register your system using the Update Manager.意訳:えーかげん Update Manager 使って Update Connection に登録しなよおまいさん。
かなーり前(およそ 3ヶ月前)からこんな状態になったまま放置しておりましたが、えーかげん気分がよろしくないわけで。
ぐるぐるとネットをさ迷った結果、どうやら Sun Update Connection とやらにツール経由でシステム登録しなければ smpatch を使ったアップデートができなくなるようです。
Solaris10 を入れてるマシン(Ultra5)はキーボードもディスプレイも接続せずに ssh でいぢくってる故に、 GUI を使用した Sun Update Manager による登録はしたくありませんでした。
CUI で登録するツールもありますが、いまいちまともに動かず。
結論から言うと、 GUI のツールを使う以外に簡単に Sun Update Connection に登録する手段はありません。
っつーわけで、こんな場合は以下のような感じで。
ちなみに前提として、 Sun Online に自分のアカウントが存在する必要があります。
ってか Solaris ダウンロードする際にアカウント登録必須だから、この時点でないなんてことは... 無くはないのか?
なんにせよ無料だから登録しておくといいYo!
- CUI でシステム登録しようと足掻く。
まずは Sun Download の Product Downloads : Sun Update Connection, System Edition 1.0.1 をダウンロードしてインストールするですよ。
# unzip updateConnection-sparc.zip # cd updateConnection # ./installUpdateConnection
ほいで CUI 登録ツール用の定義ファイルを編集するですよ。
# cp /usr/lib/breg/data/RegistrationProfile.properties /tmp # vim /tmp/RegistrationProfile.properties ---- userName=<Sun Online Account に登録済のユーザー名> password=<そのパスワード> ----
ファイル名はなんでもよいと思うです。
いざ CUI の登録ツール sconadm で登録してみるですよ。
# /usr/sbin/sconadm register -a -r /tmp/RegistrationProfile.properties Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/cns/basicreg/ BasicRegCLI
あみゃあぁぁっ! なんにゃあ! これなんにゃのにゃあ!
# file /usr/sbin/sconadm /usr/sbin/sconadm: 実行可能 シェル スクリプト
sconadm 自体はただの sh スクリプトで、その最後にexec java -classpath ${MAIN_JAR} com.sun.cns.basicreg.BasicRegCLI $SUBCOMMAND ${ ARGUMENTS}な感じで java を起動しているです。
${MAIN_JAR} には頭の方で /usr/lib/breg/basicreg.jar がセットされており、 .jar は zip 形式なので unzip で展開できるです。
展開したディレクトリの中にいかにもあやしい com/sun/cns/basicreg と続くディレクトリがあり、以下には
# cd /tmp # cp /usr/lib/breg/basicreg.jar . # unzip basicreg.jar # cd basicreg/com/sun/cns/basicreg # pwd /tmp/basicreg/com/sun/cns/basicreg # ls BasicReg$1.class TestFrame$4.class BasicReg$LoadTask.class TestFrame$5.class BasicReg.class TestFrame$6.class BasicRegFrame$1.class TestFrame$LanguageListener.class BasicRegFrame.class TestFrame.class Collector.class adapter/ TestFrame$1.class advertisement/ TestFrame$2.class qa/ TestFrame$3.class util/
... えーっと ...
BasicRegCLI なんてものは無いようですよ?
※ find . -name "*CLI*" も無駄っ
それとも何かっ、 BasicReg.class だか BasicReg$1.class あたりを BasicRegCLI.class かなんかにコピって zip 圧縮して配置すればいけるのかっ?
そこまでさすのかっ?
Sun は CUI を迫害していると、その日、私は知りました。
- GUI で妥協す。
えぇい背に腹は替えられぬ、せきゅりてぃのためじゃぁ、 GUI を持てぃ。
Solaris10 のインストール時になんでもかんでも入れさせたので X Library ももろちん入ってるですよ。
ディスプレイも繋がってないのにどう GUI するかっつーと... もぅお分かりですねっ!
メインで使ってる FreeBSD 機の X Server に叩き付けるですよっ!
# setenv DISPLAY <奴のホスト名か IP アドレス>:0 # updatemanager Xlib: connection to "奴:0.0" refused by server Xlib: No protocol specified Can't connect to X11 window server using '奴:0' as the value of the DISPLAY vari able.
うわ、やっべ、穴あけわすれてた。
では改めて。
- X Server 側設定
以下は X Server 側で設定するです。
ipfw などでフィルタリングしてたら以下のようなルールを追加して開放してあげるですよ。
たいがい専用のフィルタスクリプト使ってると思うのでそこらへんは適当に。
ipfw add pass tcp from <X Client の IP アドレス> any to <X Server(自分)の IP アドレス> 6000 setup
次に X Server のアクセス制御設定を追加するですよ。
startx に TCP を listen するオプションを付けて起動し、 xhost で許可するです。
> startx -listen_tcp ... X が起動したら何らかの Terminal を起動して、 > xhost + <X Client のホスト名か IP アドレス> <指定した X Client> being added to access control list
- X Client 側で Update Manager の起動
さくっと起動ですよ。
# setenv DISPLAY <X Server のホスト名か IP アドレス>:0 # updatemanager
すると...
- Update Manager による Sun Update Connection へのシステム登録

「ん、そんな、いきなり...」のように、まずこのウインドウが起動するです。次のウインドウに切り替わるまで待つです。
Ultra5 だとかなり待つですよ

「ひゃっ、ん...」とやさしく「登録してアップデートを管理」をボタンをクリックするですよ。

「んぅふっ、は、はぁっ、はんっ... はぁっ、はむ、ん...」とじらしながら Sun Online アカウントの「ユーザー名」と「パスワード」を入力して「次へ」をクリックするですよ。
まだアカウント登録していない場合でも「サンオンラインアカウントの作成」からアカウント登録ができるようですよ。

「ふぅっ、あっ、はっ、はっ、あんっ、いっ、いっ...」という段階です。
Sun サブスクリプションキーは Sun とソフトウェアサポート契約を結んだ際に発行されるキーで、セキュリティ以外のアップデートや Sun Update Connection でリモート管理する場合云々。
サポート契約できない貧乏人なのでセキュリティアップデートだけするですよ。
「Sun サブスクリプションキーを入力せずに続行するか、後で入力します。」をクリックするですよ。
さらに利用規約もまともに読まずに「契約に同意する」をチェックして「次へ」ですよ。
こーゆー人間が詐欺に引っ掛かるのですよ。規約はしっかり読むべきですよ。

「あぁんっ! わたしっ、わたしぃっ、送信しちゃうぅぅっ!」な感じで「完了」をクリックですよ。
「あぁん」の鼻から抜けるような感じと 2回目の「わたしぃっ」がポイント?

「んんんっっ! はあぁぁぁっ!
...
あふ... は... わたし、送信、し、しちゃった...」で「閉じる」ですよ。

「いや... はぁっ... あはっ、もぅそんなに... 見ないで...」という風にシステムへのアップデート適用状況のチェックが始まるですよ。
うちの Ultra5 ではぶち切れるほど時間がかかるのでゆっくりごはんでも食べるのですよ。

「やぁぁんっ... なに...? こんな格好... 恥かしいよぅ...」と、チェックが終わるとこのようにアップデート可能な一覧が表示されるですよ。
ここで必要なアップデートのチェックボックスにチェックを入れて、下にある「今すぐインストール」をクリックする、らしいですよ。
でも今回は CUI でアップデートするためにシステム登録をしただけなので、はっきり言ってこんな画面は不要なのですよ。
即、ウインドウを閉じるです。
「えぇぇぇぇっ!? これで終りなのっ!? ちょっと待ってこの格好な
- X Server 側設定
- ようやく CUI からアップデート。
# smpatch update
実行ですよ。
システムに必要なパッチを評価しています... 取得されたパッチリスト... パッチをダウンロード中 /var/sadm/spool... com.sun.patchpro.util.Percentage@1954f89 121308-01 has been validated. com.sun.patchpro.util.Percentage@1d5b89c 119254-10 has been validated. ... 途中省略 ... NOTICE: Patch 119689-06 cannot be installed until the next system shutdown. NOTICE: Patch 119546-04 cannot be installed until the next system shutdown. 119117-09 適用されました。 121095-01 適用されました。 119115-13 適用されました。 119059-09 適用されました。 /var/sadm/spool/patchpro_dnld_2005.12.13@23:39:43:JST.txt 以下へ移動しました /va r/sadm/spool/patchproSequester/patchpro_dnld_2005.12.13@23:39:43:JST.txt インストールポリシーによって許可されていない パッチの ID がファイルに書き込まれました /var/sadm/spool/disallowed_patch_list One or more updates that you installed requires a system shutdown to activate it . To initiate the system shutdown, you must use one of the following commands: o Power down the system - init 0 or shutdown -i 0 o Drop to the firmware prompt - init 5 or shutdown -i 5 o Restart the system - init 6 or shutdown -i 6無事、アップデートできたです。
再起動が必要なアップデートがあるので、ここで再起動するですよ。
# shutdown -g0 -y -i6
shutdown 実行直後に以下のメッセージが出力されるですよ。
Installing update 118822-23 Succeeded Installing update 119689-06 Succeeded Installing update 119546-04 Succeeded
インストールできなかったアップデートがインストールされているのですよ。
再起動後に、
# smpatch analyze
して、必要なアップデートが出力されなければ万々歳、なのですよ。
「Solaris10 smpatch」の検索ワードでいらっしゃる方がおられるようで、わたしと同じように CUI で頑張っていた方なのかな、と存じます。
まったく CUI では解決できませんでした。軟弱者ですいません。
Open Source Magazine 来月号(2006/2)の「のに子のチャレンジざわ〜るど」で Update Manager に関する記事があるようなので、より詳細な内容はそちらを読むとよいかも。
... しっかし GUI 子ちゃんはあのあとどうなんのかなぁ...
参考リンク:
Sun Update Manager 1.0 管理ガイド
コメント (3)
同じ症状ではまりました。(BasicRegCLI がなひ)
私の場合は
# smpatch remove -i 119108-06
して、もう一回
# smpatch update
したら、BasicRegCLI が現れやがります。
どうして一発目に当てたときにできなかったのか、までは追いかけてません。。
そのあとは sconadm で CLI でけますた。
ご参考までに。
投稿者: 通りすがり | 2005年12月19日 20:12
日時: 2005年12月19日 20:12
情報ありがとうございます!
119108 ってことは x86 をお使いですね。 sparc 版は 119107 のようです。
一度 patch の remove が必要でしたか...
もしかして 11910[78]-06 ってひっそりと更新されてたとか?
時間があったら qemu で動かして試してみようかな... 絶対忘れるだろうな(笑
しっかし、 Solaris の壁は高いですなぁ...
投稿者: mass | 2005年12月19日 22:23
日時: 2005年12月19日 22:23
ですね。でも、sparcでも検証済みです。
x86 でテストして、sparc で同じようにやりました。
(マシンが SunFire240のため GUI はNGで、がんばらざるを得なかったというオチです)
これからの情報更新も楽しみにしております(笑)
投稿者: 通りすがり | 2005年12月20日 10:16
日時: 2005年12月20日 10:16