メニュー
  1. tar.gzファイルの扱い
  2. solarisでlinuxのsudoの代替コマンド
  3. vi の環境ファイル
  4. バージョンを調べる
  5. pts自分の端末(tty)を調べる
  6. CD-ROMメディアを取り出すには
  7. フロッピーディスクをマウントするには
  8. シェルの初期設定を変更するには
  9. psコマンドを使うには
  10. topコマンドを使うには
  11. Sunのドキュメントを読むには
  12. ディスクの使用状況を確認するには
  13. Solarisのランレベル
  14. pingコマンドを使うには
  15. IPアドレスを確認したい
  16. ログインシェルを変更するには
  17. sh以外のシェルを使うには
  18. ユーザーを追加したい
  19. システムを今すぐ停止したい
  20. solaris パッケージ
tar.gzファイルの扱い
$ gunzip -c xxx.tar.gz | tar xvf - 【解凍】
$ tar cvf - xxx | gzip -c > xxx.tar.gz 【圧縮】
solarisでlinuxのsudoの代替コマンド
$ pfexec
vi の環境ファイル
~/.exrc
#行番号の表示/非表示
set number
set nonumber
#タブ幅の設定
set tabstop=4
#字下げ
set autoindent
#ステータス表示
set laststatus=2
linuxのviでvコマンドを使用可能にする
yum list installed |grep vim
sudo yum install vim-enhanced
バージョンを調べる
$ uname -a
SunOS solaris101 5.10 Generic_137138-09 i86pc i386 i86pc
$ less /etc/release 【solaris】
Oracle Solaris 10 1/13 s10x_u11wos_24a X86
Copyright (c) 1983, 2013, Oracle and/or its affiliates. All rights reserved.
Assembled 17 January 2013
$ cat /etc/issue | head -n 1 【linux】
$ cat /etc/issue | head -n 1
CentOS release 5.9 (Final)
pts自分の端末(tty)を調べる
$ who
kuri pts/2 4月 21日 05:49 (192.168.0.2)
kuri pts/3 4月 21日 05:51 (192.168.0.2)
$ tty
/dev/pts/2
CD-ROMメディアを取り出すには
CD-ROMドライブからメディアを取り出すには、ejectコマンドを使います。
$ eject cdrom
なお、ejectコマンドを使うにはVolume Managerが動作している必要があります。
フロッピーディスクをマウントするには
Solarisでは、フロッピーディスクやCD-ROMなどのメディアアクセスにはVolume Managerというサービスが使われています。Volume Managerが動作している場合、volcheckコマンドを実行すると、フロッピードライブ等が走査され、メディアがあればマウントされます。
# volcheck


シェルの初期設定を変更するには
環境変数など、ユーザーごとにシェルの初期設定を変更もしくは設定したいときは、ユーザーのホームディレクトリ以下にある設定ファイルで設定します。設定ファイルはシェルごとに異なります。
シェル 設定ファイル
sh $HOME/.profile
bash $HOME/.bash_profile
$HOME/.bashrc
csh $HOME/.cshrc
$HOME/.login
ksh $HOME/.profile


psコマンドを使うには
psコマンドをオプションなしで使うと、現在の端末で実行中のプロセスが表示されます。
# ps
               PID TTY         TIME CMD
               761 pts/5       0:00 sh
               768 pts/5       0:00 ps
            
システムで実行中のすべてのプロセスを表示するには、-eオプションを使います。以下の例では、詳細情報を表示する-fオプションも合わせて使っています。
# ps -ef
                 UID   PID  PPID   C    STIME TTY         TIME CMD
                root     0     0   0 09:08:04 ?           0:30 sched
                root     1     0   0 09:08:05 ?           0:00 /sbin/init
                root     2     0   0 09:08:05 ?           0:00 pageout
                root     3     0   0 09:08:05 ?           0:02 fsflush
                root   251     1   0 09:08:50 ?           0:02 /usr/lib/inet/inetd start
                root     7     1   0 09:08:08 ?           0:06 /lib/svc/bin/svc.startd
                root     9     1   0 09:08:09 ?           0:14 /lib/svc/bin/svc.configd
              daemon   224     1   0 09:08:43 ?           0:00 /usr/lib/nfs/statd
            (以下省略)
            


