インストール

ハードウェア要件

CPUSPARC 200MHz以上、X86 120MHz以上、浮動小数点演算のサポートが必要
MEM最小 64MB、推奨 256MB、GUI 384MB
HDD最小 2GB
SWAPデフォルト 512MB

インストール前に決めておくこと

インストールの種類

インストーラーが起動するまで(SPARC)

  1. インストールメディア(CD/DVD)をドライブにセット
  2. システムのブート
    • 停止中の場合には電源を入れる
    • 稼働中の場合には再起動する
      • initコマンド
      • haltコマンド
  3. ブートコマンドが表示される
    ok
  4. ブートコマンドを実行して、インストーラーを起動する
    ok boot cdrom

インストーラーが起動するまで(X86)

インストールログ

インストールモード

  1. テキストインストーラーモード
    • ok boot cdrom -nowin
    • tip コマンド
    • ok boot cdrom -text (メモリ64MB〜127MB)
  2. Windowシステムのターミナル上でテキストインストーラーモード
    • ok boot cdrom -text (メモリ128MB〜383MB)
  3. Windowシステムのグラフィカルユーザーインターフェース(GUI)モード
    • ok boot cdrom

ソフトウエアグループ

パッケージ

pkgask

パッケージから応答ファイルを取り出す

pkgask [-d <device>] [-R <root_path>] -r <response> <instance>...
コマンドオプション意味
[-d <device>]設定値 : パッケージファイルを置いてあるディレクトリ規定値 : /var/spool/pkg
[-R <root_path>]設定値 : パッケージのインストール先ディレクトリ規定値 : パッケージで定義されている値
-r <response>応答ファイルの出力先ファイル名
<instance>パッケージのインスタンス(パッケージファイル名)

pkgadd

パッケージのインストールを行う

pkgadd [-n] [-a <admin>] [-d <device>] [-G] [-r <response>] [-R <rootPath>] [<source>] [<instances>]
コマンドオプション意味
[-n]設定値 : インストールモードを非対話式に設定する規定値 : インストールモードは対話式
[-a <admin>]設定値 : インストール時に使用するインストール管理ファイル規定値 : 次の順番でインストール管理ファイルを探す。1.カレントディレクトリ 2./var/sdam/install/admin/ディレクトリ
[-d <device>]設定値 : パッケージファイルを置いてあるディレクトリ("source"オプションと同じ)規定値 : /var/spool/pkg
[-G]設定値 : カレントゾーンのみにパッケージをインストールする規定値 : 全てのゾーンにインストールする
[-r <response>]設定値 : インストール時に用いる応答ファイル名規定値 : 応答ファイルを使わずにインストールを行う
[-R <root_path>]設定値 : パッケージのインストール先ディレクトリ規定値 : パッケージで定義されている値
[<source>]設定値 : パッケージファイルを置いてあるディレクトリ("-d"オプションと同じ)規定値 : /var/spool/pkg
<instance>パッケージのインスタンス(パッケージファイル名)

パッケージの取得のみを行う

pkgadd -d <deviceName> -s <spoolDir> <pkgid>... 
コマンドオプション意味
-d <device>設定値 : パッケージファイルが置いてあるディレクトリ
-s <splloDir>設定値 : パッケージファイルを置くディレクトリ
<pkgid>...設定値 : 取得するパッケージのID(カンマまたはスペース区切りで複数指定可)

pkgchk

pkgadd によるインストール結果の検証を行う

pkgchk [-acv|-l] [-p <pathName>...] [<pkgid>...]
コマンドオプション意味
[-ac]設定値 : a:ファイル属性のみを検証する。c:ファイルの内容のみを検証する規定値 : ファイル属性と内容を検証する
[-v]設定値 : verbose mode(詳細な実行ログを表示する)規定値 : 詳細な実行ログは出力しない
[-l]設定値 : パッケージ内のファイル情報をリスト表示する規定値 : リスト表示は行わない
[-p <pathName>...]設定値 : 検証するディレクトリ(カンマまたはスペース区切りで複数指定可)規定値 : パッケージで定義されている値
[<pkgid>...]設定値 : 検証するパッケージのID(カンマまたはスペース区切りで複数指定可)規定値 : 全てのインストールされているパッケージの検証を行う

pkgadd によりスプールされたパッケージの検証を行う

pkgchk -d <device> 
コマンドオプション意味
-d <device>パッケージファイルが置いてあるディレクトリ

pkginfo

pkgadd によってインストールされたパッケージの情報を得る

pkginfo [-i|-p] [-l|-q|-x] [-c <category>] [<instances>] 
コマンドオプション意味
[-ip]設定値 : i:完全にインストールされたパッケージの情報のみを表示する。p:一部がインストールされたパッケージの情報のみを表示する規定値 : 全てのパッケージの情報を表示する
[-lqx]設定値 : l:ロングフォーマット。q:何も表示しない。x:リスト形式 (どれかを指定する必要あり)
[-c <category>]設定値 : 表示するパッケージのカテゴリ規定値 : pkginfo ファイルの CATEGORY値

pkgadd によりスプールされたパッケージに関する情報を得る

pkginfo -d <device> 
コマンドオプション意味
-d <device>パッケージファイルが置いてあるディレクトリ

pkgparam

パッケージに関するパラメータを得ます。(pkginfo -l とほぼ同じ内容が得られる)

pkgparam [-v] pkg-abbrev [param...]
コマンドオプション意味
[-v]設定値 : パラメータ名とその値を表示する規定値 : パラメータ名のみを表示する
pkg-abbrevパッケージ名
[param...]設定値 : 表示するパラメータ(カンマまたはスペース区切りで複数指定可)規定値 : 全てのパラメータを表示する

pkgrm

システムからパッケージを削除する

pkgrm [-a <admin>] [-A] [-n] [<pkgid>...] 
コマンドオプション意味
[-a <admin>]設定値 : インストール時に使用するインストール管理ファイル規定値 : 次の順番でインストール管理ファイルを探す。1.カレントディレクトリ 2./var/sdam/install/admin/ディレクトリ
[-A]設定値 : 他のパッケージと共有しているファイルも削除する規定値 : 他のパッケージと共有しているファイルは削除しない
[-n]設定値 : インストールモードを非対話式に設定する規定値 : インストールモードは対話式
[<pkgid>...]設定値 : 削除するパッケージのID(カンマまたはスペース区切りで複数指定可)規定値 : 削除可能な全てのインストールされているパッケージの削除を行う

pkgadd によりスプールされたパッケージの削除を行う

pkgrm -s <spoolDir> 
コマンドオプション意味
-s <spoolDir>設定値 : パッケージがスプールされているディレクトリ規定値 : /var/sdam/pkg

pkgmk、pkgtrans

パッチ

patchadd

パッチを適用する

