雑記

mixiに書いている日記の代わりだったりします。

2007/07/21

OpenSolaris奮戦記(アップグレード編

●アップグレード

0507版から0707に。

インストールガイドに従い、解凍して先行パッケージをあてて、アーカイブを展開、コマンド一発。

インストールガイドをみると、約数時間かかるとか。

しばらく放置。

●隙間に

○買い出し

○滑らない話3

○曲のタグつけ。

○無線LAN探し

○その他

●完了まで

6時間弱。確かに数時間ではある。

再起動してみる。

うまく行っているような、そうでもないような。ルートディレクトリがフルとか言ってるな。でもそんなの関係ねぇ。

起動続行。うん。あがるじゃん。

時間があればシスログを見ておきたいのだけど、時間がないのでここでシャットダウン。一応、設定は引き継いでくれているみたいなので。だからログくらい見ろ、オレ。

2007/07/16

OpenSolaris奮戦記(4)

何度目かの再インストール。どうせソフト側の問題だろう、と思っていたワタクシ、SE歴10年ですが、何か。

今朝になり、ブート(パソコンの起動をBootと言います)させてみると・・・・画面が出てきません。

が、BIOS自体は動いているようなので、またしてもグラボか?相性悪くありませんか、オレ。

ということで、まずはネットワーク系SEの基本、OSI7階層に従って、物理層から攻め込んでいく。

ケーブルの再接続。いったん取り外して、ゴミが付着していないことを確認、再接続。

・・・・治りました。

ちんとんしゃんてんとん。

2007/07/08

OpenSolaris奮戦記3

てなわけで、メッセンジャーであるPidginについて。

Solarisのパッケージがおいていなかったので、サイトからダウンロードして、/tmpの下に解凍。

で、お約束のおまじないらしき./configureを実行。

途中、こんなエラーがはき出されていた。

"conftest.c", line 17: syntax error before or at: me
"conftest.c", line 2: syntax error before or at: me


CC: Warning: Option --version passed to ld, if ld is invoked, ignored otherwise
/usr/ccs/bin/ld: illegal option -- version

configure:5137: CC -c -g conftest.cc >&5
"conftest.cc", line 23: Error: The class member exit(int) cannot be declared out
side the class.
"conftest.cc", line 23: Error: exit is not a member of std.


で、当然makeすると

make: Fatal error in reader: Makefile, line 838: Badly formed macro assignment
Current working directory /tmp/pidgin-2.0.2/libpurple/plugins/perl
*** Error code 1
The following command caused the error:
failcom='exit 1'; \
for f in x $MAKEFLAGS; do \
case $f in \
*=* | --[!k]*);; \
*k*) failcom='fail=yes';; \
esac; \
done; \
dot_seen=no; \
target=`echo all-recursive | sed s/-recursive//`; \
list=' perl ssl '; for subdir in $list; do \
echo "Making $target in $subdir"; \
if test "$subdir" = "."; then \
dot_seen=yes; \
local_target="$target-am"; \
else \
local_target="$target"; \
fi; \
(cd $subdir && make $local_target) \
|| eval $failcom; \
done; \
if test "$dot_seen" = "no"; then \
make "$target-am" || exit 1; \
fi; test -z "$fail"
make: Fatal error: Command failed for target `all-recursive'
Current working directory /tmp/pidgin-2.0.2/libpurple/plugins
*** Error code 1
The following command caused the error:
failcom='exit 1'; \
for f in x $MAKEFLAGS; do \
case $f in \
*=* | --[!k]*);; \
*k*) failcom='fail=yes';; \
esac; \
done; \
dot_seen=no; \
target=`echo all-recursive | sed s/-recursive//`; \
list='gconf plugins protocols tests . example'; for subdir in $list; do \
echo "Making $target in $subdir"; \
if test "$subdir" = "."; then \
dot_seen=yes; \
local_target="$target-am"; \
else \
local_target="$target"; \
fi; \
(cd $subdir && make $local_target) \
|| eval $failcom; \
done; \
if test "$dot_seen" = "no"; then \
make "$target-am" || exit 1; \
fi; test -z "$fail"
make: Fatal error: Command failed for target `all-recursive'
Current working directory /tmp/pidgin-2.0.2/libpurple
*** Error code 1
make: Fatal error: Command failed for target `all'
Current working directory /tmp/pidgin-2.0.2/libpurple
*** Error code 1
The following command caused the error:
failcom='exit 1'; \
for f in x $MAKEFLAGS; do \
case $f in \
*=* | --[!k]*);; \
*k*) failcom='fail=yes';; \
esac; \
done; \
dot_seen=no; \
target=`echo all-recursive | sed s/-recursive//`; \
list='libpurple doc pidgin m4macros po'; for subdir in $list; do \
echo "Making $target in $subdir"; \
if test "$subdir" = "."; then \
dot_seen=yes; \
local_target="$target-am"; \
else \
local_target="$target"; \
fi; \
(cd $subdir && make $local_target) \
|| eval $failcom; \
done; \
if test "$dot_seen" = "no"; then \
make "$target-am" || exit 1; \
fi; test -z "$fail"
make: Fatal error: Command failed for target `all-recursive'
Current working directory /tmp/pidgin-2.0.2
*** Error code 1
make: Fatal error: Command failed for target `all'


