やっぱり Sun がスキ! : Weblog やっぱり Sun がスキ!

やっぱり Sun がスキ!

http://blogs.sun.com/yappri/date/20061225 2006年 12月 25日 月曜日

Sunグッズ紹介(7)

Sun のロゴ入りグッズ紹介の第七弾です。


・Sun StorageTek ロゴ入り mp3 プレイヤー
 なんと Sun StorageTek ロゴ入りの mp3 プレイヤーです。
 これだけコンパクトでありながらFMチューナー付きです。






・OpenSolaris Tシャツ
 Solaris を心から愛する人に捧げる一品!
 身にまとえば心から Open な気分に。






・Sun ロゴ入り USB携帯充電ツール
 今の時代、携帯電話の電池切れはかなり焦りますよね。
 そんなときはスマートに USB からこのツールで充電しましょう!
 DoCoMo, au, SoftBank, WILLCOM 全て対応です!






・Sun ロゴ入りコンパクトボールペン
 ストラップにぶら下げると意外と便利な一品
 カバンの中からボールペンを探す必要が無くなります。





http://blogs.sun.com/yappri/date/20061222 2006年 12月 22日 金曜日

暗号化 zip ファイル

Solaris User の皆さんに質問です。
最近パスワード付き(暗号化) zip ファイルを取り扱う機会が増えていませんか。
その際、皆さんは Solaris からうまくパスワード付き zip を扱えておりますでしょうか。
大半の人は、うまく扱えていないのでは無いかと思います。
なぜなら、現行の Solaris に付属されている zip/unzip コマンドは、パスワード付き zip の扱いをサポートしていません。
実際に扱おうとすると、以下の様なメッセージに出くわすかと思います。
 % /usr/bin/zip -e hoge.zip ./hoge.txt
 
 zip error: Invalid command arguments (encryption not supported)
 
 % /usr/bin/unzip encrypted.zip
 Archive:  hoge.zip
    skipping: au.txt                  encrypted (not supported)
このため、Solaris 大好きな皆さんも泣く泣く他の OS を使っているかと思います。
そんな皆さんに朗報です!
Sun もその事を認識しており、既に Solaris Nevada(OpenSolaris) では、パスワード付き zip を扱える zip/unzip バージョンを搭載しております。
しかしながら、現行の Sun Solaris では未だ対応できておりません。
そんな時は、ソースからコンパイルしてしまいましょう。
zip/unzip のソースは、以下のサイトから入手できます。

Info-ZIP

入手したソースの unix ディレクトリ配下にある Makefile を以下の様に編集します。
 % cd unix
 % vi Makefile
 ----- Makefile - unzip -----
 # UnZip flags
 CC = cc#       try using "gcc" target rather than changing this (CC and LD
    ↓
 # UnZip flags
 CC = gcc#       try using "gcc" target rather than changing this (CC and LD
 ----------------------------
 ----- Makefile - zip -----
 # (to use the Gnu compiler, change cc to gcc in CC)
 CC = cc
    ↓
 # (to use the Gnu compiler, change cc to gcc in CC)
 CC = gcc
 --------------------------
次に編集した Makefile を、unix ディレクトリの親ディレクトリにコピーします。
 % cp Makefile ..  
その後、その親ディレクトリで、以下のコマンドを実行します。
 % cd ..
 % /usr/ccs/bin/make generic
最後に make install を行えば完了です。
 % su
 パスワード:
 # /usr/ccs/bin/make install
尚、OS 標準ではないライブラリ等は参照していないので、zip/unzip バイナリを直接持ってくるだけでも問題ありません。
 % ~/bin/zip -e hoge.zip ./hoge.txt
 Enter password:
 Verify password:
 updating: hoge.txt (deflated 32%)
 
 % ~/bin/unzip encrypted.zip
 Archive:  encrypted.zip
 [encrypted.zip] hoge.txt password:
   inflating: hoge.txt
それでは皆さん、さらに快適な Solaris ライフをご堪能下さい。

http://blogs.sun.com/yappri/date/20061221 2006年 12月 21日 木曜日

BeleniX - OpenSolaris Distribution (LiveCD)

Open Solaris をベースに作成された Live CD をご存知でしょうか?
Live CD はハードディスクにインストール不要で CD/DVD から 起動できる為、手軽に色々な OS を体験できたり、 起動しなくなってしまったディスクのデータを取り出せたりと 非常に便利です。
Live CD では、Debian をベースにしている Knoppix が有名ですが、 Solaris がオープンソース化されてから、Open Solaris をベースにした 下記のような Live CD Distribution が作成されています。