pachadd [-d] [-G] [-u] [-B <backoutDir>] <source> [<destination>] 
コマンドオプション意味
[-d]設定値 : パッチを適用するときにファイルのバックアップをとらない規定値 : ファイルのバックアップを行う
[-G]設定値 : カレントゾーンのみにパッチを適用する規定値 : 全てのゾーンにパッチを適用する
-[u]設定値 : パッチの検証を行わない規定値 : パッチの検証を行う
[-B <backoutDir]パッチを適用するときにファイルのバックアップを保存するディレクトリ
<source>パッチを取得するソース(ディレクトリやパッチID)
[<destination>]設定値 : パッチの適用先規定値 : カレントシステムにパッチを適用する

showrev

patchrm

パッチを削除する

patchrm [-f] [-G] [-B <backoutDir>] <patchID> 
コマンドオプション意味
[-f]強制的にパッチの削除を行う
[-G]カレントゾーンのみにパッチを適用する
[-B <backoutDir]パッチを削除するときにファイルのバックアップを保存するディレクトリ
<patchID>パッチ番号

SPARC マシン の Boot プロセス

ブートプロセスとパワーサイクル

パワーサイクルマシンの電源を入れてブートしてからシャットダウンするまで
ブートプロセスブート時に行われる処理

Boot PROM と NVRAM

S10_Boot.png
 
Boot PROMファームウェアが格納されているROM
Open Boot PROM モニタファームウェア
NVRAMブートプロセスのパラメータが格納されている不揮発RAM
NVRAM(Open Boot)構成変数ブートプロセスのパラメータ
eepromNVRAM(Open Boot)構成変数を変更するユーティリティ

ブートプロセス

  1. Boot PROM フェーズ
    • POST(Power On Self Test)
      • ハードウェアとメモリを検証し、デバイスツリーを作る
    • ROM から bootblk プログラムが RAM に読み込まれる
  2. ブートプログラムフェーズ
    • bootblk プログラムが、UFS(Unix File System) から ufsboot プログラムをメモリに読み込む
  3. カーネル初期化フェーズ
    • ufsboot プログラムが、カーネルをメモリに読み込む
    • カーネルは自身の初期化を行う
      • ルートファイルシステム(/)のマウントに必要なモジュールの読み込み
  4. initフェーズ
    • 一般的なUnix と同じように /sbin/init が起動される
      • /sbin/init は、/etc/inittab の定義に従ってサービスを立ち上げる
      • Solaris 10 の場合は、SMF(/lib/svc/bin/svc.startd)を起動するだけ
        bash-3.00# cat /etc/inittab
        # Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
        # Use is subject to license terms.
        
        (中略)
        
        ap::sysinit:/sbin/autopush -f /etc/iu.ap
        sp::sysinit:/sbin/soconfig -f /etc/sock2path
        smf::sysinit:/lib/svc/bin/svc.startd    >/dev/msglog 2<>/dev/msglog </dev/consol e
        p3:s1234:powerfail:/usr/sbin/shutdown -y -i5 -g0 >/dev/msglog 2<>/dev/msglog
        pt:s1234:powerfail:/usr/lib/svc/method/installupdates lock
        書式 id:rstate:action:process
        id識別子
        rstaterun level のリスト
        actionプロセスの実行方法
        processスクリプト
    • 起動時のランレベル
      • 実質的に svc.startd の milestone プロパティの設定値がランレベルになる
      • 無理矢理 milestone を無効にすると、/etc/inittab の initdefault プロパティの設定値が使われる

Boot PROM コマンド

NVRAM(Open Boot)構成変数

パラメータ説明デフォルト値
auto-boot?true:自動ブート / false:Boot PROM ユーザインタフェースでブートを停止true
boot-commandauto-boot? が true のとき、このコマンドを実行boot
boot-deviceシステムをブートするデバイスdisk net
boot-fileブートプログラムの引数""(なし)
diag-device診断ブート時のシステムをブートするデバイスnet
diag-file診断ブート時のブート婦五グラムの引数""(なし)
diag-switch?true:診断ブート / false:通常ブートfalse
fcode-debugFCodeをdebugモードで動かすか?FCode:インタプリタベースのドライバ記述言語false
input-devicekeyboard,ttya,ttybなどkeyboard
output-devicescreen,ttya,ttybなどscreen
screen#columns80
screen#rows34
security-modenone:ブート時にパスワードを要求しない/command,full:ブート時にパスワードを要求(x86では意味なし)none
security-passwordパスワード(x86では意味なし)""(なし)
security-#badloginsパスワードの失敗許容回数(x86では意味なし)""(なし)
use-nvramrc?true:ブート時にnvramrcを実行 / false:実行しないfalse
nvramrcブート時に実行するスクリプト""(なし)
oem-banner?true:ブート時にoem-bannerを表示 / false:表示しない(SUNのバナーを表示)false
oem-bannerブート時に表示するOEMメーカーのバナー""(なし)
oem-logo?true:ブート時にoem-logoを表示 / false:表示しない(SUNのlogoを表示)false
oem-logoブート時に表示するOEMメーカーのロゴ(64x64白黒)""(なし)

eeprom

x86/x64 マシンの Boot プロセス

BIOS と MBR

x86.png
 
BIOSBasic Input/Output System
MBRMaster Boot Record
mbootMBRにあるpbootをキックするためだけのプログラム
pbootSolarisのブートプログラム(Boot PROM相当)
bootblkプライマリブートプログラム
boot.bin(ufsboot)セカンダリブートプログラム

ブートプロセス

  1. 最初に、x86 CPUは、無条件にFFFF0hにあるジャンプ命令(BIOSの先頭番地)を実行する
  2. BIOS は、POSTを実行して接続されている機器を調べる
  3. BIOS は、POSTで見つかったプライマリディスクの MBR に格納されている mboot を実行する
  4. mboot は、パーティションテーブルを調べてアクティブなパーティションのブートセクタの内容をメモリに読み込んで実行する
    • Solaris10の場合、pboot(Boot PROM相当)が実行される。
  5. pbootは、bootblkを実行する
  6. bootblkは、UFS(Unix File System)をマウントして /boot.bin(ufsboot)を実行する
    • ここで、/etc/bootrc が実行され、起動オプション選択画面が表示される
  7. /boot.bin(ufsboot)は、カーネルの初期化を行い、/sbin/init、/sbin/inittab、/lib/svc/bin/svc.startd を実行してブートプロセス終了

ブート関連のパラメータ

  1. Solris10起動後は、パラーメータファイル類は /boot にあるファイルとして見える
  2. SPARCマシンの NVRAM に相当するパラメータファイルは /boot/solaris/bootenv.rc
    bash-3.00# cat /boot/solaris/bootenv.rc
    #
    # Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
    # Use is subject to license terms.
    #
    
    #ident  "@(#)bootenv.rc 1.33    07/03/03 SMI"
    #
    #       bootenv.rc -- boot "environment variables"
    #
    setprop ata-dma-enabled 1
    setprop atapi-cd-dma-enabled 0
    setprop ttyb-rts-dtr-off false
    setprop ttyb-ignore-cd true
    setprop ttya-rts-dtr-off false
    setprop ttya-ignore-cd true
    setprop ttyb-mode 9600,8,n,1,-
    setprop ttya-mode 9600,8,n,1,-
    setprop lba-access-ok 1
    setprop prealloc-chunk-size 0x2000
    setprop bootpath /pci@0,0/pci15ad,1976@10/sd@0,0:a
    setprop keyboard-layout 'US-English'
    setprop console 'text'
    • eeprom コマンドで値を変更できる

