水曜日, 7月 27, 2005

SMFについて

Solaris 10 から、サービスの管理に関して、今までおなじみのrcXスクリプトから、SMFに移行した。
これに伴い、スクリプトの修正だけで済んでいたサービスの起動、停止に関して、コマンドが用意されている。
また、inetdの設定も、ined.confではなく、inetadmを使う。

svcs - report service status
  • -a : 全サービスのリストを出力
  • [FMRI] : ステータスがdisable以外のサービスを出力。FMRIが指定されていればそのサービスの情報のみを出力
  • -d FMRI : 自身が依存しているサービスを表示する
  • -D FMRI : 自身に依存しているサービスを表示する
  • -H : オプション無しで起動した時の、カラムヘッダ(1行目)を省略する。
  • -l FMRI : FMRIの詳細な情報を出力する。
  • -p [FMRI] : 各サービスのプロセス情報を含めて表示する。
  • -v [FMRI] : Vervoseモード
  • -x [FMRI] : 各サービスの説明(デバッグ時に多用する)
svcadm - manipulate service instances
  • enable [-rst] FMRI ... : サービスを使用可能にしてオンラインにします
  • disable [-st] FMRI ... : サービスを使用不可にしてオフラインにします
  • restart FMRI ... : 指定されたサービスを再起動します
  • refresh FMRI ... : サービスの設定を再度読み取ります
  • mark [-It] <状態> FMRI ... : 保守状態を設定します
  • clear FMRI ... : 保守状態を消去します
  • milestone [-d] <マイルストン> : 特定のサービスマイルストンに進みます
inetadm - observe or configure inetd-controlled services
  • -? : ヘルプを出力します。
  • -p : デフォルトの inetd プロパティ値をすべて表示します。
  • -l : inet サービスの inetd プロパティ値をすべて表示します。
  • -e : inet サービスを有効にします。
  • -d : inet サービスを無効にします。
  • -m : inet サービスの inetd プロパティ値を変更します。
  • -M : デフォルトの inetd プロパティ値を変更します。

月曜日, 7月 11, 2005

FTPサーバの文字化け

Solarisのデフォルト言語をja(EUC)でインストールすると、FTPクライアントの接続時に
言語環境が LANG=ja となって、日本語環境となります。
 日本語環境ですと、ファイルのタイムスタンプが、日本語で表示されるのですが、
一部のFTPクライアント(IEや、FIREFOX)では、日本語のタイムスタンプを理解できずに、
文字化けを引き起こします。

対処:対処方法は、二つ:
  1. inetd 自体を LANG=C で起動。
    /etc/initd/inetsvcの最後の行を次のようになおします。

    #/usr/sbin/inetd -s
    LANG=C /usr/sbin/inetd -s -t &

  2.  ftpd だけを、 LANG=C で起動。
    この場合は、inetd から呼ばれる、in.ftpd をラップするスクリプトを書く。/usr/local/sbin/in.ftpd
    ----------------------
    #!/bin/sh
    LANG=C;export LANG
    exec /usr/sbin/in/ftpd $*
    -----------------------
    上記ファイルを、/etc/inetd.conf の ftp のエントリーに指定する。

PROMモニタモードで、システムのEthernetアドレスを表示する方法

ネットワークインストールをするときには、インストール先のマシンのMACアドレスが必要。
そんなときは、PROMモニタモードで、
banner
とすればよい。
bannerにより、PROMのバージョン、搭載メモリ、シリアル番号、MACアドレス、HOST IDが分かる。