・SchilliX
・BeleniX
・Nexenta

そこで今回は 11/25/2006 に最新版がリリースされた BeleniX 0.5.1 を試してみました。
BeleniX は下記のサイトより ISO 形式でダウンロードできます。
( BeleniX 0.5.1 は OpenSolaris build 52 を元にしています。)

BeleniX 0.5.1
http://www.genunix.org/distributions/belenix_site/belenix_home.html
http://www.genunix.org/distributions/belenix_site/download.html

ダウンロードした ISO ファイル ( belenix0.5.1.iso ) の容量は 678Mbyte 程ですので、CD-R に Bootable CD-ROM として作成します。
CD-ROM の作成ができたら、準備は完了です。 それでは実際にシステムにメディアを挿入して起動してみたいと思います。

  1. まずシステムに作成したメディアを挿入し、システムを再起動します。

  2. 起動の途中で BIOS Menu を呼び出し、HDD より CD/DVD Drive を先に読み込むように Boot Device の順番を変更します。
    そして BIOS Menu を抜け、システムを起動します。

  3. GRUB Menu が上がってきたら、Belenix を選択します。
    ( 現在の Belenix は 32 bit 版のみ提供されています。 )


  4. しばらくすると banner などが表示されます。
    ( Sun OS Release 5.11 と表示されています! )


  5. 次にキーボードタイプを選択します。

  6. さらに Window System を選択します。
    Belenix では Xorg と連携して XFce と KDE を採用しています。

  7. 暫くすると選択した Window System が起動してきます。
    ( 今回は XFce を選択しています。 )


以上で起動は完了です。

それではいくつかコマンドの出力結果を確認してみたいと思います。
uname コマンドや /etc/release からも Open Solaris をベースに作成していることが確認できます。

# uname -a
SunOS belenix 5.11 BeleniX0.5.1 i86pc i386 i86pc
#
# cat /etc/release
                                BeleniX 0.5.1 10/06
                             Innovating on OpenSolaris
                              Assembled 22 Nov 2006
#

prtdiag コマンドも実行でき、今回使用したシステムの AMD Athlon64 Processor 3200+ が確認できました。

# prtdiag -v
System Configuration: Gateway Product Name
BIOS Configuration: Phoenix Technologies, LTD 6.00 PG 01/13/2005

==== Processor Sockets ====================================

Version                          Location Tag
-------------------------------- --------------------------
AMD Athlon(tm) 64 Processor 3200+ Socket 754

==== Memory Device Sockets ================================

Type    Status Set Device Locator      Bank Locator
------- ------ --- ------------------- --------------------
unknown in use 0   A0                  Bank0/1
unknown in use 0   A1                  Bank2/3

==== On-Board Devices =====================================

==== Upgradeable Slots ====================================

ID  Status    Type             Description
--- --------- ---------------- ----------------------------
1   available PCI              PCI0
2   available PCI              PCI1
3   in use    PCI              PCI2
8   in use    AGP              AGP
#

Solaris 10 から加えられた機能の中に SMF や Solaris コンテナがありますが、 関連する svcs コマンドや zoneadm コマンドも実行できました。

# svcs
STATE          STIME    FMRI
online         19:34:50 svc:/system/svc/restarter:default
online         19:34:51 svc:/milestone/name-services:default
online         19:34:51 svc:/network/loopback:default
online         19:34:58 svc:/network/physical:default
online         19:34:58 svc:/milestone/network:default
online         19:34:59 svc:/system/identity:node
online         19:35:30 svc:/system/filesystem/root:default
online         19:35:32 svc:/system/boot-archive:default
	:
	: 省略
	:
#
# zoneadm list -vc
  ID NAME             STATUS         PATH                           BRAND
   0 global           running        /                              native
#

ZFS に関しては構築までできてしまいました!
( ZFS に指定したデバイスは、検証の為、ディスクではなくファイルを使用しています )

#
# zpool status
no pools available
#
# zpool create zfs_pool raidz /mnt/fat0/test/c0t0d0_file /mnt/fat0/test/c0t0e /mnt/fat0/test/c0t0d2_file spare /mnt/fat0/test/c0t0d3_file
# zfs create zfs_pool/raidz
#
# zpool status
  pool: zfs_pool
 state: ONLINE
 scrub: none requested
config:

        NAME                            STATE     READ WRITE CKSUM
        zfs_pool                        ONLINE       0     0     0
          raidz1                        ONLINE       0     0     0
            /mnt/fat0/test/c0t0d0_file  ONLINE       0     0     0
            /mnt/fat0/test/c0t0d1_file  ONLINE       0     0     0
            /mnt/fat0/test/c0t0d2_file  ONLINE       0     0     0
        spares
          /mnt/fat0/test/c0t0d3_file    AVAIL