topコマンドを使うには
topコマンドは、/opt/sfw/bin/topにあります。/opt/sfw/binディレクトリにはパスが通っていませんので、パスを追加するか、フルパスで指定する必要があります。
# top
            last pid:   784;  load averages:  0.04,  0.04,  0.05      16:38:04
            80 processes:  79 sleeping, 1 on cpu
            CPU states:     % idle,     % user,     % kernel,     % iowait,     % swap
            Memory: 276M real, 44M free, 153M swap in use, 536M swap free
            
               PID USERNAME LWP PRI NICE  SIZE   RES STATE    TIME    CPU COMMAND
               784 root       1  30    0 3388K 1196K cpu      0:00  1.62% top
               730 root       1  49    0   24M 9716K sleep    0:23  0.79% mixer_applet2
               486 root       1  59    0   35M   14M sleep    0:10  0.23% Xsun
               656 root       1  59    0   13M   10M sleep    0:09  0.19% gconfd-2
               728 root       1  49    0   27M   12M sleep    0:04  0.14% gnome-netstatus
               707 root       1  59    0   47M   19M sleep    0:06  0.13% gnome-panel
               755 root       1  59    0 2616K 1736K sleep    0:00  0.09% bash
               749 root       1  59    0 8200K 2020K sleep    0:00  0.08% sshd
               738 root       2  59    0   44M   15M sleep    0:02  0.05% gnome-terminal
               444 root       8  59    0 8452K 5064K sleep    0:02  0.02% htt_server
                 7 root      13  59    0 9388K 6524K sleep    0:07  0.02% svc.startd
               722 root       1  49    0   33M   12M sleep    0:01  0.01% clock-applet
               660 root       1  59    0 3124K 2072K sleep    0:00  0.01% xscreensaver
               714 root       2  59    0 7852K 4628K sleep    0:00  0.01% gnome-vfs-daemo
               709 root       4  59    0   47M   26M sleep    0:02  0.01% nautilus
            
似たようなコマンドとして、prstatがあります。
# prstat
               PID USERNAME  SIZE   RSS STATE  PRI NICE      TIME  CPU PROCESS/NLWP
               730 root       24M 9716K sleep   49    0   0:00:24 0.7% mixer_applet2/1
               785 root     6076K 4284K cpu0    39    0   0:00:00 0.6% prstat/1
               656 root       13M   10M sleep   59    0   0:00:09 0.2% gconfd-2/1
               486 root       35M   14M sleep   59    0   0:00:10 0.2% Xsun/1
               707 root       47M   19M sleep   59    0   0:00:06 0.1% gnome-panel/1
               728 root       27M   12M sleep   49    0   0:00:05 0.1% gnome-netstatus/1
               749 root     8200K 2020K sleep   59    0   0:00:00 0.0% sshd/1
               738 root       44M   15M sleep   59    0   0:00:02 0.0% gnome-terminal/2
               444 root     8452K 5064K sleep   59    0   0:00:02 0.0% htt_server/8
               755 root     2616K 1736K sleep   49    0   0:00:00 0.0% bash/1
                 7 root     9388K 6524K sleep   59    0   0:00:07 0.0% svc.startd/13
               714 root     7852K 4628K sleep   59    0   0:00:00 0.0% gnome-vfs-daemo/2
               722 root       33M   12M sleep   49    0   0:00:01 0.0% clock-applet/1
               709 root       47M   26M sleep   59    0   0:00:02 0.0% nautilus/4
               660 root     3124K 2072K sleep   59    0   0:00:00 0.0% xscreensaver/1
               723 root     5552K 1808K sleep   59    0   0:00:00 0.0% sendmail/1
               720 root     2100K 1244K sleep   59    0   0:00:00 0.0% mapping-daemon/1
               260 root     3732K 2436K sleep   59    0   0:00:00 0.0% nscd/24
                 9 root     8620K 7388K sleep   59    0   0:00:15 0.0% svc.configd/14
               418 root     1872K  696K sleep   59    0   0:00:00 0.0% dpkeyserv/1
               412 root     1680K  716K sleep   59    0   0:00:00 0.0% smcboot/1
               413 root     1680K  716K sleep   59    0   0:00:00 0.0% smcboot/1
               368 root     4424K 3028K sleep   59    0   0:00:00 0.0% fmd/10
               354 root     4128K 1780K sleep   59    0   0:00:00 0.0% syslogd/16
               372 root     3884K 1200K sleep   59    0   0:00:00 0.0% sshd/1
               583 root     2124K 1136K sleep   59    0   0:00:00 0.0% fbconsole/1
               247 root     1680K  916K sleep   59    0   0:00:00 0.0% sac/1
               108 root     1212K  828K sleep   59    0   0:00:00 0.0% powerd/2
               411 root     1684K 1052K sleep   59    0   0:00:00 0.0% smcboot/1
               547 root     2124K 1076K sleep   59    0   0:00:00 0.0% fbconsole/1
               105 daemon   3768K 1896K sleep   59    0   0:00:00 0.0% kcfd/3
                90 root     2612K 1612K sleep   59    0   0:00:00 0.0% picld/4
            Total: 80 processes, 193 lwps, load averages: 0.03, 0.04, 0.04
            
