Solaris のシステム管理 (第 2 巻)

第 27 章 システム情報の確認と変更

この章では、最も一般的なシステム情報を確認および変更するために必要な手順を示します。

コマンドを使用したシステム情報の表示

表 27-1 に、一般的なシステム情報を表示するためのコマンドを示します。

表 27-1 システム情報を表示するためのコマンド

コマンド 

表示できるシステム情報 

psrinfo(1M)

プロセッサタイプ 

isainfo(1)

サポートされるアプリケーション、および動作しているシステムのネイティブアプリケーションによってサポートされるビット数。ビット数は、トークンとしてスクリプトに渡すことができる 

showrev(1M)

ホスト名、ホスト ID 番号、リリース、カーネルアーキテクチャ、アプリケーションアーキテクチャ、ハードウェアプロバイダ、ドメイン、およびカーネルのバージョン 

uname(1)

オペレーティングシステム名、リリース、バージョン、ノード名、ハードウェア名、プロセッサタイプ 

hostid(1)

ホスト ID 番号 

prtconf(1)

インストールされているメモリー量 

date(1)

日付と時刻 

システムが 64 ビット Solaris オペレーティング環境を実行できるか調べる方法

現在、64 ビット Solaris オペレーティング環境をサポートするプラットフォームは UltraSPARC システムだけです。システムが UltraSPARC システムか調べるには、次のコマンドを使用します。


$ uname -m
sun4u

uname -m コマンドの出力が sun4u なら、そのマシンは UltraSPARC システムです。

Solaris 8 リリースを実行している場合は、psrinfo コマンドを次のように使用します。


# psrinfo -v 		
Status of processor 0 as of: 07/12/99 09:41:47
  Processor has been on-line since 07/08/99 13:51:11.
  The sparcv9 processor operates at 333 MHz,
        and has a sparcv9 floating point processor.

プロセッサタイプが sparcv9 であれば、そのプラットフォームで 64 ビット Solaris オペレーティング環境が実行できます。以前のバージョンの psrinfo コマンドでは、すべてのプラットフォームがプロセッサタイプ sparc として報告されるため、この検査は機能しません。

64 ビット Solaris 機能が有効になっているか調べる方法

システムで 64 ビット Solaris 機能が有効になっているか調べるには isainfo コマンドが使用できます。有効になっていれば、システムは 64 ビットカーネルでブートされています。

例- 64 ビット Solaris 機能が有効になっているか調べる

32ビットカーネルが動作する UltraSPARC システムは、次のように表示されます。


$ isainfo -v
32-bit sparc applications

この出力は、システムが 32 ビットアプリケーションだけをサポートすることを示します。

64 ビットカーネルが動作する UltraSPARC システムは、次のように表示されます。


$ isainfo -v 
64-bit sparcv9 applications 
32-bit sparc applications

この出力は、システムが 32 ビットと 64 ビットのアプリケーションを両方サポートすることを示しています。

動作しているシステムのネイティブアプリケーションによってサポートされるビット数を表示するには、isainfo -b コマンドを使用します。

32 ビット Solaris オペレーティング環境が動作する SPARC、IA、UltraSPARC システムは、次のように表示されます。


$ isainfo -b
32  

64 ビット Solaris オペレーティング環境が動作する 64 ビット UltraSPARC システムは、次のように表示されます。


$ isainfo -b
64

コマンドは 64 だけを返します。64 ビット UltraSPARC システムでは 32 ビットと 64 ビットのアプリケーションが両方動作しますが、64 ビットシステムで実行するには 64 ビットアプリケーションが最適です。

uname -p コマンドは sparc または i386 を返します。これは、既存の 32 ビットアプリケーションが問題なく動作することを示します。

システムとソフトウェアのリリース情報を表示する方法

特定のシステムとソフトウェアのリリース情報を表示するには、showrev コマンドを使用します。


$ showrev [-a]

-a

利用できるすべてのシステムおよびリリース情報を表示する 

例 - システムとソフトウェアのリリース情報を表示する

次の例は、showrev コマンドの出力を示します。


$ showrev -a
Hostname: starbug
Hostid: nnnnnnnn
Release: 5.8
Kernel architecture: sun4u
Application architecture: sparc
Hardware provider: Sun_Microsystems
Domain: solar.com
Kernel version: SunOS 5.8 s28_26 February 2000

OpenWindows version: 
OpenWindows Version 3.6.2  9 August 1999

No patches are installed
$ 

一般的なシステム情報を表示する方法 (uname)

システム情報を表示するには、uname コマンドを使用します。


$ uname[-a] 

-a

オペレーティングシステム名とともに、システムノード名、オペレーティングシステムのリリース、オペレーティングシステムのバージョン、ハードウェア名、プロセッサタイプを表示する 

例 - 一般的なシステム情報を表示する