ディスプレイとキーボードの構成

kdmconfig

その他のディスプレイとキーボード構成コマンド

ランレベルとシャットダウン

SMF

FMRI (Fault-Managed Resource Identifier)

svcs (サービスに関する情報を表示する)

コマンド機能
svcs -\?コマンドヘルプ
svcs -a全サービスの列挙
svcs -p [FMRI]サービスのプロセス情報の表示
svcs -d [FMRI][FMRI]に依存しているサービスを表示
svcs -D [FMRI][FMRI]が依存しているサービスを表示
svcs -l [FMRI][FMRI]の説明
svcs -x [FMRI][FMRI]のマニュアル・ログファイルの格納場所、障害情報など

svcadm (サービスの起動・停止)

コマンド機能
svcadm -\?コマンドヘルプ
svcadm enable [FMRI]サービスをOS起動時に起動するようにする
svcadm enable -t [FMRI]サービスを今回に限り起動する
svcadm disable [FMRI]サービスをOS起動時に起動しないようにする
svcadm disable -t [FMRI]サービスを今回に限り停止する
svcadm restart [FMRI]サービスを再起動する

svcadm (サービス定義の版数管理)

コマンド機能
svcadm mark -l degradedサービス定義を恒久的に degraded 状態に移行する
svcadm mark -l maintenanceサービス定義を恒久的に maintenance 状態に移行する
svcadm mark -t degradedサービス定義を今回に限り degraded 状態に移行する
svcadm mark -t maintenanceサービス定義を今回に限り maintenance 状態に移行する
svcadm clear [FMRI pattern]markサブコマンドで指定した状態をクリアし、サービスを起動できるようにする

svcadm (ランレベルの変更)

コマンド機能
svcadm milestone [milestone_FMRI][FMRI]をマイルストーンに移動する(再起同時にこのサービス定義では起動しない)
svcadm milestone -d [milestone_FMRI][FMRI]をマイルストーンに移動する(再起同時にこのサービス定義で起動する)

svcprop (サービスの設定内容の表示)

コマンド機能
svcprop [FMRI][FMRI]の設定内容を表示する
svcprop -p name[/name]name[/name]に合致するサービスの設定内容を表示する

svccfg (サービス定義のインポート・エクスポート)

コマンド機能
svccfg export [FMRI]サービスの設定情報(manifest)を標準出力に出力
svccfg import [manifest]サービスの設定情報(manifest)を登録
svccfg delete [FMRI]サービスの設定情報を削除(SMF管理外になる。ファイル自体は消されない)

従来のサービス定義との互換性

ファイルシステム

物理ブロックと論理ブロック

diskBlock.png

ブロックの種類

ブロックの種類格納情報
ブートブロックシステムのブート用情報を格納
スーパーブロックファイルシステムに関する情報を格納
i-nodeファイルシステム中のファイルに関する情報を格納
データブロックファイルのデータを格納

i-node

inode.png

主なディレクトリ

/UFSルート。シングルユーザモードで使うコマンドは例外的に / にある(mountなど)
/sbinUFSシステム管理コマンド。/usr よりも前にマウントされる
/usrUFSユーザで共有するファイル、アプリケーション
/bin -> /usr/bin
/devdevfsデバイスファイル
/device
/libUFSSMFの実行ファイルや共有ライブラリ
/etcUFS管理および構成用ファイル
/export/homeNFS,UFSホームディレクトリ
/home
/mnt外部ファイルシステムなどのマウントポイント
/varUFSシステムログなどを格納
/var/runTEMPFS一時ファイル領域。一時ファイル領域は2つあることに注意!
/tmpTEMPFS一時ファイル領域
/optNFS,UFSサードパーティ製のアプリケーション
/etc/mnttabMNTFSデバイスのマウント情報を格納する
/procPROCFSプロセスの実行情報を格納する
/system/contractCTFSContract(契約)ファイルシステム
/system/objectOBJFSデバック情報

ハードリンクとシンボリックリンク

ファイルシステムの形式

UFSの特徴

newfs

ファイルシステムを作成するコマンド

newfs  [-NSBTv] [mkfs-options] raw-device
コマンドオプション意味
NSB実行結果レポートの出力オプション
Tテラバイトを超えるファイルシステムを作るときに指定する
v詳細ログを出力
 

実行例:

# newfs /dev/rdsk/<deviceName>

fsck

ファイルシステムを検査/修復するコマンド

fsck [-F <FSType>] [-m] [-n|N] [-y|Y] [<rawDevice>]
コマンドオプション意味
-F <FSType>検査対象を<FSType>で指定したファイルシステムに限定する
-m検査だけを行い修復を行わない
-n(or N)fsck実行時に出される全ての質問に自動的に no と回答する
-y(or Y)fsck実行時に出される全ての質問に自動的に yes と回答する
<rawDevice>/dev/rdskにあるデバイス名。指定しなかった場合には /etc/vfstab に記載されているデバイスの内、fsck pass フィールドの値が 0 以上のファイルシステムを全て検査する

df

ファイルの使用済み・空き容量を出力する

df [-F <FSType>] [-abkt] [<fileSystem>]
コマンドオプション意味
-F <FSType>指定したファイルシステムのタイプのみ表示
-a全てのファイルシステムをレポートさせる
-b使用可能容量のみをキロバイト単位で表示させる
-kディスクスペースの使用状況をキロバイト単位で表示させる(btより優先される)
-tマウントされている各ファイルシステムのデバイス、使用されているブロックの合計数、ファイル数を表示させる
bash-3.00# df -k
ファイルシステム      kbytes 使用済み 使用可能 容量      マウント先
/dev/dsk/c1t0d0s0    5712126 4056787 1598218    72%    /
/devices                   0       0       0     0%    /devices
ctfs                       0       0       0     0%    /system/contract
proc                       0       0       0     0%    /proc
mnttab                     0       0       0     0%    /etc/mnttab
swap                  869064     920  868144     1%    /etc/svc/volatile
objfs                      0       0       0     0%    /system/object
sharefs                    0       0       0     0%    /etc/dfs/sharetab
/usr/lib/libc/libc_hwcap1.so.1
                    5712126 4056787 1598218    72%    /lib/libc.so.1
fd                         0       0       0     0%    /dev/fd
swap                  868220      76  868144     1%    /tmp
swap                  868180      36  868144     1%    /var/run
/dev/dsk/c1t0d0s7    1990255    2025 1928523     1%    /export/home
/hgfs                16777215    4096 16772864     1%    /hgfs
/tmp/VMwareDnD             0       0       0     0%    /var/run/vmblock