と怒られれるわけだ。どうしたものか。

OpenSolaris奮戦記3

とりあえず、pkgaddとpatchaddの使い方はわかった。

で、StarSuiteも、無事にUpdate7から8にアップ。その他のpatchはすでに適用されているらしく、当てても無効になっていた。ならよし。

で、だ。

メッセンジャーであるところのpidgin。こいつに手を焼いている。

本来ならマニュアル通りのはずなのだがコンパイラの挙動が違うらしい。途中でエラーになる。面倒なので今日はここまで。

だがなぁ。patchaddコマンドの使い方もわかりにくいし、敷居も高い。なので、せめてブラウザベースでどうにかならんもんかね。

2007/07/07

OpenSolaris奮戦記2

で、ひきつづき調べてみた。

Sendmailはデフォルトで起動されていた。若干よろしくないので、起動しないように設定。これはGUIから簡単だった。Apacheは起動していなかった。よしよし。

で、OS以外のpatchがあるかなー、とおもって探してみた結果。

FireFox。自動で検知してくれるみたい。今のところ最新ではあるのだけれど、patchがでたときにどうなるのだろう?

メッセンジャー。最新バージョンに上げようと思っているのだけれど、ソースを持ってきて展開。で、configure成功。make。

えー。なんか失敗している。なんだこりゃー(←エラーメッセージを読むつもり まるでなし)。問題を切りわける。悪いのは俺か?コンパイラか?それともconfigureの引数か?とりあえず放置だ(おい)。

どうも、Solarisはrpmみたいなコンポーネントをパッケージというらしいことまではわかった。で、そのパッケージがどこにあるのか、ってことだな。パッケージのインストールもいまいちうまく行かないような気がするのだけど、それはまた調べてみましょう。

OpenSolaris奮戦記

ってなわけで、OpenSolarisをインストールしてみたわけであります。

この前、会津大学でのワークショップに行ってきたときにもらってきたメディアを、なぜか自宅に余っていたPCにインストール。

ある程度(といっても高校卒業レベル?)の英語力があれば、とりあえずインストールはできる。っていうか、できた。

で、いくら自宅には簡易ファイアウオール付きルータがあるといっても、OSのパッチくらいは当てておきたい、と思うのがWindowsなユーザの常。WindowsUpdateみたいなのね。で、OpenSolarisにも同様のSoftwareUpdateなる機能が存在している。サポートを購入すると、いろんなソフトのパッチを管理できるらしいのだけれど、とりあえずOSのパッチだけあれば何とかなる(はず)。ってなわけで、早速実行してみた。フリーでIDを取得してしまえば、誰でも登録できます!というようなことが英語で書いてあったはず。英語力に誤りがなければ。

GUI画面で、なかなか使いやすい・・・・と思ったら、あらかじめ登録しておいたIDとパスワードを入力すると・・・・ダンマリ。再度「次へ」をクリックすると・・・・「SCN/cacaoのアカウントログインでエラーが発生しました」だとさ。

この事象、何度も再発するので、やはりおかしい。絶対におかしい。おかしいのは、俺か?端末か?ソフトか?ネットワークか?ということで、事象切り分け開始。

俺がおかしいのはこの際仕様通りなので放置するとして、「次へ」をクリックしたときにネットワークのアクセスが行われていない。ということは、ネットワークに接続できていないことがわかった。とすると、これはネットワークか、端末か。