次の例は、uname コマンドの出力を示します。


$ uname
SunOS
$ uname -a
SunOS starbug 5.8 Generic sun4u sparc SUNW,Ultra-5_10
$

システムのホスト ID 番号を表示する方法

ホスト ID 番号を 16 進形式で表示するには、hostid コマンドを使用します。


$ hostid

例 - システムのホスト ID 番号を表示する

次の例は、hostid コマンドの出力を示します。


$ hostid
80a5d34c

システムにインストールされているメモリーを表示する方法

システムにインストールされているメモリー量を表示するには、prtconf コマンドを使用します。


$ prtconf [| grep Memory]

grep Memory

コマンド出力をメモリー情報だけに限定する 

例 - システムにインストールされているメモリーを表示する

次の例は、prtconf コマンドの出力例を示します。


# prtconf | grep Memory
Memory size: 128 Megabytes

日付と時刻を表示する方法

システムクロックに従った現在の日付と時刻を表示するには、date コマンドを使用します。


$ date

例 - 日付と時刻を表示する

次の例は、date コマンドの出力例を示します。


$ date
Thu Sep 16 14:06:44 MDT 1999
$

コマンドを使用したシステム情報の変更

表 27-2 に、一般的なシステム情報を変更できるコマンドのマニュアルページと説明を示します。

表 27-2 システム情報を変更するためのコマンド

コマンド 

変更できるシステム情報 

rdate(1M)

日付と時刻を別のシステムの日付と時刻に合わせる 

date(1)

日付と時刻を自分の指定に合わせる 

これらのコマンドを使用することにより、システムの日付と時刻を設定して、サーバーなどの別のシステムの日付と時刻に同期させることができます。また、新しい日付と時刻を指定して、システムの日付と時刻を変更することもできます。

その日のメッセージ (MOTD) は /etc/motd に置かれています。この機能を使用すると、ログイン時のシステムメッセージによりすべてのユーザーに通知や問い合わせを送ることができます。ただし、この機能を使用するときは、常に必要なメッセージだけを送ります。メッセージファイルは定期的に編集し、無用になったメッセージを削除するようにしてください。

/etc/system ファイルを編集することにより、次の作業が行えます。

ネットワークでの Network Time Protocol (NTP) の使用

Solaris 2.6 以降、Solaris ソフトウェアには Delaware 大学の Network Time Protocol (NTP) 公開ドメインソフトウェアが添付されています。

NTP を使用すると、ネットワーク環境における正確な時間やネットワーク時間の同期を管理できます。xntpd デーモンは、UNIX システムの時間を インターネット標準時間サーバーの時間と合うように調整し、保守します。xntpd デーモンは、RFC 1305 に規定されている Network Time Protocol バージョン 3 標準を完全に実装しています。

xntpd デーモンは、システムの起動時に /etc/inet/ntp.conf ファイルを読み取ります。構成オプションの詳細は、xntpd(1M) のマニュアルページを参照してください。NTP サーバーとクライアントの設定手順については、次の節を参照してください。

ネットワークで NTP を使用する場合、次のことを考慮してください。

NTP サーバーを設定する方法

  1. スーパーユーザーになります。

  2. /etc/inet ディレクトリに移動します。

  3. ntp.server ファイルを ntp.conf ファイルにコピーします。


    # cp ntp.server ntp.conf
    
  4. /etc/init.d ディレクトリに移動します。

  5. xntpd デーモンを起動します。


    # ./xntpd start
    

NTP クライアントを設定する方法

  1. スーパーユーザーになります。

  2. /etc/inet ディレクトリに移動します。

  3. ntp.client ファイルを ntp.conf ファイルにコピーします。


    # cp ntp.client ntp.conf
    
  4. /etc/init.d ディレクトリに移動します。

  5. xntpd デーモンを起動します。


    # ./xntpd start
    

他のシステムの日付と時刻に同期させる方法

  1. スーパーユーザーになります。

  2. 日付と時刻を設定し直して他のシステムと同期させるには、rdate コマンドを使用します。


    # rdate another-system
    

    another-system

    別のシステム名 

  3. date コマンドを使用してシステムの日付と時刻を調べ、システムの日付と時刻が正しく変更できたことを確認します。

    出力は同期させたシステムの日付と時刻に一致します。

例 - 他のシステムの日付と時刻に同期させる

次の例は、rdate を使用してシステムの日付と時刻を別のシステムに同期させる方法を示します。次の例は、数時間遅れていたシステム earth の日付と時刻をサーバー starbug の日付と時刻に一致させます。


earth# date
Thu Sep 16 11:08:27 MDT 1999
earth# rdate starbug
Thu Sep 16 14:06:37 1999
earth# date
Thu Sep 16 14:06:40 MDT 1999