errors: No known data errors
#
# df -k
Filesystem            kbytes    used   avail capacity  Mounted on
/devices/ramdisk:a     60146   56380    3766    94%    /
/devices                   0       0       0     0%    /devices
/dev                       0       0       0     0%    /dev
	:
	: 省略
	:
/dev/dsk/c1t0d0s2     695200  695200       0   100%    /media/belenix
/dev/dsk/c0d0p2      3350988 2057392 1293596    62%    /mnt/fat0
zfs_pool              100904      34  100760     1%    /zfs_pool
zfs_pool/raidz        100904      32  100760     1%    /zfs_pool/raidz
#

今回は Local Zone の作成までは確認できていませんが、Live CD で ZFS が構築できるとは驚きです。

ちなみに Belenix では下記のような Software が予めインストールされています。

・Firefox 2.0
 /usr/foss/firefox/firefox
 

・Thuderbird 1.5
 /usr/foss/thunderbird/thunderbird
 

・KOffice
 

・Kpdf
 /usr/foss/bin/kpdf
 

・GIMP
 /usr/foss/bin/gimp
 

・etc....

デフォルトでは DHCP で IP Address を自動的に取得するように設定されているため、 特に設定を行うことなく、Firefox や Thunderbird を利用することができます。 加えて、pdf や Word、Excel といった形式のファイルも確認できるので、 一通りの作業ができてしまいます。


システムに変化を加えずに気軽に Solaris を試したい時や、必要であれば UFS, FAT32, NTFS (NTFS は Read Only) といった形式の File System も mount することができるため、 起動しなくなったシステムのデータを取り出したりする時にもぴったりです。

まだまだ、BeleniX の機能拡張も予定されているようですので、 今後の機能やアイデア次第で色々できそうです。

使用してみると非常におもしろい Distribution ですので、 是非、皆様も一度お試し頂ければと思います。

http://blogs.sun.com/yappri/date/20061220 2006年 12月 20日 水曜日

セキリュティー機能拡張(Secure By Default)

前の記事 で Solaris 10 11/06 新機能について独断と偏見で目玉 TOP 5 を あげさせて頂きましたが、 その中の 1 つの"Secure By Default" について、どのような機能かインストールをして 確認してみました。

Secure By Default とはデフォルト状態で、ネットワークサービスに関して ssh のポートのみを開けておく 機能です。Solaris 上級者ではインストール直後にいろいろなポートを閉じる ことは普通に行われていることですが、Solaris 初心者には少しハードルが高 かったかもしれません。そのハードルの高さを取り除いた物が今回の Secure By Default と言えるかと思います。

1. 設定方法

この Secure By Default の機能はアップグレードインストールでは有効になりません。 初期インストールでは途中以下のように Secure By Default を ON/OFF のどちらにするか 選択肢が出てきます。

- Enabling remote services -----------------------------------------------------

  Would you like to enable network services for use by remote clients? 

  Selecting "No" provides a more secure configuration in
  which Secure Shell is the only network service provided to
  remote clients.  Selecting "Yes" enables a larger set of
  services as in previous Solaris releases. If in doubt, it is
  safe to select "No" as any services can be individually enabled
  after installation.

  Note: This choice only affects initial installs. It doesn't affect upgrades.


      Remote services enabled
      -----------------------
      [ ] Yes
      [X] No

--------------------------------------------------------------------------------
    F2_Continue    F6_Help

またこの設定をインストール後に変更するために、以下のコマンドが存在するので もしインストール時に間違って変更した場合も安心です。

# netservices open
# netservices limited


2. SMF の Status 確認

インストール時に "Remote services enabled" で "NO" を選択するか netservices limited コマンドを実行するとどのように設定が変更されるか 実機で確認してみました。

まず、netservices を Open にした状態で SMF の状態のリストを保存

# netservices open
restarting syslogd
restarting sendmail
restarting wbem
dtlogin needs to be restarted. Restart now? [Y]
restarting dtlogin
# svcs -a | sort -k 3,3 | awk '{printf "%-12s%s\n",$1, $3}' > open.txt

次に netservices を limited にした状態で SMF の状態のリストを保存

# netservices limited
restarting syslogd
restarting sendmail
restarting wbem
dtlogin needs to be restarted. Restart now? [Y]
restarting dtlogin
# svcs -a | sort -k 3,3 | awk '{printf "%-12s%s\n",$1, $3}' > limited.txt