で、実際に検索してみると、「エラーメッセージがでます」というだけで終わってしまっているフォーラムしか見つからず(英語力に乏しいのだけれど、投稿者が激怒していることはニュアンスとして理解できた)。

で、日本語のページだとどうなんだろう?と思ってみると、やはり同じ現象に見舞われている方がおられる模様。ただ、本当に同じ事象なのか、きちんと確認しなければなりません。

ということで、GNOME端末から、直接/usr/bin/updatemanagerを起動してみる。GUIが起動してくるところまでは同じなのだけれど、「次へ」をクリックしたとたん、端末画面にExceptionが大量に。

------ここから
Exception occurred during event dispatching:
java.lang.RuntimeException:
javax.management.MalformedObjectNameException: Invalid character `:'
in value
at com.sun.scn.client.SCNClientSession.login(SCNClientSession.java:388)
at com.sun.cns.basicreg.cacao.ClientLoginCacaoAdapter.loginAccount(ClientLoginCacaoAdapter.java:209)
at com.sun.cns.basicreg.wizard.cli.CmdLineWizard.outCall(CmdLineWizard.java:1109)
at com.sun.cns.basicreg.wizard.cli.CmdLineWizard.output(CmdLineWizard.java:773)
(以下略)
-----ここまで

で、やはり同じ事象が発生していることが判明。ということで、CUI(端末画面)からの登録を試みるわけです。すると、

/usr/lib/breg/data/RegistrationProfile.properties

というファイルを修正しなければならないようなので、viで編集しようとしたら・・・読み取り専用でした。仕方なく、cpでオリジナルをコピーした上で、chmodで600に変更。編集するのは、usernameとpasswordだけ、本来ならhostnameも修正すべきらしいので、ここは自分のマシン名を入れておきました。subscriptionkeyは、購入していないので入力しない(できない)。それでも問題はなさそうなので、編集を終了。ZZと。

で、実行だ!

・・・・結果同じ。

と、そのブログに書いてあった内容をおとなしく実行してみる。もちろん、自己責任で。

# cacaoadm stop

# rm /var/scn/persistence/SCN*

# /usr/lib/cc-cfw/framework/lib/cc-client-adm stop

# /usr/lib/cc-ccr/bin/eraseCCRRepository

# cacaoadm start

途中、いくつかエラーも出てきたけど、気にしないことにする。で、早速コマンドラインから実行開始。

# sconadm register -a -r /usr/lib/breg/data/RegistrationProfile.properties
sconadm が実行中です
ユーザーを認証中...
finish registration!

できたー。

で、GUIからSoftwareUpdateを起動してみると、無事にパッチ管理画面が出てきました。・・・・で、必要なパッチは存在しない、とのこと(苦笑)。まぁ、これで安心できたし、勉強になったということであれば、それはそれでよいことにしておきましょう。

ということで、ようやくOpenSolarisで遊べるようになりました。

感覚的な感想。

Windowsみたいにコントロールパネルで変更できるところが少ない。本来ならコマンドラインでconfファイルを修正するのを、むりやりGUIにしているのだから、当然といえば当然。ただ、初心者が下手にいじって動かなくする、というのは防げるかもしれない。

Atok標準装備。これはうれしい悲鳴です。っていうか、感激です。これが使えないと、とにかく大変なんです。生産性が半分以下になります。俺の場合は。

ブラウザベースのアプリが普及してきたので、OSがなんなのか、というのは特に関係ないように思えます。Webメールも問題なく読み書きできますし。ただ、デスクトップアプリがどれくらい使えるのか、というのはこれからの俺の実験課題というところでしょうかね。

そして、最後に気になるのは、SolarisというOSの特性から勝手に不安に思っているだけなのか、sendmailとかApacheが何の断りもなく動いていたりしないよね?ということ。サーバ利用であれば当然この手のパッチは当てるべきだと思うけれど、デスクトップマシンとして利用する上では、まったく必要ない。このあたり、GUIから設定できるようになるとうれしいかな。っていうか、まだみてないんだけど(おい)。

過去にSolaris7とか、RedHatとか、いろいろいじってきたのだけれど、ここまで簡単になってしまったら、Windowsのリプレースとしても十分に使えるかもしれない。ハイスペックなマシンが必要、という訳でもないし。

ということで、奮戦記は以上。