du

ディレクトリやファイルの占有するディスクスペースを確認する

du [-ahks] [<file>]
コマンドオプション意味
-a指定されたディレクトリ内の全てのファイルとサブディレクトリのサイズおよび合計ブロック数を出力する
-h人間にとって可読性の高い単位で出力する(KB,MB,GB)
-k指定されたディレクトリ内の全てのサブディレクトリのサイズおよび合計ブロック数を出力する
-s指定されたファイル・ディレクトリのサイズのみを出力する
<file>確認対象のファイル。省略時は"."(カレントディレクトリ)
$bash-3.00# du -hk /boot/
  38K   /boot/solaris/bin
  30K   /boot/solaris/devicedb
   1K   /boot/solaris/drivers/isa.025
   1K   /boot/solaris/drivers/isa.125
   1K   /boot/solaris/drivers/isa.150
   1K   /boot/solaris/drivers/isa.162
  44K   /boot/solaris/drivers/isa.175
   1K   /boot/solaris/drivers/notisa.010
   1K   /boot/solaris/drivers/notisa.020
  51K   /boot/solaris/drivers
   1K   /boot/solaris/machines
 213K   /boot/solaris
   1K   /boot/acpi/tables
   2K   /boot/acpi
   1K   /boot/rc.d
 377K   /boot/grub/bin
   1K   /boot/grub/bootsign
 1.1M   /boot/grub
   1K   /boot/platform/i86pc/kernel
   2K   /boot/platform/i86pc
   3K   /boot/platform
  77M   /boot

quot

ユーザごとの占有するディスクスペースを確認する

quot [-afv] [<fileSystem>+] 
コマンドオプション意味
-a全てのマウントされているファイルシステムを対象とする
-f使用済みブロック(KB)、所有ファイル名、ユーザ名を出力する
-v過去30日、60日、90日間にアクセスされなかったブロックするを表示する
<fileSystem>対象とするファイルシステム
bash-3.00# quot -afv
/dev/rdsk/c1t0d0s0 (/):
4049860 184780  root            2743812 2743787 2743787
  754      44   uucp              735     735     735
  304     124   bin               304     304     304
  114       3   svctag              0       0       0
   23      16   noaccess            0       0       0
   20      10   adm                 0       0       0
   13      13   lp                  0       0       0
    8       8   postgres            0       0       0
    7      11   nobody              0       0       0
    6       6   daemon              0       0       0
    2       2   gdm                 0       0       0
    2       2   smmsp               0       0       0
    2       2   webservd            0       0       0
/dev/rdsk/c1t0d0s7 (/export/home):
    9       2   root                0       0       0

デバイス管理

物理デバイス名、インスタンス名、論理デバイス名

論理デバイス名/devices Solaris独自のデバイスファイル
インスタンス名カーネルの作成するデバイスの短縮名
論理デバイス名/dev 従来のUnixと互換なデバイスファイル。/devices へのシンボリックリンクになっている。通常アプリケーションはこちらを使う

デバイスのデバイス名を確認するコマンド

コマンド概要物理デバイス名インスタンス名物理<->インスタンス対応
dmesgシステムバッファにあるハードウェア診断記録を表示する
formatディスクパーティションの管理××
prtconfシステム構成を表示する×
sysdefシステム定義を表示する×
less /etc/path_to_inst×

dmesg

システムバッファにあるハードウェア診断記録を表示する

bash-3.00# dmesg | more

2009年02月25日 (水) 20時52分31秒 JST
Feb 25 20:49:40 solamame pseudo: [ID 129642 kern.info] pseudo-device: ppm0
Feb 25 20:49:40 solamame genunix: [ID 936769 kern.info] ppm0 is /pseudo/ppm@0
Feb 25 20:49:40 solamame rootnex: [ID 349649 kern.info] npe0 at root: space 0 offset 0
Feb 25 20:49:40 solamame genunix: [ID 936769 kern.info] npe0 is /pci@0,0
Feb 25 20:49:40 solamame scsi: [ID 365881 kern.info] /pci@0,0/pci15ad,1976@10 (mpt0):
Feb 25 20:49:40 solamame        Rev. 1 LSI, Inc. 1030 found.
Feb 25 20:49:40 solamame pcplusmp: [ID 637496 kern.info] pcplusmp: pci1000,30 (mpt) instance 0 vector 0x11
ioapic 0x1 intin 0x11 is bound to cpu 0
Feb 25 20:49:40 solamame scsi: [ID 365881 kern.info] /pci@0,0/pci15ad,1976@10 (mpt0):
Feb 25 20:49:40 solamame        mpt0 Firmware version v0.0.0.0 (?)
Feb 25 20:49:40 solamame scsi: [ID 365881 kern.info] /pci@0,0/pci15ad,1976@10 (mpt0):
Feb 25 20:49:40 solamame        mpt0: IOC Operational.
Feb 25 20:49:40 solamame npe: [ID 236367 kern.info] PCI Express-device: pci15ad,1976@10, mpt0
Feb 25 20:49:40 solamame genunix: [ID 936769 kern.info] mpt0 is /pci@0,0/pci15ad,1976@10
-- 継続 --

prtconf

システム構成を表示する

/usr/sbin/prtconf [-a] [-c] [-v] [V] [-x] [<devPath>]
コマンドオプション意味
-a<devPath>で指定したデバイスの祖先ノードを全て表示する
-c<devPath>で指定したデバイスの子孫ノードを全て表示する
-v詳細ログを表示
-VSPARC:Open Boot PROM の設定情報を表示、x86:pboot の設定情報を表示
-xシステムが64bitに対応しているかを表示する
bash-3.00# /usr/sbin/prtconf | more
System Configuration:  Sun Microsystems  i86pc
Memory size: 1024 Megabytes
System Peripherals (Software Nodes):

i86pc
    scsi_vhci, instance #0
    isa, instance #0
        i8042, instance #0
            keyboard, instance #0
            mouse, instance #0
        lp, instance #0
        asy, instance #0
        asy, instance #1
        fdc, instance #0
-- 継続 --

less /etc/path_to_inst

デバイスのデバイス名を定義しているファイル。OSが使っているので変えちゃだめ

bash-3.00# cat -n /etc/path_to_inst | more
     1  #
     2  #       Caution! This file contains critical kernel state
     3  #
     4  "/iscsi" 0 "iscsi"
     5  "/pseudo" 0 "pseudo"
     6  "/options" 0 "options"
     7  "/xsvc" 0 "xsvc"
     8  "/objmgr" 0 "objmgr"
     9  "/scsi_vhci" 0 "scsi_vhci"
    10  "/isa" 0 "isa"
    11  "/isa/i8042@1,60" 0 "i8042"
    12  "/isa/i8042@1,60/keyboard@0" 0 "kb8042"
    13  "/isa/i8042@1,60/mouse@1" 0 "mouse8042"
    14  "/isa/lp@1,378" 0 "ecpp"
    15  "/isa/asy@1,3f8" 0 "asy"