いずれも「q」キーを押すまで継続的にプロセスやシステムの情報を表示し続けます。

Sunのドキュメントを読むには
Sunのドキュメントは、 docs.sun.comで公開されています。Solaris10のマニュアルもあります。ドキュメント名の末尾に「〜-Japanese」とあるものは日本語ドキュメントです。

ディスクの使用状況を確認するには
パーティション(ファイルシステム)ごとの容量と使用済み容量、空き容量などを表示するには、dfコマンドを使います。ただし、dfコマンドをオプションなしで実行すると、次のようになります。
# df
            /                  (/dev/dsk/c0d0s0   ): 3169752 ブロック   444967 ファイル
            /devices           (/devices          ):       0 ブロック        0 ファイル
            /system/contract   (ctfs              ):       0 ブロック 2147483615 ファイル
            /proc              (proc              ):       0 ブロック     4199 ファイル
            /etc/mnttab        (mnttab            ):       0 ブロック        0 ファイル
            /etc/svc/volatile  (swap              ): 1124592 ブロック    62523 ファイル
            /system/object     (objfs             ):       0 ブロック 2147483520 ファイル
            /lib/libc.so.1     (/usr/lib/libc/libc_hwcap1.so.1): 3169752 ブロック
               444967 ファイル
            /dev/fd            (fd                ):       0 ブロック        0 ファイル
            /tmp               (swap              ): 1124592 ブロック    62523 ファイル
            /var/run           (swap              ): 1124592 ブロック    62523 ファイル
            /export/home       (/dev/dsk/c0d0s7   ):  203602 ブロック    52736 ファイル
            

-hもしくは-kオプションを使うと、Linuxなどと同様の表示になります。
# df -h
            ファイルシステム     サイズ 使用済み 使用可能 容量      マウント先
            /dev/dsk/c0d0s0        4.5G   3.0G   1.5G    68%    /
            /devices                 0K     0K     0K     0%    /devices
            ctfs                     0K     0K     0K     0%    /system/contract
            proc                     0K     0K     0K     0%    /proc
            mnttab                   0K     0K     0K     0%    /etc/mnttab
            swap                   550M   616K   549M     1%    /etc/svc/volatile
            objfs                    0K     0K     0K     0%    /system/object
            /usr/lib/libc/libc_hwcap1.so.1
                                   4.5G   3.0G   1.5G    68%    /lib/libc.so.1
            fd                       0K     0K     0K     0%    /dev/fd
            swap                   549M     0K   549M     0%    /tmp
            swap                   549M    24K   549M     1%    /var/run
            /dev/dsk/c0d0s7        101M   1.2M    89M     2%    /export/home
            

-hは、単位記号をディスク容量に適したもので表します(メガ:Mやギガ:Gなど)。-kはKB単位で表示します。

Solarisのランレベル
Solarisでは、0〜6までとsもしくはSの、8種類のランレベルがあります。

0:電源オフ
s/S:シングルユーザーモード
1:管理モード
2:マルチユーザーモード
3:マルチユーザーモード(NFSサーバ起動)
4:未使用
5:電源オフ(自動電源断)
6:再起動

ランレベル0の場合、OpenBootのokプロンプトになります。この状態で電源を切ってもかまいません。ランレベル5の場合、ハードウェアが対応していれば自動的に電源が切断されます。

pingコマンドを使うには
Solarisでpingコマンドを使うと、次のようになります。
# ping 192.168.0.1
192.168.0.1 is alive

