Solaris 10 にバンドルされている SSH はデフォルトではポートフォワードが許可されていない件

  はまった.
  ポートフォワードを許可して SSH を再起動すれば OK.

% vi /etc/ssh/sshd_config
AllowTcpForwarding yes

% svcadm refresh ssh

Solaris 10 の libstdc++.la is not a valid libtool archive のエラーの対処法

  http://forum.sun.com/jive/thread.jspa?threadID=73150

  Solaris 10 では,/usr/sfw/lib/libstdc++.la や /usr/sfw/lib/64/libstdc++.la が空なのでたまに,

libtool: link: `libstdc++.la' is not a valid libtool archive

  などといってエラーが出るときがある.

  その場合の対処法.
  /usr/sfw/lib/libstdc++.la,/usr/sfw/lib/64/libstdc++.la に以下の内容を記述する.

- /usr/sfw/lib/libstdc++.la

# libstdc++.la - a libtool library file
# Generated by ltmain.sh - GNU libtool 1.4a-GCC3.0 (1.641.2.256 2001/05/28 20:09:07 with GCC-local changes)
#
# Please DO NOT delete this file!
# It is necessary for linking the library.
 
# The name that we can dlopen(3).
dlname='libstdc++.so.6'
 
# Names of this library.
library_names='libstdc++.so.6.0.3 libstdc++.so.6 libstdc++.so'
 
# The name of the static archive.
old_library='libstdc++.a'
 
# Libraries that this one depends upon.
dependency_libs='-lc -lm -L/usr/sfw/lib -lgcc_s'
 
# Version information for libstdc++.
current=6
age=0
revision=3
 
# Is this an already installed library?
installed=yes
 
# Files to dlopen/dlpreopen
dlopen=''
dlpreopen=''
 
# Directory that this library needs to be installed in:
libdir='/usr/sfw/lib'


- /usr/sfw/lib/64/libstdc++.la

# libstdc++.la - a libtool library file
# Generated by ltmain.sh - GNU libtool 1.4a-GCC3.0 (1.641.2.256 2001/05/28 20:09:07 with GCC-local changes)
#
# Please DO NOT delete this file!
# It is necessary for linking the library.
 
# The name that we can dlopen(3).
dlname='libstdc++.so.6'
 
# Names of this library.
library_names='libstdc++.so.6.0.3 libstdc++.so.6 libstdc++.so'
 
# The name of the static archive.
old_library='libstdc++.a'
 
# Libraries that this one depends upon.
dependency_libs='-L/lib/64 -lc -lm -L/usr/sfw/lib/64 -lgcc_s'
 
# Version information for libstdc++.
current=6
age=0
revision=3
 
# Is this an already installed library?
installed=yes
 
# Files to dlopen/dlpreopen
dlopen=''
dlpreopen=''
 
# Directory that this library needs to be installed in:
libdir='/usr/sfw/lib/64'

Soalris 10 で smpatch update が失敗する場合の対処法

# 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

  主に Solaris 10 3/05 でおきることが多いと思うんだけど,smpatch update でエラーが出てアップデートがこける場合の対処法.

  原因は Update Connection に登録していないこと.

  まず Sun Update Connection をインストールする必要がある (Solaris 10 1/06 にはインストールされている).

  x86 版と SPARC 版があるので,必要なものをダウンロードしてくる.ダウンロードには登録 (無償) が必要だけど,
  どの道 Update Connection に登録しなければいけないので,登録しておく.
  Solaris 10 をダウンロードしたときに登録してあればそれで OK.

  ダウンロードしたファイルを /tmp に展開する./tmp というのは重要で,SPARC 版はなぜか /tmp でないと,その後のインストールでこける.

# pwd
/tmp
# unzip updateConnection-sparc.zip
# ./updateConnection/installUpdateConnection

  あとは,インストールが終わるのを待つだけ.

  次に,X を使っている場合は GUI でやってもいいと思う./usr/bin/updatemanager で Sun Update Manager を起動して登録すればいい.
  ただ,コンソールのみで CUI しか使えない場合は,/usr/sbin/sconadm を使って登録する.

  まず,レジストレーションファイルを作る.

# cp /usr/lib/breg/data/RegistrationProfile.properties .
# vi RegistrationProfile.properties

userName=Sun Online のユーザ名
password=同パスワード

  userName と password だけ記入して

# sconadm register -a -r /tmp/RegistrationProfile.properties
sconadm is running
Authenticating user ...
Collecting asset ...
Registering asset ...
sconadm has been completed successfully

  これで登録完了.プロキシを使いたい場合は -p proxy:port を引数に加えてあげれば OK.
  これで smpatch update がうまくいくはずです.

- ref.: Sun Update Connection
  http://www.sun.com/service/sunupdate/

- ref.: Solaris10 x86 smpatch でアップデートができない
  http://www.kichise.com/modules/weblog/details.php?blog_id=52

Sun Java Desktop System で I've detected a panel already running, and will now exit.

  JDS on Solaris 10 (たぶん Gnome 2.0 ベース) で以下のようなエラーメッセージが表示されて,
  パネルが表示されない場合の対処法.

I've detected a panel already running, and will now exit.
(他のパネルがすでに起動しています。終了します。)

  I've detected a panel already running, and will now exit.
  他のパネルがすでに起動しています。終了します。

# pkill -KILL gnome-panel

  で gnome-panel のプロセスを全部 kill してしまう.

Subversion を 1.3.0 にしたら Mismatched RA version for 'dav' が発生する

  Subversion を 1.2.0 から 1.3.0 にバージョンアップしたら

% svn help
svn: Mismatched RA version for 'dav': found 1.3.0, expected 1.2.0
(svn: 'dav' 用 RA のバージョンが一致しません: 実際 1.3.0, 予想 1.2.0)

  なんてメッセージが出てくる.ただし,チェックアウトとかは問題なく出来る.

  よく分からなかったので,ldd してみたら /usr/local/lib/libsvn_* をリンクしていたので

# rm -f /usr/local/lib/libsvn_*

  でいったん削除してから make し直したらメッセージは出なくなった.まあよくわかんないけど
  ライブラリが競合していたのかなと.

  Solaris 8 x86 でのお話.

  あと,かなりバッドノウハウっぽいんだけど,手元の環境では configure に --disable-nls を付けないとリンクで失敗する.
  もちろん,こうすると help とかのメッセージが日本語では出ない.まあ,困らないといえばそうだけど.

  その場合は,まず --disable-nls で make して,そのあと,普通に make すればうまくいくことがある.

% ./configure --disable-nls (ほかのオプション)
% make EXTRA_LDFLAGS='-lintl'
% make clean
% ./configure (ほかのオプション)
% make EXTRA_LDFLAGS='-lintl'

  もうなんだかわからないけど,とりえあえずうまく行ってる.

  あと,Subversion の make check が 2 時間もかかるのは機械がしょぼすぎるから?

ProFTPD で NLST が使えるようにするパッチ

  http://www.hayasoft.com/haya/linux/proftpd_nlst_patch.html

  ProFTPD では NLST がいつのころからか使えなくなったらしい.
  FFFTP を使っているとファイル一覧の取得が出来ないので困る.
  上記パッチを当てれば OK.

  FreeBSD の ports 場合は,上記パッチを

/usr/ports/ftp/proftpd/files/patch-module::mod_ls.c

  なんて風において,

# make install

  で OK.

Solaris 10 を CD/DVD も network もないマシンにインストール

  http://blogs.sun.com/roller/page/ako?entry=japanese_installing_solaris_10_ ...

  そういう環境で使うかどうかは疑問が残りますが.

ファイル名の文字コードを変換する convmv

  http://j3e.de/linux/convmv/man/

  SJIS のファイル名を EUC-JP に変更するには

convmv -r -f sjis -t euc-jp * --notest

  -r で再帰的に処理を行う.

Solaris 10 で PostgreSQL をサポートへ

  http://japan.cnet.com/news/ent/story/0,2000047623,20091147,00.htm

  ありゃま.PostgreSQL サポートですか.
  MySQL のサポートはしませんよね.これじゃ.

Sun ファイルシステム ZFS のソースコードを公開

  http://japan.cnet.com/news/ent/story/0,2000047623,20091173,00.htm

  やっときた ZFS.Solaris 10 にも搭載されるんだろう.