-- 継続 --

デバイスの再構築

再起動してデバイスツリーを再構築する

bash-3.00# touch /reconfigure
bash-3.00# /usr/sbin/shutdown -i6 -g0 -y

稼働中にデバイスツリーを再構築する

/usr/sbin/devfsadm [-c <deviceClass>]* [-C] [-i <driverName>]* [-n] [-s] [-v]
コマンドオプション意味
-c <deviceClass>操作対象のデバイスを <deviceClass> に制限する。deviecClass = {disk,tape,port,audio,pseudo}
-CCleanup。/dev のリンク切れファイルを削除する
-i <driverName>読み込むドライバを <driverName> に制限する
-nドライバの読み込みおよび新規デバイス(新規ノードのデバイスツリー)の追加を行わない
-s/dev への変更を行わない
-v詳細ログを出力する
bash-3.00# /usr/sbin/devfsadm -c tape

ディスクデバイス

ディスクの論理デバイス名

プラットホームデバイス命名法
SPARCblockデバイス/dev/ dsk/c(k)t(l)d(m)s(n)/dev/ dsk/c0t0d0s0
rawデバイス/dev/rdsk/c(k)t(l)d(m)s(n)/dev/rdsk/c0t0d0s0
X86blockデバイス/dev/ dsk/c(k)__d(m)s(n)/dev/ dsk/c0d0s0
rawデバイス/dev/rdsk/c(k)__d(m)s(n)/dev/rdsk/c0d0s0

SPARCプラットホームとx86プラットホームのディスクパーティションの違い

プラットホームディスクパーティション
SPARCディスク全体を Solaris に使う
x86最大 4 つの FDISK パーティションを作り、それぞれ別の OS をインストール可能

ディスクラベル

format

ディスクを増設したときに、低レベルフォーマットを行うユーティリティ

format [-d <deviceName>] [-f <commandFile>] [-l <logfile>] [-m] [-M] [-s]
コマンドオプション意味
-d <deviceName>formatユーティリティのカレントディスク
-f <commandFile>formatユーティリティへのコマンド入力を標準入力からではなく、command file から行うようにする
-l <logfile>logファイル
-m詳細エラーメッセージ
-M詳細エラーメッセージ + 診断メッセージ
-sformatユーティリティの出力を省略する
bash-3.00# format
Searching for disks...done


AVAILABLE DISK SELECTIONS:
       0. c1t0d0 <DEFAULT cyl 4092 alt 2 hd 128 sec 32>
          /pci@0,0/pci15ad,1976@10/sd@0,0
Specify disk (enter its number): 0
selecting c1t0d0
[disk formatted]
Warning: Current Disk has mounted partitions.
/dev/dsk/c1t0d0s0 is currently mounted on /. Please see umount(1M).
/dev/dsk/c1t0d0s1 is currently used by swap. Please see swap(1M).
/dev/dsk/c1t0d0s7 is currently mounted on /export/home. Please see umount(1M).


FORMAT MENU:
        disk       - select a disk
        type       - select (define) a disk type
        partition  - select (define) a partition table
        current    - describe the current disk
        format     - format and analyze the disk
        fdisk      - run the fdisk program
        repair     - repair a defective sector
        label      - write label to the disk
        analyze    - surface analysis
        defect     - defect list management
        backup     - search for backup labels
        verify     - read and display labels
        save       - save new disk/partition definitions
        inquiry    - show vendor, product and revision
        volname    - set 8-character volume name
        !<cmd>     - execute <cmd>, then return
        quit
format>

partition

format> partition


PARTITION MENU:
        0      - change `0' partition
        1      - change `1' partition
        2      - change `2' partition
        3      - change `3' partition
        4      - change `4' partition
        5      - change `5' partition
        6      - change `6' partition
        7      - change `7' partition
        select - select a predefined table
        modify - modify a predefined partition table
        name   - name the current table
        print  - display the current table
        label  - write partition map and label to the disk
        !<cmd> - execute <cmd>, then return
        quit
partition> print
Current partition table (original):
Total disk cylinders available: 4092 + 2 (reserved cylinders)

Part      Tag    Flag     Cylinders        Size            Blocks
  0       root    wm    1259 - 4091        5.53GB    (2833/0/0) 11603968
  1       swap    wu       1 -  256      512.00MB    (256/0/0)   1048576
  2     backup    wm       0 - 4091        7.99GB    (4092/0/0) 16760832
  3 unassigned    wm       0               0         (0/0/0)           0
  4 unassigned    wm       0               0         (0/0/0)           0
  5 unassigned    wm       0               0         (0/0/0)           0
  6 unassigned    wm       0               0         (0/0/0)           0
  7       home    wm     257 - 1258        1.96GB    (1002/0/0)  4104192
  8       boot    wu       0 -    0        2.00MB    (1/0/0)        4096
  9 unassigned    wm       0               0         (0/0/0)           0

partition>

modify

inquiry

format> inquiry
Vendor:   VMware,
Product:  VMware Virtual S
Revision: 1.0

ディスクの詳細情報が表示される

/etc/format.dat

/etc/format.dat に format ユーティリティで使用可能な事前定義されたパーティションテーブルのリストが格納されている

disk_type = "Quantum ProDrive 80S" \
        : ctlr = SCSI : fmt_time = 1 \
        : cache = 0x07 : trks_zone = 6 : atrks = 0 : asect = 1 \
        : ncyl = 832 : acyl = 2 : pcyl = 834 : nhead = 6 : nsect = 34 \
        : rpm = 3662 : bpt = 16896

ファイルシステムのマウント

ブート時のファイルシステムのマウント

  1. boot直後(シングルユーザモード)
    • カーネルが /、/usr、/var をマウント
  2. OSがマルチユーザモードに移行する
    • mountall コマンドが実行される
    • /etc/fstab に記述されているファイルデバイスのうち、Mount at boot が yes のファイルシステムをマウント
  3. (シャットダウンなどで)OSがシングルユーザモードに移行する
    • umountall コマンドが実行される
    • /etc/vfstab に記述されているファイルデバイスが全てアンマウントされる
    • umountall な事に注意 (unmountall コマンドではない)

bash-3.00# cat -n /etc/vfstab
     1  #device         device          mount           FS      fsck    mount   mount
     2  #to mount       to fsck         point           type    pass    at boot options
     3  #
     4  fd      -       /dev/fd fd      -       no      -
     5  /proc   -       /proc   proc    -       no      -
     6  /dev/dsk/c1t0d0s1       -       -       swap    -       no      -
     7  /dev/dsk/c1t0d0s0       /dev/rdsk/c1t0d0s0      /       ufs     1       no      -
     8  /dev/dsk/c1t0d0s7       /dev/rdsk/c1t0d0s7      /export/home    ufs     2       yes     -
     9  /devices        -       /devices        devfs   -       no      -
    10  sharefs -       /etc/dfs/sharetab       sharefs -       no      -
    11  ctfs    -       /system/contract        ctfs    -       no      -
    12  objfs   -       /system/object  objfs   -       no      -
    13  swap    -       /tmp    tmpfs   -       yes     -