そして両者の比較

# sdiff open.txt limited.txt | grep "|"
online      svc:/application/management/seaport:default  |  disabled    svc:/application/management/seaport:default
online      svc:/application/management/sma:default      |  disabled    svc:/application/management/sma:default
online      svc:/application/management/snmpdx:default   |  disabled    svc:/application/management/snmpdx:default
offline     svc:/application/print/ipp-listener:default  |  disabled    svc:/application/print/ipp-listener:default
online      svc:/application/x11/xfs:default             |  disabled    svc:/application/x11/xfs:default
online      svc:/network/cde-spc:default                 |  disabled    svc:/network/cde-spc:default
online      svc:/network/finger:default                  |  disabled    svc:/network/finger:default
online      svc:/network/ftp:default                     |  disabled    svc:/network/ftp:default
online      svc:/network/login:rlogin                    |  disabled    svc:/network/login:rlogin
online      svc:/network/nfs/cbd:default                 |  disabled    svc:/network/nfs/cbd:default
online      svc:/network/nfs/client:default              |  disabled    svc:/network/nfs/client:default
online      svc:/network/nfs/mapid:default               |  disabled    svc:/network/nfs/mapid:default
online      svc:/network/nfs/nlockmgr:default            |  disabled    svc:/network/nfs/nlockmgr:default
online      svc:/network/nfs/rquota:default              |  disabled    svc:/network/nfs/rquota:default
online      svc:/network/nfs/status:default              |  disabled    svc:/network/nfs/status:default
online      svc:/network/rpc/mdcomm:default              |  disabled    svc:/network/rpc/mdcomm:default
online      svc:/network/rpc/meta:default                |  disabled    svc:/network/rpc/meta:default
online      svc:/network/rpc/metamed:default             |  disabled    svc:/network/rpc/metamed:default
online      svc:/network/rpc/metamh:default              |  disabled    svc:/network/rpc/metamh:default
online      svc:/network/rpc/rstat:default               |  disabled    svc:/network/rpc/rstat:default
online      svc:/network/rpc/rusers:default              |  disabled    svc:/network/rpc/rusers:default
online      svc:/network/shell:default                   |  disabled    svc:/network/shell:default
online      svc:/network/telnet:default                  |  disabled    svc:/network/telnet:default

例えば telnet, rlogin, ftp など様々なサービスが disabled になっているのが 確認できます。



3. ローカル接続のみに制限されているサービス

その他に以下のマニュアルにあるとおり、ローカルからの接続のみに 制限されているサービスがあります。

Solaris 10 11/06 Release and Installation Collection
>> Solaris 10 11/06 Installation Guide: Planning for Installation and Upgrade
>> Overall Planning of Any Solaris Installation or Upgrade
>> 3. Solaris Installation and Upgrade (Roadmap)
>> Planning Network Security
http://docs.sun.com/app/docs/doc/819-6764/6n8onr7pd?a=view

上記のマニュアル中の Property を変更すれば良いのですが、 制限を解除する方法は、そのサービスのマニュアルに記述されている場合が あるので参考にしてください。

例えば Sendmail の場合ですが、sendmail(1M) に

  ...略...

  Enabling Access to Remote Clients

     On an  unmodified  system,  access  to  sendmail  by  remote
     clients  is enabled and disabled through the service manage-
     ment facility (see smf(5)).  In particular, remote access is
     determined by the value of the local_only SMF property:

     svc:/network/smtp:sendmail/config/local_only = true

     A setting of true, as above, disallows remote access;  false
     allows remote access. The default value is true.

     The following example shows the  sequence  of  SMF  commands
     used to enable sendmail to allow access to remote systems:

     # svccfg -s svc:/network/smtp:sendmail setprop config/local_only = false
     # svcadm refresh svc:/network/smtp:sendmail

     See svcadm(1M) and svccfg(1M).

     Note, however, on a system  where  any  of  the  sendmail(4)
     files  have been customized, setting this property might not
     have the intended effect. See sendmail(4) for details.

  ...略...

マニュアルにもばっちり記述があるので簡単に設定変更が可能ですね。 以下実機でプロパティーが変更されたか確認しました。

# netservices open
restarting syslogd
restarting sendmail
restarting wbem
dtlogin needs to be restarted. Restart now? [Y]
restarting dtlogin
# svccfg -s  svc:/network/smtp:sendmail listprop config/local_only
config/local_only  boolean  false
# svcs svc:/network/smtp:sendmail
STATE          STIME    FMRI
online          5:03:12 svc:/network/smtp:sendmail
# netservices limited
restarting syslogd
restarting sendmail
restarting wbem
dtlogin needs to be restarted. Restart now? [Y]
restarting dtlogin
# svccfg -s  svc:/network/smtp:sendmail listprop config/local_only
config/local_only  boolean  true
# svcs svc:/network/smtp:sendmail
STATE          STIME    FMRI
online          5:04:28 svc:/network/smtp:sendmail
#