Linuxのようにpingコマンドを使いたい場合は、-sオプションを使います。
# ping -s 192.168.0.1
PING 192.168.0.1: 56 data bytes
64 bytes from 192.168.0.1: icmp_seq=0. time=1.66 ms
64 bytes from 192.168.0.1: icmp_seq=1. time=1.24 ms
64 bytes from 192.168.0.1: icmp_seq=2. time=1.23 ms
^C
----192.168.0.1 PING Statistics----
3 packets transmitted, 3 packets received, 0% packet loss
round-trip (ms) min/avg/max/stddev = 1.23/1.38/1.66/0.25

なお、pingコマンドのパスは/usr/sbin/pingです。フルパスで指定すれば一般ユーザーでも使えます。
$ /usr/sbin/ping 192.168.0.1
192.168.0.1 is alive


IPアドレスを確認したい
IPアドレスを確認するにはifconfigコマンドを使います。このとき、ネットワークインターフェース名を指定するか、-aオプションを使います。何も引数を指定しないとエラーになります。
# ifconfig pcn0
pcn0: flags=1004843 mtu 1500 index 2
 inet 192.168.0.18 netmask ffffff00 broadcast 192.168.0.255
 ether 0:c:29:2f:5e:ca

# ifconfig -a
lo0: flags=2001000849 mtu 8232 index 1
 inet 127.0.0.1 netmask ff000000
pcn0: flags=1004843 mtu 1500 index 2
 inet 192.168.0.18 netmask ffffff00 broadcast 192.168.0.255
 ether 0:c:29:2f:5e:ca

ログインシェルを変更するには
ログインシェルを変更するには、/etc/passwdファイルを直接編集してもかまいませんが、rootユーザーで「passwd -e」を実行してもかまいません。
# passwd -e student
古いシェル: /usr/bin/sh
新しいシェル: /usr/bin/bash   ←新しいシェルのパスを指定
passwd: student のパスワード情報が変更されました
sh以外のシェルを使うには
Solarisでは、デフォルトのシェルはsh(/sbin/sh)です。普段bashやtcshを使っている人にとっては、とても使いづらいのではないでしょうか。Solarisでは標準で、以下のシェルを利用することができます。

・/usr/bin/sh
・/usr/bin/csh
・/usr/bin/tcsh
・/usr/bin/bash
・/usr/sfw/bin/zsh

これらのシェル名をコマンドとして実行すると、指定したシェルが起動します。例えば、いますぐbashを使いたい場合は、次のようにします。
$ bash

するとbashシェルが起動し、次のようなプロンプトが表れます。
bash-3.00$

bashシェルを終了するには、exitコマンドを使います。
ユーザーを追加したい
Solarisでユーザーを追加する方法は2とおりあります。一つはuseraddコマンドを使う方法。もう一つはSolaris管理コンソールを使う方法です。今回はコマンドラインでのユーザー追加方法を取り上げます。

Solarisのuseraddコマンドの使い方は次のとおりです。

書式:useradd [-g グループID] [-u ユーザーID] [-s シェル] [-m] [-d ホームディレクトリ] ユーザー名

-g :グループIDを指定(デフォルトでは1)
-u :ユーザーIDを指定(デフォルトでは現在の最大値+1)
-s :ログインシェルを指定(デフォルトでは/bin/sh)
-m :ホームディレクトリを自動的に作成
-d :ホームディレクトリを指定

Linux感覚でユーザーを作成すると「ホームディレクトリも作られない」といった事態になりますので注意しましょう。以下の例では、グループIDを500、ユーザーIDを500、ログインシェルを/usr/bin/bash、ホームディレクトリを/export/home/user1として、一般ユーザーuser1を作成しています。
# useradd -g 500 -i 500 -s /usr/bin/bash -m -d /export/home/user1 user1
システムを今すぐ停止したい
システムを停止するには、shutdownコマンドを使います。shutdownコマンドを実行するにはroot権限が必要です。なお、shutdownコマンドのオプションはLinux等と異なるので注意が必要です。
# shutdown -y -i0 -g0

-y :問い合わせにyesと回答する
-i :指定したランレベルに移行する
-g :シャットダウンを開始するまでの時間(分)を指定する
solaris パッケージ
中身を知るには
# pkgchk -vn CSWvim
ファイルがどのパッケージか知るには
# pkgchk -lp /opt/csw/bin/glocate
patchがどこまであたっているのか知りたい
# patchadd -p | grep パッチ番号
###