フィールド意味
Device to mountブロックデバイス名
Device to fsckrawデバイス名
Mount pointマウントポイント
FS typeファイルシステム
fsck passfsckコマンドで検査するかを特定するフラグ。fsck pass="-":検査しない、"0":UFSの場合は検査しない、それ以外の場合は検査する、"ゼロより大きい":検査する
Mount at bootboot時にマウントするか? "yes" or "no"
Mount optionsマウントオプション。無い場合には"-"を記入する

mountコマンド

デバイスをファイルツリーにマウントする

bash-3.00# mount [-F <FSType>] [-m] [-p] [-r] [-v] [-o <specificOptions>] <mountDevice> <mountPoint>
コマンドオプション意味
-F <FSType>マウントするファイルシステムのフォーマットを指定する
-m/etc/mnttab にエントリを作成せずにファイルシステムをマウントする
-pコマンドの実行結果(マウント情報)を /etc/vfstab の形式に整形する
-r読み取り専用でマウントする
-v詳細ログを出力する
-o <specificOptions>-o devicesデバイス固有のファイルを開くことを許可(デフォルト値)
-o nodevicesデバイス固有のファイルを開くことを禁止
-o execファイルシステム内のプログラムの実行を許可(デフォルト値)
-o noexecファイルシステム内のプログラムの実行を禁止する
-o rwファイルシステム内のファイルへの書き込みを許可(デフォルト値)
-o roファイルシステム内のファイルを読み取り専用にする
-o setuidファイルシステム内のファイルに対して setuid を許可(デフォルト値)
-o nosetuidファイルシステム内のファイルに対して setuid を許可しない

umountコマンド

デバイスをファイルツリーからアンマウントする

bash-3.00# umount [-f] <mountPoint>

ボリューム管理

autofs

ユーザアカウント

ユーザアカウントを構成するファイル

/etc/passwd

書式:
<username>:<password>:<uid>:<gid>:<comment>:<home directory>:<login shell>
項目設定内容
<username>.轡好謄狷發妊罐法璽2〜8文字の英数字最初は英字ず把磽永源は英小文字
<password>"x"固定(初期のUnixとの互換性のため)。実際のパスワードは /etc/shadow に暗号化して格納される
<uid>User ID : 0〜99:システムアカウント / 100〜60000:ユーザアカウント / 60001〜2147483647(2^31-1 :32bit符号付き整数の最大値):匿名ユーザなど
<gid>Primary Group ID。ユーザは最低一つの Primary Group に属する。ユーザは、最大 15 の Secondary Group に属することができる(/etc/group で定義する)
<comment>
<home directory>
<login shell>
 
bash-3.00# cat /etc/passwd
root:x:0:0:Super-User:/:/sbin/sh
daemon:x:1:1::/:
bin:x:2:2::/usr/bin:
sys:x:3:3::/:
adm:x:4:4:Admin:/var/adm:
lp:x:71:8:Line Printer Admin:/usr/spool/lp:
uucp:x:5:5:uucp Admin:/usr/lib/uucp:
nuucp:x:9:9:uucp Admin:/var/spool/uucppublic:/usr/lib/uucp/uucico
smmsp:x:25:25:SendMail Message Submission Program:/:
listen:x:37:4:Network Admin:/usr/net/nls:
gdm:x:50:50:GDM Reserved UID:/:
webservd:x:80:80:WebServer Reserved UID:/:
postgres:x:90:90:PostgreSQL Reserved UID:/:/usr/bin/pfksh
svctag:x:95:12:Service Tag UID:/:
nobody:x:60001:60001:NFS Anonymous Access User:/:
noaccess:x:60002:60002:No Access User:/:
nobody4:x:65534:65534:SunOS 4.x NFS Anonymous Access User:/:
bash-3.00#

/etc/shadow

書式:
<username>:<password>:<lastchg>:<min>:<max>:<warn>:<inactive>:<expire>:<flag>
項目設定内容
<username>
<password>cryptで暗号化された13文字。"NP":パスワードなし。"*LK*":アカウントロック中
<lastchg>最終更新日時のUnixタイム(1970年1月1日からの秒数)
<min>パスワードが変更できない最小日数
<max>パスワードが有効な最大日数
<warn>パスワード失効の何日前から警告を出すか
<inactive>何日間ログインしないとアカウントがロックされるか
<expire>失効日(Unixタイム)
<flag>パスワード認証失敗回数(4bit整数)
bash-3.00# cat /etc/shadow
root:xXg3fgE4Y3yac:6445::::::
daemon:NP:6445::::::
bin:NP:6445::::::
sys:NP:6445::::::
adm:NP:6445::::::
lp:NP:6445::::::
uucp:NP:6445::::::
nuucp:NP:6445::::::
smmsp:NP:6445::::::
listen:*LK*:::::::
gdm:*LK*:::::::
webservd:*LK*:::::::
postgres:NP:::::::
svctag:*LK*:6445::::::
nobody:*LK*:6445::::::
noaccess:*LK*:6445::::::
nobody4:*LK*:6445::::::

/etc/group

<group name>:<group passowrd>:<gid>:<user-list>
項目設定内容
<group name>
<group passowrd>通常は空白にする(初期のUnixとの互換性のため)。設定すると newgrp コマンドなどでパスワードが聞かれるようになる
<gid>0〜60000:通常のグループに割り当てる。60001〜65534:匿名ユーザなど
<user-list>所属するユーザのリスト(カンマ区切り)
bash-3.00# cat /etc/group
root::0:
other::1:root
bin::2:root,daemon
sys::3:root,bin,adm
adm::4:root,daemon
uucp::5:root
mail::6:root
tty::7:root,adm
lp::8:root,adm
nuucp::9:root
staff::10:
daemon::12:root
sysadmin::14:
smmsp::25:
gdm::50:
webservd::80:
postgres::90:
nobody::60001:
noaccess::60002:
nogroup::65534: 

ユーザアカウントを構成するコマンド

useradd

ユーザを追加する

useradd [-c <comment>] [-d <dir>] [-e <expire>] [-f <inactive>]
[-g <group>] [-G <group,group,...>] [-m [-k <skel_dir>]] [-p <profile>]
[-A <authorization,authorization,...>] [-R <role>] [-s <shell>] [-u <uid>]
<login-name>
コマンドオプション意味・格納場所
-u <uid>/etc/passwd の <uid>
-g <group>/etc/passwd の <gid>
-c <comment>/etc/passwd の <comment>
-d <dir>/etc/passwd の <home directory>。省略時は、<basedir>/<login-name> (<basedir>は、/usr/sadm/defadduser に定義されている )
-s <shell>/etc/passwd の <login shell
-f <inactive>/etc/shadow の <inactive>
-e <expire>/etc/shadow の <expore>
-G <group,group,...>/etc/group の <user-list>
-m [-k <skel_dir>]ホームディレクトリを作成する。 さらに -k が指定されているときには、skelton ディレクトリとして <skel_dir> を使う。-k省略時は /etc/skel
-p <profile>ユーザに適用される実行プロファイルのリスト(詳細は後半のテスト範囲)
-A <authorization,authorization,...>ユーザに適用される認証のリスト(詳細は後半のテスト範囲)
-R <role>ユーザに適用されるロールのリスト(詳細は後半のテスト範囲)
<login-name>/etc/passwd の <username>他