確かに両方とも Status は Online ですが、

  • netservices limited の場合は config/local_only のプロパティーが true になって、ローカルのみに制限
  • netservices open の場合は config/local_only のプロパティーが false になって、特にホストアクセス制限なし

に変更されてます。

結構簡単にポートを閉じることが可能ですし、もし設定変更をしたくなったとし てもマニュアルをご覧頂ければ良いことが解って頂けたかと思います。

今後はこの Secure By Default の機能を活用して、必要の無いポートを基本的 に閉じ、必要が出てきたらそのサービスのみ enable にしたり、ローカルのみの 制限を解除したりしすれば、サーバの設定が簡単になりますね。

http://blogs.sun.com/yappri/date/20061219 2006年 12月 19日 火曜日

ZFS の機能が強化されました

最近(米国時間の12月11日より) Solaris 10 11/06 が公開されました。
Solaris 10 11/06 は、2005年2月に Solaris 10 が 発表されてから3番目のアップデートになります。
(早いものであと2ヶ月も経たないうちに Solaris 10 は2周年を迎えます。)

今回リリースされた機能追加の目玉 TOP 5 は以下の通りです。(独断と偏見でリストアップしました)

  • Solaris Trusted Extensions
  • Sun Fire T1000/T2000 サーバの LDoms(バーチャルマシン) 機能サポート
  • ZFS ファイルシステム拡張
  • ゾーン名変更、およびクローンの生成と移動
  • Secure By Default

これら機能のほとんどは、普段 OpenSolaris を Watch している人であれば 「あーあの事ね!」 と反応があると思います。
今回は、この中から ZFS のエンハンス機能に関して少し解説してみます。
(本当はLDomsを紹介したかったのですが、まだLDoms に対応した Niagara Server の Firmware が発表されていない為、LDoms ネタは次回以降に持ち越しです。)

<Solaris 10 11/06 ZFS 拡張機能解説>
  1. ストレージプールの冗長化としてホットスペアがサポートされました。
      この機能は、特に Sun Fire X4500 の内蔵 SATA ディスク 48 本を 管理する時に有効です。

  2. ダブルパリティによる RAID-6 相当の機能を RAID-Z2 として実装しました。
      ホットスペアに続いてさらなる信頼性の向上を図る機能が追加されて おります。RAID-Z2は、ダブルパリティなので性能を多少犠牲に しても信頼性(Disk の障害が RAID グループ内で2本まで)を確保したい 場合にとても有効です。

  3. ファイルシステムのクローンプロモーションが実装されました。
      アクティブな ZFS ファイルシステムを、そのファイルシステムのクローンで置き換える こと(プロモーション)が可能になりました。この機能を使えばファイルシステムの 複製と置換が容易に行え、「作成元」のファイルシステムが、指定されたファイル システムのクローンになる事ができます。

  4. 一度の命令で高速な再帰的スナップショットが可能になりました。
      例えば、あるプールの下に 10 個のファイルシステムがあり、それぞれのスナップ ショットを作成したい場合、 以前であれば 10 回 スナップショット作成コマンド を発行していたのですが、この機能により -r オプションを付ける事で再帰 的に(1回で)スナップショットが取得できるようになりました。
     (例)
    # zfs snapshot -r tank/home@now
    # zfs list -t snapshot
    NAME                   USED  AVAIL  REFER  MOUNTPOINT
    tank/home@now             0      -  29.5K  -
    tank/home/ahrens@now      0      -  2.15M  -
    tank/home/anne@now        0      -  1.89M  -
    tank/home/bob@now         0      -  1.89M  -
    tank/home/cindys@now      0      -  2.15M  -
    

今回のアップデートで ZFS の機能が相当アップされました。
最近、ZFS 関連のネタが多いのですが、使ってみると ZFS は本当に管理が楽チンです。 まだ体験されていない方は是非使ってみて下さいませ。

http://blogs.sun.com/yappri/date/20061211 2006年 12月 11日 月曜日

パワーカリキュレータ ~ その2 SPARC 編

以前 Opteron 製品のパワーカリキュレータをご紹介しましたが、一部 SPARC マシンのパワーカリキュレータもありますので紹介します。


こちらも是非ご活用下さい。