[Solaris10]libstdc++.laがない


Solaris10コンパイルしていると「libstdc++.laがない」というようなエラーがでることがある。

libtool: link: `/usr/sfw/lib/gcc/sparc-sun-solaris2.10/3.4.3/../../../libstdc++.la' is not a valid libtool archive

実際に/usr/sfw/lib/libstdc++.laを見てみると、空ファイルである。

このファイルは、
sunfreeware.com:http://www.sunfreeware.com/indexsparc10.htmlから入手できる、
libgcc-3.3-sol10-sparc-local.gz(もしくはgcc-3.4.6-sol10-sparc-local.gz)に含まれる。

入手後、インストール。

pkgadd -d libgcc-3.3-sol10-sparc-local

Solaris10で時刻同期

こんな感じ↓

root@hoge # cp /etc/inet/ntp.client /etc/inet/ntp.conf
root@hoge # vi /etc/inet/ntp.conf
"/etc/inet/ntp.conf" 10 行、291 バイト
# ident "@(#)ntp.client 1.3 00/07/17 SMI"
#
# /etc/inet/ntp.client
#
# An example file that could be copied over to /etc/inet/ntp.conf; it
# provides a configuration for a host that passively waits for a server
# to provide NTP packets on the ntp multicast net.
#

#multicastclient 224.0.1.1
server 192.168.xx.xx
~
~
"/etc/inet/ntp.conf" 11 行、313 バイト
root@hoge # svcs -a | grep ntp
disabled 22:01:39 svc:/network/ntp:default
root@hoge # svcadm -v enable ntp
svc:/network/ntp:default が有効になりました。
root@hoge # svcs -a | grep ntp
online 14:39:55 svc:/network/ntp:default
root@hoge # tail -f /var/adm/messages
Nov 16 14:39:55 hoge ntpdate[15651]: [ID 774510 daemon.notice] step time server 192.168.xx.xx offset 58.005936 sec
Nov 16 14:39:55 hoge xntpd[15653]: [ID 702911 daemon.notice] xntpd 3-5.93e+sun 03/08/29 16:23:05 (1.4)
Nov 16 14:39:55 hoge xntpd[15653]: [ID 301315 daemon.notice] tickadj = 5, tick = 10000, tvu_maxslew = 495, est. hz = 100
Nov 16 14:39:56 hoge xntpd[15653]: [ID 266339 daemon.notice] using kernel phase-lock loop 0041, drift correction 0.00000

NTPクライアントの設定

ntpq -pで表示される項目の意味

                                                        • -

remote:
参照しているNTPサーバ名

refid:
remoteが参照している時刻参照元
「.LOCL.」は外部の時計を計測せず、ローカル時計を参照していることを示し
ていると思われます。

st:
サーバの階層(stratum)番号。1なら1次サーバ。

t:
階層の種類。( l: local, u: unicast, m: multicast, b:broadcast )

when:
最終動機からの経過時間(秒)。

poll:
同期間隔(秒)。安定してくると徐々に長くなり、最大1024秒。

reach:
過去8回分のチェックの成否を8進数で表示。377 = 1 1 1 1 1 1 1 1

delay:
信号の平均遅延時間(ms)。

offset:
サーバとの時刻のずれ(ms)。10(1/100秒)以内なら普通は問題ない。

jitter:
同期時のタイミングのばらつき(ms)。同期開始から1日ほどで安定する。10以下
なら問題ない。

ここを参照


1./etc/ntp.confを編集
  ・serverにNTPサーバ(社内windowsサーバー)のアドレスを指定。
  例:server 192.168.1.254

2.時刻の強制同期
  ntpdate 192.168.1.254
clock -w

3.ntpdの起動
  /etc/init.d/ntpd start

4.ntpdの自動起動設定
chkconfig ntpd on

5.同期状況確認(ntpd起動後、10分程度は待つ必要あり)
ntpq -p

例:
|# ntpq -p
| remote refid st t when poll reach delay offset jitter
|==============================================================================
|*192.168.1.254 192.168.1.254 4 u 329 1024 377 2.365 1.396 0.583

NTPサーバの前に「*」が着いていれば同期されています

smpatchでアップデート

環境はSolaris10(6/06)SPARCです。
特にはまることなくアップデートできます。


smpatch適用手順

○検証環境
# cat /etc/release
Solaris 10 6/06 s10s_u2wos_09a SPARC
Copyright 2006 Sun Microsystems, Inc. All Rights Reserved.
Use is subject to license terms.
Assembled 09 June 2006


○事前準備
 smpatchコマンドでアップデートするためにはSunOnlineのアカウントが必要です。
 SunOnline:http://updates.sun.com
 本手順では次のユーザID・パスワードを既に取得しているものとします。
  userID:user
  userPW:pass
  
  
 ※GUIが使用できる環境ならば、Sun Update Manager(GUIのパッチ適用ツール)で行うほうがよい。
  ・Sun Update Managerの実行
   # /usr/bin/updatemanager
  
○smpatchコマンドでアップデートを行う手順
 1.システム登録
  1-1.レジストレーションファイルの作成
   # cd /tmp
   # cp /usr/lib/breg/data/RegistrationProfile.propeerties .
   # vi RegistrationProfile.properties
   -------------------------------------
   userName=user     ←SunOnlineのID
   password=pass     ←SunOnlineのPW
   hostName=         ←省略(自ホスト名)
   subscriptionKey=     ←省略(Solaris Service Plan番号)
   portalEnabled=false    ←SunOnlineでアップデート情報を管理する/しない
   proxyHostName=192.168.0.1 ←プロキシサーバ名
   proxyPort=8080      ←プロキシポート番号
   proxyUserName=      ←省略(プロキシ認証ID)
   proxyPassword=      ←省略(プロキシ認証PW)
   --------------------------------------
  
  1-2.システム登録コマンド実行(sconadm)
   ・プロキシ登録
    # sconadm proxy -r /tmp/RegistrationProfile.properties
   ・システム登録
    # sconadm register -a -r /tmp/RegistrationProfile.properties
  
   ※-a:ライセンスに同意 -p:プロキシサーバのIPとポート番号 
    -r:レジストレーションファイル指定
  
 2.アップデート
  プロキシ環境の場合は事前に以下を実行する必要がある。
  
  # smpatch set patchpro.proxy.host=プロキシサーバ名
  # smpatch set patchpro.proxy.port=ポート番号
  
  2-1.必須パッチリストの取得
   # smpatch analyze
  2-2.全てのアップデート
   # smpatch update
   ※update終了後、「インストールポリシーによって許可されていないIDがファイルに書き込まれました」
    とメッセージが表示される。
  2-3.個別アップデート(2-2で適用されなかったパッチを個別に適用する)
   未適用リストの確認
   # cat /var/sadm/spool/disallowed_patch_list
   リストのパッチIDを元に適用する(例:パッチID=112233-44)
   # smpatch update -i 112233-44
   再起動
   # shutdown -i6 -g0 -y
   
  ※再起動後も適用されないことがあるため、再起動した後に再度
   必須パッチリスト取得と個別アップデート適用を行う。
   

○こちらのサイトを参考にさせていただきました。
bose...
 http://bose.techie.jp/?day=20051130
CLI を使った Solaris ソフトウェアの登録
 http://docs.sun.com/app/docs/doc/819-0378/6n2qdm01n?a=view



・・・にしてもApacheとかXとか使わないんだけど適用されるのね。
OSインストール時のソフトウェアグループは「開発者システムサポート」ですが、
Apacheのパッケージ入ってるんですかね?
Solaris8で「開発者システムサポート」インストールしたときは
入ってなかったはずなのだが。