useradd -D

useradd の 省略時の値を管理する

usermod

ユーザ情報を更新する

usermod [-c <comment>] [-d <dir> [-m]] [-e <expire>] [-f <inactive>]
[-g <group>] [-G <group,group,...>] [-l <new_login_name>] [-p <profile>]
[-A <authorization,authorization,...>] [-R <role>] [-s <shell>] [-u <uid>]
<login-name>

(useradd と違うオプション)

コマンドオプション意味
-l <new_login_name>新しいユーザ名
-d <dir> [-m]ユーザのホームディレクトリを -d で指定した新規のディレクトリにする
-m を指定して変更先が存在しない場合元のホームディレクトリが、新規のディレクトリに移動される
-m を指定して変更先が存在する場合変更先ディレクトリには何もしない(権限の変更やファイルの移動はしない)

userdel

ユーザアカウントを削除する

userdel [-r] <login_name>
コマンドオプション意味
-rホームディレクトリを削除する(-rを指定しないとホームディレクトリが残ったままになることに注意)

groupadd

グループを追加する

groupadd [-g <gid> [-o]] <group_name>
コマンドオプション意味
-g <gid>グループID。省略した場合は、使用済みのIDの次の値が割り振られる
-oGID の共有を許す
<group_name>グループ名

groupmod

グループアカウントを変更する

groupmod [-g <gid> [-o]] [-n <new_name>] <group_name>
コマンドオプション意味
-g <gid>グループID。省略した場合は、使用済みのIDの次の値が割り振られる
-oGID の共有を許す
-n <new_name>新しいグループ名
<group_name>グループ名

groupdel

グループアカウントを削除する

groupdel <group_name>

SMC (Solaris Management Console)

bash-3.00# /usr/sbin/smc &
smc.png

admintool は、Solaris 10 から廃止

シェル初期化ファイル

システムセキュリティ

パスワード管理

logins

passwd

ログイン管理

who

last

ログインの失敗履歴

ログインの一時禁止

スーパーユーザ

su

su [-] [<username>]

スーパーユーザのアクセス監視

スーパーユーザのアクセス制限

アクセス権限

FTP

.rhosts

ssh

ファイルパーミッション

ls

bash-3.00$ ls -la ~/Desktop/
合計 12
drwxr-xr-x   2 kagyuu   other        512  3月 24日  00:25 .
drwxr-xr-x  14 kagyuu   other        512  3月 25日  01:18 ..
-rw-r--r--   1 kagyuu   other       1431  3月 24日  00:25 star.desktop
-rw-r--r--   1 kagyuu   other       1241  3月 24日  00:25 starthere.desktop

chmod

chmod [-fR] <permission mode> <file>
コマンドオプション意味
-f強制
-R再帰的にディレクトリをたどって実行
permission mode[ugoa] [+-=] [r][w][x]
[0-7][0-7][0-7]

chown

chown [-fhR] <owner>[:<group>] <file>

chgrp

chgrp [-fhR] <group> <file>

特殊ファイルパーミッション

setuid

bash-3.00$ chmod 4755 a.sh
bash-3.00$ ls -la | grep a.sh
-rwsr-xr-x   1 kagyuu   other          0  3月 28日  13:41 a.sh
  ↑

setgid

bash-3.00$ chmod 2755 a.sh
bash-3.00$ ls -la | grep a.sh
-rwxr-sr-x   1 kagyuu   other          0  3月 28日  13:41 a.sh
     ↑

スティッキービット

bash-3.00$ touch /tmp/matrix.cvs
bash-3.00$ su -
# chmod 1777 /tmp/matrix.cvs
# ls -la /tmp | grep matrix.cvs
-rwxrwxrwt   1 kagyuu   other          0  3月 28日  14:36 matrix.cvs
         ↑

プロセス管理

ps

ps <options>
コマンドオプション意味
-aps コマンドが実行されたターミナルからのリクエスト頻度の順にソートして表示する
-A実行中の全てのプロセスの情報を表示する
-e-A と同じ
-fリストのフル表示
-lリストをロングフォーマットで表示させる
-P <procList><procList> に指定された プロセスID に該当するプロセスのみ表示する
-u <uidList><uidList> に指定された 実効ユーザID(EUID (cf.setuid)) もしくは ログイン名 に該当するプロセスのみ表示する
-U <uidList><uidList> に指定された 実ユーザID(UID) もしくは ログイン名 に該当するプロセスのみ表示する

pgrep

pgrep <options> <pattern>

prstat

pstat [<options>] [<interval> [<count>]]

kill, pkill

kill [ <signal> | -<signal number> ] <pid>

ex.
kill SIGHUP 12345
kill -9 12345

pstop, prun, pwait

コマンド機能
pstop [<pid>]* [<process name>]*プロセスを一時停止する
prun [<pid>]* [<process name>]*プロセスを再開する
pwait [<pid>]* [<process name>]*プロセスの終了を待つ

cron,at

cron

at

プリンタ

Solrisのプリントプロセスの概要

Printer.png
  1. ユーザが lp や lpr コマンドで、印刷指示を出す
    • プリンタ名が省略された場合のプリンタは、次の優先順位で決定される
    1. 環境変数 $PRINTER
    2. $LPDEST の値
    3. /.priters に登録されているプリンタ

    4. /etc/printers.conf に登録されているプリンタ
    5. NISに問い合わせる
  2. プリントリクエストは、いったん /var/spool/lp に蓄えられて IPP(Internet Printing Protocol) でプリンタサーバに送られる
  3. IPPリスナーがプリントリクエストを受け取る
    • Apache の上で動いている Web サービス(Port 631)
    • svc:/application/print/ipp-listener
  4. LPプリントサービス( = lpsched = プリントスケジューラ )にプリントジョブがスプールされる
    • 基本機能 5 つ
    1. プリンタを初期化して、プリントジョブの提出と処理ができるようにする
    2. ファイルの管理およびローカルプリントのリクエストをスケジューリングする
    3. プリントジョブの状態を追跡する
    4. ファイルのフィルタリングを行い、使用するプリンタに対応しているフォーマットにプリントジョブを変換する
    5. プリントに障害が発生した場合にリクエスト元に警告する
  5. プリンターから出力される

プリンタの状態の確認

