ZFSコマンド

2012/04/29

経緯

昔、ZFSコマンドを使っていた時期があったので思い返してみた。

というより、ファイル整理していたらunixコマンドが見つかったので晒してみた。

昔書いたTipsを晒しています。

参考資料

ちなみに、unixコマンド調べるのに下記のサイトが便利でした。(数年前の自分より)


  1. http://europe.ciao.jp/solaris/index.html

ゾーン

現在のゾーンの環境を確認する

  1. # zoneadm list -vc

    ゾーンの起動

  1. # zoneadm -z ゾーン名 boot

ゾーンの停止

  1. # zoneadm -z ゾーン名 halt

ゾーンの再起動

  1. # zoneadm -z ゾーン名 reboot

ゾーンの設定環境を確認

  1. # zonecfg -z ゾーン名 info

    ゾーンの設定環境を作成

  1. # zonecfg -z ゾーン名
  2. zonecfg:ゾーン名> create

ゾーンの削除

  1. # zoneadm -z ゾーン名 uninstall -F

ゾーンの移動

  1. # zoneadm -z ゾーン名 move 移動先ディレクトリ

ゾーンの移動(別サーバ)

  1. # zoneadm -z ゾーン名 detach
  2. # zpathcopy コピー元 コピー先
  3. # zonecfg -z ゾーン名 delete -F
  4. # zonecfg -z ゾーン名
  5. zonecfg:ゾーン名> create
  6. ……その他設定
  7. # zoneadm -z ゾーン名 attach

zpathcopyは自作コマンドだったかも。orz

ゾーンへのログイン

コンソールモードでログイン

  1. # zlogin -C ゾーン名

指定されたゾーンに接続(rootユーザ)

  1. # zlogin ゾーン名

ユーザ名を指定して non-global zone に接続

  1. # zlogin -l ユーザ名 ゾーン名
  2. ※コンソール接続の切断は ~. または ~^D (チルダ'~'を押してからCTRL+D)

おまけ(圧縮・解凍)

ファイルを圧縮する

  1. % compress オプション ファイル名

ファイルを解凍する

  1. % uncompress ファイル名.Z

ディレクトリをtarファイル.tarという名前で圧縮します。

  1. % tar cvf tarファイル.tar ディレクトリ

tarファイルから、ファイルを摘出します。

  1. % tar xvf tarファイル.tar ファイル

ディレクトリをDIR.tarという名前で圧縮し、gzip圧縮します。

  1. % tar cvzf 圧縮ファイル.tgz ディレクトリ

    tarとgzで圧縮したファイルを解凍します。(GNUzipで利用可)

  1. % tar xzvf 圧縮ファイル.tar.gz

tarで固めたファイルの中を確認します。参照だけで、展開はされません。

  1. % tar -tvf ファイル.tar

ディレクトリをzip形式に圧縮する。

  1. $ zip -r Zipファイル名 ディレクトリ

特定の拡張子のみ圧縮する。

  1. (例ではdir内の拡張子がlogのファイルのみfile.zipという名前で圧縮)
  2. $ zip -r Zipファイル名 ディレクトリ -i \*.log

zipで圧縮されたファイルを解凍する。

  1. $ unzip fileA.zip

zipで圧縮されたファイルの内容を確認する。

  1. $ unzip -l fileA.zip

特定のファイルのみ、zipから解凍する。

  1. $ unzip fileA.zip fileB

元ファイルを残して圧縮する。

  1. $ gzip -c fileA > fileA.gz

gzipで圧縮されたファイルを解凍する。

  1. $ gzip -d fileA.gz

gzipで圧縮されたファイルを解凍する。

  1. $ gunzip fileA.gz

ディレクトリをtgzで圧縮する。

  1. $ tar -cvf - dirA | gzip - > dirA.tgz

2Gを超えるファイルの圧縮

  1. $ cat fileA | gzip > fileA.gz

2Gを超えるファイルの展開

  1. $ cat fileA.gz | gzip -d > fileA

おまけ(ハード)

ディスク容量の確認

  1. # df -h

ZFSの確認(ディスク容量の確認)

  1. # zpool list

ZFSの確認(マウント先の確認)

  1. # zfs list

フォーマット状況の確認

  1. format
  2. #
  3. # 見るデバイスを選択
  4. # p
  5. # p
  6. # quit
  7. # quit

サービスの確認(samba の確認)

  1. # svcs | grep "samba"

インストールの確認

  1. # pkginfo -l
  2. # pkginfo -l | grep samba

おまけ(ネットワーク)

ネットワークの確認1

  1. # ifconfig -a

ネットワークの確認2

  1. # netstat -rn

ネットワークの確認3

  1. # ping 192.168.0.1
  2. # traceroute 192.168.0.1

NICの確認

  1. # dladm show-link

NICの登録/IP追加

  1. # ifconfig bge1 192.168.0.1 netmask + 255.0.0.0
  2. # ls /etc/hostname*
  3. /etc/hostname.bge0 /etc/hostname.bge1

IP追加

  1. # vi /etc/inet/hosts
  2. # vi /etc/inet/ipnodes

ネットマスク追加

  1. # vi /etc/inet/netmasks

おまけ(CDデータの読み込み)

Solaris でISOイメージ(CDイメージ)ファイルの扱い

  1. lofiadm コマンドでデバイスを取得し、マウントする
  2. # lofiadm -a ISOイメージファイル名
  3. /dev/lofi/1
  4. # mount -F hsfs -r /dev/lofi/1 /mnt
  5. ※ノングローバル環境のみ実行可能。ゾーン内では実行不可能
  6. アンマウント後に lofiadm コマンドで割り当てたデバイスを削除する。
  7. # umount /mnt
  8. # lofiadm -d /dev/lofi/1
  9. デバイスの割り当て状況確認
  10. # lofiadm
  11. Block Device File
  12. /dev/lofi/1 ISOイメージファイル名

おまけ(シンボリックリンク)

シンボリックリンク

  1. # ln -s リンク元(実体) 新リンク
  2. # rm シンボリックリンク
  3. ※ /はつけないこと。

おまけ(インストール CD入れ替え)

CD入れ替え

  1. # ln -s /export/isoImage/xxx1/ /var/tmp/cd-rom
  2. # rm /var/tmp/cd-rom
  3. # ln -s /export/isoImage/xxx2/ /var/tmp/cd-rom
  4. # rm /var/tmp/cd-rom
  5. シンボリックリンクを置き換えることで、CDの入れ替えを擬似的に行う。

おまけ(ユーザ追加 hogeユーザfugaグループ)

ユーザ追加 hogeユーザfugaグループ

  1. # useradd -c 'Namae Myouji' -d /export/home/hoge -m -g fuga -s /bin/bash hoge

グループ(fuga)を100で追加する。

  1. # groupadd -g 100 fuga

2012/04/29
ページのトップへ戻る