システムの日付と時刻を手作業で設定する方法

  1. スーパーユーザーになります。

  2. 次のように新しい日付と時刻を入力します。


    # date mmddHHMM[[cc]yy]
    

    mm

    月。2 桁を使用 

    dd

    日。2 桁を使用 

    HH

    時。2 桁で 24 時間制を使用 

    MM

    分。2 桁を使用 

    cc

    世紀。2 桁を使用 

    yy

    年。2 桁を使用 

  3. オプションを指定せずに date コマンドを実行し、システムの日付と時刻をチェックして、システムの日付と時刻が正しくリセットされていることを確認します。

    出力は、他のシステムと同じ日付と時刻を示します。

例 - システムの日付と時刻を手作業で設定する

次の例は、date コマンドを使用して手作業でシステムの日付と時刻を設定する方法を示します。


# date
Thu Sep 16 14:00:00 MDT 1999
# date 0916141099
Thu Sep 16 14:10:00 MDT 1999

その日のメッセージを設定する方法

  1. スーパーユーザーになります。

  2. エディタを使って /etc/motd ファイルを開き、必要なメッセージを追加します。

    テキストを編集して、スペース、タブ、復帰改行を含めて、ユーザーログインプロセスの一部として表示されるメッセージを挿入します。

  3. /etc/motd の内容を表示して、変更結果を確認します。


    $ cat /etc/motd
    Welcome to the UNIX Universe. Have a nice day.

例 - その日のメッセージを設定する

Solaris ソフトウェアのインストール時に、デフォルトのその日のメッセージが設定されます。メッセージの内容は次のような SunOS バージョン情報です。


$ cat /etc/motd
Sun Microsystems Inc.   SunOS 5.8       Generic  February 2000

次の例は、編集後の /etc/motd ファイルの内容を示します。このファイルは、ログインする各ユーザーに対してシステムの利用度に関する情報を提供します。


$ cat /etc/motd
The system will be down from 7:00 a.m to 2:00 p.m.on
Saturday, July 10, for upgrades and maintenance.
Do not try to access the system during those hours.
Thank you... 

ユーザー当たりのプロセス数を設定する方法

  1. スーパーユーザーになります。

  2. エディタを使って /etc/system ファイルを開き、次の行を追加します。


    set maxuprc=value
    

    value

    1 人のユーザーが同時に実行できるプロセス数 

  3. maxuprc の値が変更されていることを確認します。


    # grep maxuprc /etc/system
    set maxuprc=100
  4. システムをリブートします。

例 - ユーザー当たりのプロセス数を設定する

次の例は、各ユーザーが 100 プロセスを実行できるようにする場合に、/etc/system ファイルに追加する行を示します。

set maxuprc=100

共有メモリーセグメント数を増加する方法

  1. スーパーユーザーになります。

  2. エディタを使って /etc/system ファイルを開き、次の変数を追加して共有メモリセグメントを増やします。


    set shmsys:shminfo_shmmax=value
    set shmsys:shminfo_shmmin=value
    set shmsys:shminfo_shmmni=value
    set shmsys:shminfo_shmseg=value
    set semsys:seminfo_semmap=value
    set semsys:seminfo_semmni=value
    set semsys:seminfo_semmns=value
    set semsys:seminfo_semmsl=value
    set semsys:seminfo_semmnu=value
    set semsys:seminfo_semume=value
    
    shmsys:shminfo_shmmax

    共有メモリーセグメントの最大サイズ 

    shmsys:shminfo_shmmin 

    共有メモリーセグメントの最小サイズ 

    shmsys:shminfo_shmmni 

    共有メモリー識別子数 

    shmsys:shminfo_shmseg 

    プロセスごとのセグメント数 

    semsys:seminfo_semmap 

    セマフォマップ中のエントリ数 

    semsys:seminfo_semmni 

    セマフォ識別子数 

    semsys:seminfo_semmns

    システム中のセマフォ数 

    semsys:seminfo_semmsl

    ID ごとの最大セマフォ数 

    semsys:seminfo_semmnu 

    undo 機能を使用するプロセス数

    semsys:seminfo_semume

    プロセスごとの最大 undo 構造数

  3. 共有メモリーの値が変更されていることを確認します。


    # grep shmsys /etc/system
    
  4. リブートします。


    # init 6
    

例 - 共有メモリーセグメントを増加する

次の共有メモリー値は、大きなデータベースアプリケーションを実行するために、大容量のメモリー (たとえば 128M バイト) を搭載したシステムに適用されます。


set shmsys:shminfo_shmmax=268435456
set shmsys:shminfo_shmmin=200
set shmsys:shminfo_shmmni=200
set shmsys:shminfo_shmseg=200
set semsys:seminfo_semmap=250
set semsys:seminfo_semmni=500
set semsys:seminfo_semmns=500
set semsys:seminfo_semmsl=500
set semsys:seminfo_semmnu=500
set semsys:seminfo_semume=100