lpstat [-d] [-p <printer name>] [-D] [-l] [-o [<list>]] [-t]
コマンドオプション意味
-dシステムのデフォルトプリンタを表示する
-p <printer name>プリンタの状態を表示する(Active/idle、有効にされた時刻/無効にされた時刻、プリントリクエストを受け付けているか)
-D-p で指定されたプリンタの詳細情報を表示
-l-p で指定されたプリンタの特性情報を表示
-o [<list>]<list> 指定したリクエストに関する情報を表示。プリンタ名、クラス名、リクエストID。無指定時には全てを表示
-tLPプリントサービスの状態を表示させる

プリントスケジューラの起動・停止

プリントスケジューラのログ

プリンタリクエストのログは二つの場所に出力される

ディレクトリアクセス可能なユーザ
/var/spool/lp/requests/<system name>su、lpサービス
/var/spool/lp/tmp/<system name>su、lpサービス、リクエストしたユーザ

プリントリクエストの確認とキャンセル

プリンタの追加

lpadmin -p <system name>[!<printer name>] 
[-s <system name> | -U <dial info> | -v <device name>]
[-e <printer> | -i <interface> | -m <model>]
#コマンドオプション意味
1-p <system name>!<printer name>プリンタ名
2-s <system name>リモートプリンタ
-U <dial info>ダイアルアップのリモートプリンタ
-v <device name>ローカルプリンタ
3-e <printer>既存のプリンタドライバを今回追加するプリンタのドライバーとしてコピーする
-i <interface>新規のプリンタドライバを今回追加するプリンタのドライバーとして利用する。(<interface> は、ドライバのフルパス)
-m <model>LPプリントサービスに登録されている <model> 名のプリンタドライバーを今回追加するプリンタのドライバーとして利用する

プリンタの削除

# reject <printer name>
# disable <printer name>
# lpadmin -x <printer name>

クライアントに対するプリンタのアクセス制限

ユーザに対するプリンタのアクセス制限

システムのバックアップとリストア

バックアップ手法の比較

バックアップ手法概要
フル バックアップバックアップ元をアンマウントし、データを全て別媒体に保存する
増分 バックアップバックアップ元をアンマウントし、前回のバックアップとの差分を保存する
スナップショット バックアップバックアップ元のスナップショットに対して、バックアップを行う(バックアップ元はマウントしたままでよい)

ufsdump

ufsdump [0123456789fustdWwnNDCcbavloS [<arguments>]] <files>
コマンドオプション意味
0-9バックアップレベル
a <archiveFile>バックアップ目録を作成する ufsrestore によるリストア時に、どのファイルをリストアするかの確認に用いる
u/etc/dumpdates ファイルに、バックアップ目録を作成する
Dフロッピーディスクへダンプする
f <dumpFile>ダンプ先を指定する。デフォルトは /dev/rmt/0 (ローカルのテープ)。ローカルのテープ、ディスク、リモートのテープ、ディスク、標準出力を指定可能
nバックアップ実行時に発生した警告を sys グループの全オペレータに通知する
oバックアップ完了時にドライブをオフラインにする
Sバックアップに必要な容量を計算する(実際のバックアップは行わない)
s <size>バックアップ先のボリュームサイズを指定(ufsdumpは、必要な容量があるかを確認するので、特に指定する必要はない)
vバックアップ終了後に、バックアップファイルの検証を行う。標準出力にバックアップした場合は、このオプションは使用不可
wバックアップの完了しなかったファイルシステムをリスト表示する(/etc/dumpdates、/etc/vfstab の情報を元に)

ufsrestore(非対話モード)

ufsrestore(対話モード)

# ufsrestore -if /dev/rmt/0m
ufsrestore >
利用可能なコマンド機能
add <file>抽出用にマーク
cd <directory>
delete <file>抽出用のマークを外す
extract抽出用にマークされたファイルを抽出する
help , ?
ls <directory>
marked <directory>抽出用にマークされたファイル名のリストを表示
pwd
quit
verbose

cpio

cpio <mode> [<options>]
コマンドオプション意味
mode-icopy in (標準出力からアーカイブの読み込み)
-ocopy out (アーカイブの作成、標準入力からファイルのリストを受け取る)
-ppass (ディレクトリ間のコピー)
-a-o と組み合わせる。作成したアーカイブのアクセスタイムを現時刻に更新する
-A-o と組み合わせる。既存のアーカイブに追記
-d-i と組み合わせる。必要に応じてディレクトリを作成する
-m-i と組み合わせる。ファイル変更時刻を維持する
-t-i と組み合わせる。アーカイブに含まれるファイルのリストを表示する

tar

tar <options> [<tar file name>] [<files to backup>]
コマンドオプション意味
cアーカイブする
x展開する
f<tar file name>に、圧縮・展開する。未指定時は標準入出力を操作
tアーカイブの内容を表示する
uアーカイブへ追記する
v冗長モード

pax

pax [<mode>] [<options>]
コマンドオプション意味
mode-r読み込みモード
-w書き込みモード
-rwコピーモード
(未指定)リストモード
-a既存のアーカイブに追記する
-k既存のファイルを上書きしない
-f <archive>アーカイブを指定する(未指定時は標準入出力に対する操作が行われる)
-x <format>アーカイブのフォーマットを指定する。pax,cpio,ustar,xustar

dd

$ dd if=/dev/rdsk/c0t0d0s2 of=/dev/rdsk/c0t1d0s2
$ dd if=/dev/rdsk/c0t0d0s2 of=~/backup.file

バックアップ系コマンドの比較

コマンドファイルシステム境界の認識複数ボリュームバックアップのサポート
ufsdump対応対応
cpio不可対応
pax不可対応
tar不可不可
dd対応不可

fssnap

fssnap.png

システム復旧の手順

  1. 単に ユーザが、Ctrl+S (コンソールへの出力停止) を押してターミナルに何も表示されないだけかもしれないので、とりあえず Ctrl+Q (出力再開) を押してみる
  2. Ctrl+\ で実行中のプロセスを終了させる
  3. Ctrl+C で実行中のプロセスに割り込みを入れてみる
  4. 別のターミナルからシステムにログインして、ハングアップしているプロセスの終了を試みる
  5. 別のターミナルからシステムにログインして、スーパーユーザになって、システムをリブートしてみる
  6. 緊急コマンド( Stop+A )で、Open Boot ユーザインタフェースに移行し、クラッシュダンプ(IOバッファとファイルシステムの同期)を実行して、リブートしてみる
    ok sync
    ok boot
  7. いったん電源を切り、1〜2分待って、電源を入れ直す。
  8. Sun のサポートデスクに電話する。

参考文献


Computer#Unix


添付ファイル: filefssnap.png 517件 [詳細] filediskBlock.png 523件 [詳細] filePrinter.png 554件 [詳細] fileS10_Boot.png 522件 [詳細] filesmc.png 520件 [詳細] fileinode.png 534件 [詳細] filedevices.png 533件 [詳細] filekdmcfg.png 575件 [詳細] filex86.png 527件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS   sitemap
Last-modified: 2009-04-09 (木) 21:38:06 (2801d)
ISBN10
ISBN13
9784061426061