2007年8月6日月曜日

Solaris10のSMF管理

Solaris10のSMFは賛否両論であるが、使い込むとなかなか便利である。
(逆に使わないと、便利さが実感できない)
svcadmコマンド一発でサービスの停止、起動を制御できるようになると、Solaris9以前のrcスクリプトを移動させてOSを再起動するという面倒な世界には戻れない。

しかしSolaris10を使っていると、ふとしたことでサービスのenable、disableが変わってしまうことがある(例:netservicesコマンド)。
そういうときは、またsvcadmコマンドでせこせこ直すのは面倒なので、一発コマンド作成。

設定ファイルと、実行コマンドだけ。同じディレクトにおいてね。

=====実行コマンド(setsmf.sh)

#!/bin/sh

cat svcs.list | grep -v "^#"| while read status service
do
status_now=`svcs -a | grep $service | awk '{print $1}'`
#echo $status_now
if [ $status != $status_now ]; then
if [ $status = "online" ] ; then
status="enable"
fi
if [ $status = "disabled" ] ; then
status="disable"
fi
exec svcadm $status $service &
echo "svcadm $status $service"
fi
done


=========list(svcs.list)
 状態の設定はdisabledかonlineで設定してね。
----------

# SMF Setting List
# STATE FMRI
disabled svc:/application/cde-printinfo:default
disabled svc:/application/font/fc-cache:default
disabled svc:/application/font/stfsloader:default
disabled svc:/application/gdm2-login:default
disabled svc:/application/graphical-login/cde-login:default
disabled svc:/application/management/common-agent-container-1:default
disabled svc:/application/management/dmi:default
disabled svc:/application/management/seaport:default
disabled svc:/application/management/sma:default
disabled svc:/application/management/snmpdx:default
disabled svc:/application/management/wbem:default
disabled svc:/application/management/webmin:default
online svc:/application/opengl/ogl-select:default
disabled svc:/application/print/cleanup:default
disabled svc:/application/print/ipp-listener:default
disabled svc:/application/print/rfc1179:default
disabled svc:/application/print/server:default
disabled svc:/application/x11/xfs:default
online svc:/milestone/devices:default
online svc:/milestone/multi-user-server:default
online svc:/milestone/multi-user:default
online svc:/milestone/name-services:default
online svc:/milestone/network:default
online svc:/milestone/single-user:default
online svc:/milestone/sysconfig:default
disabled svc:/network/apocd/udp:default
disabled svc:/network/cde-spc:default
disabled svc:/network/chargen:dgram
disabled svc:/network/chargen:stream
disabled svc:/network/comsat:default
disabled svc:/network/daytime:dgram
disabled svc:/network/daytime:stream
disabled svc:/network/dhcp-server:default
disabled svc:/network/discard:dgram
disabled svc:/network/discard:stream
disabled svc:/network/dns/client:default
disabled svc:/network/dns/server:default
disabled svc:/network/echo:dgram
disabled svc:/network/echo:stream
disabled svc:/network/finger:default
disabled svc:/network/ftp:default
disabled svc:/network/http:apache2
disabled svc:/network/inetd-upgrade:default
online svc:/network/inetd:default
online svc:/network/initial:default
online svc:/network/ipfilter:default
disabled svc:/network/iscsi_initiator:default
disabled svc:/network/ldap/client:default
disabled svc:/network/login:eklogin
disabled svc:/network/login:klogin
disabled svc:/network/login:rlogin
online svc:/network/loopback:default
disabled svc:/network/nfs/cbd:default
disabled svc:/network/nfs/client:default
disabled svc:/network/nfs/mapid:default
disabled svc:/network/nfs/nlockmgr:default
disabled svc:/network/nfs/rquota:default
disabled svc:/network/nfs/server:default
disabled svc:/network/nfs/status:default
disabled svc:/network/nis/client:default
disabled svc:/network/nis/passwd:default
disabled svc:/network/nis/server:default
disabled svc:/network/nis/update:default
disabled svc:/network/nis/xfr:default
disabled svc:/network/ntp:default
online svc:/network/pfil:default
online svc:/network/physical:default
disabled svc:/network/rarp:default
disabled svc:/network/rexec:default
disabled svc:/network/rpc-100235_1/rpc_ticotsord:default
online svc:/network/rpc/bind:default
disabled svc:/network/rpc/bootparams:default
disabled svc:/network/rpc/cde-calendar-manager:default
disabled svc:/network/rpc/cde-ttdbserver:tcp
online svc:/network/rpc/gss:default
disabled svc:/network/rpc/keyserv:default
disabled svc:/network/rpc/mdcomm:default
disabled svc:/network/rpc/meta:default
disabled svc:/network/rpc/metamed:default
disabled svc:/network/rpc/metamh:default
disabled svc:/network/rpc/nisplus:default
disabled svc:/network/rpc/ocfserv:default
disabled svc:/network/rpc/rex:default
disabled svc:/network/rpc/rstat:default
disabled svc:/network/rpc/rusers:default
online svc:/network/rpc/smserver:default
disabled svc:/network/rpc/spray:default
disabled svc:/network/rpc/wall:default
disabled svc:/network/security/kadmin:default
disabled svc:/network/security/krb5_prop:default
disabled svc:/network/security/krb5kdc:default
online svc:/network/security/ktkt_warn:default
online svc:/network/service:default
disabled svc:/network/shell:default
disabled svc:/network/shell:kshell
disabled svc:/network/slp:default
disabled svc:/network/smtp:sendmail
online svc:/network/ssh:default
disabled svc:/network/talk:default
disabled svc:/network/telnet:default
disabled svc:/network/time:dgram
disabled svc:/network/time:stream
disabled svc:/network/tname:default
disabled svc:/network/uucp:default
online svc:/platform/i86pc/eeprom:default
online svc:/platform/i86pc/kdmconfig:default
disabled svc:/system/auditd:default
online svc:/system/basicreg:default
online svc:/system/boot-archive:default
disabled svc:/system/consadm:default
online svc:/system/console-login:default
online svc:/system/coreadm:default
online svc:/system/cron:default
online svc:/system/cryptosvc:default
online svc:/system/device/fc-fabric:default
online svc:/system/device/local:default
online svc:/system/dumpadm:default
online svc:/system/filesystem/autofs:default
online svc:/system/filesystem/local:default
online svc:/system/filesystem/minimal:default
online svc:/system/filesystem/root:default
online svc:/system/filesystem/usr:default
online svc:/system/filesystem/volfs:default
online svc:/system/fmd:default
online svc:/system/identity:domain
online svc:/system/identity:node
online svc:/system/installupdates:default
online svc:/system/keymap:default
online svc:/system/manifest-import:default
disabled svc:/system/mdmonitor:default
disabled svc:/system/metainit:default
online svc:/system/name-service-cache:default
online svc:/system/picl:default
disabled svc:/system/pools/dynamic:default
online svc:/system/pools:default
disabled svc:/system/power:default
disabled svc:/system/rcap:default
online svc:/system/rmtmpfiles:default
online svc:/system/sac:default
disabled svc:/system/sar:default
online svc:/system/scheduler:default
online svc:/system/svc/restarter:default
online svc:/system/sysevent:default
online svc:/system/sysidtool:net
online svc:/system/sysidtool:system
online svc:/system/system-log:default
online svc:/system/utmp:default
disabled svc:/system/webconsole:console
online svc:/system/zones:default

-------------------------------

2007年8月1日水曜日

Under Deconstruction

最近、いろいろ考えることが多いが、
いろんなことが理解できていない。

毎週火曜日にプレゼンテーション講座を大学に受けに行っている。
例えば、箇条書きを指し示すときには「Point、Look、Talk」が良いという。

 Point、これからお話しする点を指す
 Look、話をする人をみる
 Talk、話をする

この順で箇条書きを順繰りに見せていくとよい。

頭ではわかっているのだが、一つ一つの意味について何故そうするのか? と考えると、理由がよくわかっていない。

上の例は一つのフレームワークだから、フレームワーク全体を覚えてしまえばいいというのもありかもしれない。フレームワークはそういうものだし、あまり考えなくていいからフレームワークがあるのだと言うこともよくわかる。

でもフレームワークはそれを考えた人の経験に基づく思考の結果であり、裏には何故その人がそのように考えたかの「理由」が必ずある。最近はこの「理由」がわかりたい。この「理由」がわかれば、そこから自分で再構築できる気がする。

多分、自分の理解の仕方は、そういう方法なんだと最近気づいた。
つくづく面倒な理解の仕方だと思う。

Deconrtractionの時期が3、4ヶ月に1度やってくる。またそういう時期がやってきた。

2007年7月29日日曜日

髪の毛の話

今日、床屋に行きました。

カットの途中で床屋さんに聞いたのですが、髪の汚れは湯せんで80%は落ちるので、汚れだけを考えるとシャンプーは必要ないそうです。シャンプーを何で使うかというと、残りの20%を落とすことと、香りなどの付加価値をつけることで、洗浄という意味ではあまり大きな役割は果たしていないらしい。

もう一つ、頭全体をのことを考えると、毛根の汚れを如何に取り除くかが最も重要だそうです。毛根が不潔だと、ふけが出やすく臭いもするし、毛根が死にやすい。禿まっしぐらです。
シャンプーを使っても残念ながら毛根の汚れはとれないので、シャンプーは根本的には髪の毛の維持には役に立っていないらしい。

私はどうしているか。月に1度、床屋で毛根洗浄をしております。

2007年7月28日土曜日

お化けや幽霊はこの世に存在しないといえるか?

突然ですが、オカルトの話です。
大学で化学の研究をして、サイエンスの一端を担った私ですが、
実はお化けや幽霊は、間違えなくいると思っています。

理由は1つ。科学で否定の証明は出来ないからです。
「科学的にお化けや幽霊がいないと証明できる」と某w大学のO教授は言いますが、科学の証明ほど怪しいものはありません。なぜなら、科学の証明とは「人もしくは人が間違えないと信頼する機械によって観測されたデータに基づく推論」でしかないのです。
つまり人や機械の分解能を超えた世界は間違えなく存在するのですが、科学的にはその世界は見ることが出来ないので、存在しないことになります。まさに「無の世界」です。「無の世界」としか認識出来ない場では、何も感じることが出来ないので、否定・肯定の概念すら無いわけです。
実例を挙げます。空に星が見えます。基本的には昔から星の状態は変わっていません。古代の人たちは裸眼で星を見て星座を作りました。衛星も月くらいは見えました。中世になるとガリレオが望遠鏡を発明し、より細かい木星・土星の衛星を発見しました。衛星を発見できなかった古代の人よりも、発見できたガリレオの方が賢くなったのかというと、そういうわけでなく望遠鏡という道具により分解能の高くなったので、見えないものが見えるようになったのです(ガリレオが賢くないということではありません)。現在では望遠鏡の性能はさらに向上し、銀河系外のものも見えます。銀河系外はガリレオには見えませんでした。望遠鏡の性能向上により、昔は何も見えない「無の世界」が、科学の土俵で裁くことが出来るようになったのです。ガリレオより優れているなどとは、口が裂けてもいえませんね。

お化けと幽霊の話に戻ります。私も人間の目を持っているので、普通にはお化けも幽霊も見えません。そこで、お化けも幽霊も絶対にいる、という仮定から考えてみます。存在するには何らかの形状が必要になり、これは(嘘か本当かわかりませんが)、人間や動物が何らかの形で接触したときの行動や体験談から推測をしていきいます。

曰く、
 1.「霊的な何かを感じた」
 2.「時々見える」
 3.「写真などの非人間的な目にも写る」
 4.「ものを透過する」
 5.「圧迫を感じる」
 6.「霊傷のような傷が出来た」などなど

ここからお化けや幽霊の特徴を考えてみると、「電磁波もしくは電磁波を媒体としたエネルギー体」ではないかと考えます。わかりやすく言うとラジオ波の化け物みたいなものです。1から検証していきます。
1からは普通には見えないのだから「人や機械では認識できないものである」ようです。今の機械の分解能の上をゆく波数や振動数を持っていたら、それはもう科学の範疇外になるわけです。だから見えないのが当たり前です。
2、3は、お化け・幽霊の状態や見る人によっては見えることがあります。1であげた電磁波であるとすると、お化け・幽霊の体調が悪いために波数や振動数が変わってしまうことも考えれるでしょう。我々人間の体調が悪いときに体温が上がるように。波数や振動数が変化し人の視覚でとらえられる領域に近づいてしまうと、人によっては見えたり感じたりすることもあります。我々はそういう人のことを「霊感の強い人」と呼んでいるのです。動物の方が感じることが出来る周波数は広域です。犬や鳥が霊を感じやすいのでは?という仮説も説明することが出来ます。
4について。ラジオは部屋の中でも聞くことが出来ます。1.4GHz帯の周波数を持つ携帯電話も部屋の中で聞くことが出来ます。ラジオ波よりもさらに波数が大きいもの、もしくは振動数が高い電磁波であれば物体を透過することも容易です。
5について。一般に人が「何か感じる」時は外的な要因によるものではなく、脳の中に発生する「何かを感じる仮想的な体験」を感じるといわれています。例えば、大人になってから右足の一部が無くなった人は、まだ足があった頃の記憶に基づいて、無いはずの右足の先に痛みを感じることがあります。これを「幻肢痛」といわれています。人間の脳内で何が起きているかは、今後の科学の研究対象となりますが、お化けや幽霊がエネルギー体であると仮定した場合、脳内に直接的に影響を与える何かがあっても、決しておかしくありません。幻覚、幻聴なども、同じような理由で説明できます。
6について。人の体は多くの部分が水により構成されています。すこし脱線します。水は水素と酸素から成り立つ分子量18と非常に軽いにも関わらず気体にならず、液体を保っています。酸素より重い硫黄で形成される硫化水素は、水よりずっと蒸発しやすく常温では気体です。従って水は化学の世界ではかなり奇特な物質であり、その挙動もよくわかっていません。例えば、お酒は基本的に舌に刺激があります。これはアルコールと舌の水の反応によるものです。ワインは熟成するに従ってまろやかになってきます。年単位の保管により、水とアルコールの水素結合が進むことにより飲んだときにアルコールが舌に与える影響が少なくなり、刺激がまろやかになると言われていますが、化学では証明されていません。そもそも年単位の水の挙動を調査するような奇特な科学者はいないのです。よって、これだけよく見る物質であるにもかかわらず、水の挙動はよくわかっていないのです。
話を戻します。その挙動がよくわかっていない水と、化学の分解能を超えた電磁波が巡り会ったときに、人の体で何が起こるか。想像できません。傷程度で収まるのは、幸せなことかもしれません。

まとめると、お化けや幽霊は存在して、その正体は「電磁波もしくは電磁波を媒体としたエネルギー体」であるということです。
おまえの論は怪しいって?怪しいです。でも否定することは出来ないのです。正否は今後科学の分解能があがることにより明らかになっていくでしょう。

最後の締めにONEPEACEでみたウィリー=ガロン(物理学者)の「人が空想できるすべての出来事は、起こりうる現実である」で閉めようかと思ったけど、ウィリー=ガロンって架空の人物なの?????マジで。。締めが。。。
酷いよ尾田栄一郎。。。。

ま、発想は自由なのは確かなんだけどね。。。(う、苦しい)

2007年7月24日火曜日

httpdで2GBを超えるファイルのリクエストに対応する方法

Apacheはデフォルトでは32bitでインストールされるため、
2GBを超えるファイルのリクエストに対しては、以下のようなエラーを出力する。


[Tue Jul 24 09:44:16 2007] [error] [client 127.0.0.1] (79)Value too large for defined data type: access to /flash/u10_sol9_1.flar failed


[解決方法]
コンパイルをする際に、configureの前に、CFLAGSを設定し、
64bitソースを使用する。


CFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" \
"./configure" \
"--prefix=/usr/local/apache2" \
"--enable-mods-shared=all" \
"--enable-modules=most" \
"--enable-rewrite" \
"--enable-ssl" \
"--enable-deflate"

※--prefix以降は環境に応じて変更する

2007年7月22日日曜日

中国からの食料の輸入について

中国産の食料に不安があるとして、「食の安全」に疑問視されている。

しかし、当事者である、中国・日本の食料担当者はいくら対策をしても
いっこうに改善が図られることはないだろう。

なぜなら、彼らは自分たちの「職の安全」について対策しかうっていないのだから。

2007年7月21日土曜日

[IT]Solaris10でgcc-4.2をコンパイルしてみよう

Solaris10環境で、GNU gcc(4.2.0)とmake(3.8.1)をソースから導入する手順
すこし複雑だが、以下の手順で行う

1.パッケージインストール(gcc、liniconv、tar)
 ソースコンパイルために必須
   gcc、libiconv
 gcc-4.2ソースの展開のため必要
   tar(GNU tarが必要)
 
2.関係ツールインストール
 ・make、binutils、libiconvをソースからインストール
 ・libiconvはmakeが終了時にパッケージを削除する

3.gccをソースからインストール
 ・make bootstrapでひたすら時間がかかります
 ・meke終了時にgccのパッケージを削除する

4.tarをソースからインストール
 ・make終了時にtarのパッケージを削除する



====手順
1.パッケージインストール

--gcc-3.4.6-sol10-x86-local(パッケージ)
> gunzip gcc-3.4.6-sol10-x86-local.gz
> su
# pkgadd -d gcc-3.4.6-sol10-x86-local

--libiconv(パッケージ)
> gunzip libiconv-1.11-sol10-x86-local.gz
> su
# pkgadd -d libiconv-1.11-sol10-x86-local

--tar-1.18(パッケージ)
> gunzip tar-1.18-sol10-x86-local.gz
> su
# pkgadd -d tar-1.18-sol10-x86-local

# exit
> source ~/.tcshrc
 ーーPATHに/usr/local/binを設定し直さないと、インストールが反映されない



2.関係ツールインストール


-- make-3.81
> gzip -cd make-3.81.tar.gz | tar xvf -
> cd make-3.81
> ./configure --program-prefix=g
> make
> su
# /usr/ccs/bin/make install
# cd /usr/local/bin
# ln -s gmake make
# exit
> source ~/.tcshrc

--binutils-2.14
> gzip -cd binutils-2.17.tar.gz | tar xvf -
> cd binutils-2.17
> ./configure
> make
# su
# PATH=/usr/local/bin:/bin:/usr/bin:/usr/ccs/bin;export PATH
# LD_LIBRARY_PATH=/usr/local/lib:/lib:/usr/lib;export LD_LIBRARY_PATH
# make install

# exit
> source ~/.tcshrc

-- libiconv-1.11.tar.gz(パッケージも削除)
> gzip -cd libiconv-1.11.tar.gz | tar xvf -
> cd libiconv-1.11
> ./configure --prefix=/usr/local
> make
> su

# pkgrm SMCliconv

# PATH=/usr/local/bin:/bin:/usr/bin:/usr/ccs/bin;export PATH
# LD_LIBRARY_PATH=/usr/local/lib:/lib:/usr/lib;export LD_LIBRARY_PATH

# make install
# exit
> source ~/.tcshrc



3.gccをソースからインストール


--gcc-4.2.0-20070501.tar.gz
> setenv PATH /usr/local/bin:/bin:/usr/bin:/usr/ccs/bin
> setenv LD_LIBRARY_PATH /usr/local/lib:/lib:/usr/lib

> gzip -cd gcc-4.2.0-20070501.tar.gz | tar xvf -
> cd gcc-4.2.0-20070501
> mkdir buildgcc
> cd buildgcc

> ../configure ¥
--disable-nls ¥
--with-gnu-ld --with-ld=/usr/local/bin/ld ¥
--with-gnu-as --with-as=/usr/local/bin/as ¥
--disable-multilib --enable-languages=c,c++,objc

> make CFLAGS='-O' LIBCFLAGS='-g -O2' LIBCXXFLAGS='-g -O2 -fno-implicit-templates' bootstrap
>su
# PATH=/usr/local/bin:/bin:/usr/bin:/usr/ccs/bin;export PATH
# LD_LIBRARY_PATH=/usr/local/lib:/lib:/usr/lib;export LD_LIBRARY_PATH

# make install
# /usr/sbin/pkgrm SMCgcc

もう一度(今度はsudoはだめ)
# make install

# exit
> source ~/.tcshrc


4.tarをソースからインストール

--tar-1.18
> setenv PATH /usr/sfw/bin:/usr/local/bin:/bin:/usr/bin:/usr/ccs/bin
> setenv LD_LIBRARY_PATH /usr/local/lib:/lib:/usr/lib
> gzip -cd tar-1.18.tar.gz | tar xvf -
> cd tar-1.18
> ./configure
> make
> su
# PATH=/usr/local/bin:/bin:/usr/bin:/usr/ccs/bin;export PATH
# LD_LIBRARY_PATH=/usr/local/lib:/lib:/usr/lib;export LD_LIBRARY_PATH

# /usr/sbin/pkgrm SUNWgtar

# make install


===感想
Solarisもgccのバージョン4パッケージを作ってほしいなーと思う。
誰かパッケージ化してくれないかなー。

2007年7月18日水曜日

プレゼンは難しいなーと感じたこと

昨日、今日と技術研修に行ってきたが、講師がいまいちの方だった。

 ・配った本をそのまま読む
 ・「あとはー、」「〜でしょうか」が口癖
 ・どこの話だか説明しないで話し始める
 ・機能的は話しかしない(その機能のアウトプットは何か?の視点がない)

と厳しく書いてみたが、最近、自分自身でもプレゼンの勉強をしているので、これを修正していくのが如何に難しいかがよくわかる。前半2つは、心がけ次第で直すのは結構簡単ではある。

しかし、後半2つは難しい。
「どこの話だか説明しないで話し始める」は自分は何の話をするのかわかっているが、聞く人はわかっていない。このギャップが大きいほど聞いていてわからない話になってしまう。でも、話し手には、「聞き手がわかっていないこと」がわからない。これは永遠の課題です。
「機能的は話しかしない」は視野・視点の問題である。今回の場合は、話し手は機能的な視点、聞き手はその機能のアウトプット視点だったので、プレゼン的には齟齬が発生する。普通は話し手が視点を修正しながら話すのですが。

前の日にプレゼン講習を受けてきたので、自分自身を投影したある意味反面教師になってくれた講師に感謝(その点についてだけは、講義だけを見ると「金返せ!」)

2007年7月15日日曜日

成果主義ってなんだか説明できますか?

突然ですが、「成果主義ってなんですか?」と聞かれて正しく説明できる人はどれくらいいるでしょうか?という疑問を持ってしまったりする。白状をすると私も半年前までは完全なる勘違いをしていた。成果主義で有名(悪名?)になった某F社に昔つとめていたが、あそこで言っている「成果主義」って、多種異なる主義を寄せ集めた呉越同船な趣を今更になり感じている。

====評価システムとは?
成果主義は企業(組織)において人の評価をする仕組みである。人材の評価の目的は、業務の査定およびフィードバックを行い、このある意味の利益操縦ににより、組織における望ましい思想・行動を推奨することである。最終的な目的は、企業(組織)がもつ理念・価値観・戦略に、個人のモチベーションをあわせていくことになる。

====評価システムの種類
現在、評価システムは大きく分けて3つの方法がある。「能力主義」「成果主義」「実績主義」である。

・能力主義
のっけから質問ですが「能力」とはなにか?「職務を遂行するために必要、有用となる知識・技術・姿勢」と定義されるようである。
日本で昔から用いられてきた「年功序列」は一応このシステムに分類されることになる。ただし前提があり、「年齢や経験により永続的に人の能力が高まっていく」という思想に基づいている。確かに1年目の新人は5年目、10年目のベテランに比べると良い仕事はできないでしょうから、このあたりでは間違いはない。しかし15年目と20年目くらいになると、普通はそこに1年目と5年目ほどに大きな差を見いだすことは難しい。むしろ個人の資質の差の方が大きい。このあたりが年功序列の不公平感があるようである。

その不公平感をなくそうとするために、「資格」「検定」というものを用いて公平に「能力」を査定しようとしだした。資格報酬や企業内の検定である「職級」などである。これに問題があり、同じ「資格」の中でもその能力の差は大きいし、実際問題として「資格」の有無が「能力」の有無につながるともいいきれない」。人の目を介して評価する「職級」ならばと思うが、評価する人間により「能力」の差も出るし、評価の目が本当の意味での「客観」であることは少ないし難しい。これはある意味、評価する人間に対して全知全能の神的な能力を求めて鋳る側面もあるようである。

・成果主義・実績主義
この2つは外面似ているが、根本にある思想は全く違ったものである。しかし別々に説明することは難しいので、1つにまとめて説明をする。
簡単に差を説明する。実績とは業務遂行の結果であり「何をやったか(what)」である。一方、成果は+アルファ方法論も加わり「何をどうやったか(what+how)である。
例えば実績主義の場合、出来高・売上高のみで評価をする。客観的・定量的な物差しのみで結果のみで評価を行う非常にドライな制度である。実績を上げるための手段や経路は全く問わない、ある意味では公平性が非常に高い。しかし自分には全く関係のない要素(天災や為替変動、社会制度の変化など)により結果がでなかった場合、これは全く考慮されない。「実績でなかったんだよね。じゃあ、評価できないね」で終わりである。

成果主義では「実績遂行の過程と結果」が評価の対象となる。結果のみならず、そこに至る方法、環境、思考、倫理性、社会性までも考慮の対象となる。また企業のもつ理念・価値観・戦略にあった行動であるかということも評価の対象となりうる。例えば部下を馬車馬のように働かせて、営業成績を上げた管理職が評価されるか?実績主義であれば評価される。これは実績を上げているからである。成果主義の場合はどうか?非常に難しい。なぜならこの上司の行動は倫理性、社会性に反しているからであり、部下の働く環境や思考することも犯していると判断されることもあるからである。

成果主義が運営が非常に難しいと思う。なぜなら評価の対象に客観的な要素が多いからである。実績主義であれば、数字を見て一定の計算式ではじき出される結果をもとに評価をすればいいので簡単である。ある意味で小学生の頭脳でもできる。成果主義の場合、「環境、思考、倫理性、社会性」も評価の対象となる。評価者には、その個人の「経験」から被評価者の行った「経験」を類推し、これを否定もせず肯定もしない客観的な視点に基づく評価とフィードバックをする必要がある。つまりこの評価を行うためにはある意味の技能にとどまらない全人格的は能力が求められる。実際に評価を行う課長・部長といった中間管理職に大きな能力が必要となる。仮にここに能力がないと、恣意と偏見に基づく極めて主観的な評価しか生み出すことができず、不公平感と無気力を発生させ、組織は退廃する。

====私的感情を乗せてみる
昔つとめていた某大手F社の成果主義について考えてみる。
「成果主義」といって銘打っていたが、大きな問題がいくつかあった。簡単列記する。

・実は「実績主義」だった?
成果が上がらないとその点については評価されなかった。その方法論について評価されることは皆無だった。でも「会社の方針に基づいた行動」とかも評価対象にあったので、一応「成果主義」だったようである。いずれにしてもチャンポンである。

・実は「能力主義」だった?
成果主義による評価はどのように給与に反映されているか?評価は職位の昇級に反映されており、給与を決定している基本ロジックは職級により行われている。
ここまできて思う疑問は、職位ってひとつの「資格」ではないだろうか?ということである。職位が資格だとするならば、世間で行われている成果主義というものは、その実態は能力主義であり、「成果主義」は評価の手段として用いているようである。なので実際のところは年功序列的な要素が強く、しかも評価の方法が恣意的要素が大きくなった、「恣意的年功序列」な人事制度になってしまったようである。こういうのを合成の誤謬っていうんだろうなと思う。

・評価に恣意的要素が多かった
個人的な好き好み、残業時間なども評価対象であったようである。非公式ではあるが「残業しないから評価しない」といわれたこともある。会社の方針が残業しろだったのだとすれば、成果主義に基づく正しい評価だったが、説明がなかったので当時はそんなこと想像をしたことはないですが。もっとも、発言している側も、そんなことは意識していなかった、意識することすら出来なかったと思われる。

・評価は実績/能力ではかられていた
評価の仕方は、各期のはじめに自分の目標をたて、そこに向けて努力をする。期終了の時点で目標に達しているかの達成度で評価をされる。ここにおかしな点がある。例えば期初にAさんが50、Bさんが200の目標を立てる。成果はA:100、B:150だったとすると、Bの方が成果を上げているはずなのに、Aの方が高い評価を得られるのである。つまり評価に用いられる成果は、成果/能力ということになり、自分自身で能力開発をすればするほど評価が下がっていくという現象すらも起こりうるのである。で、何が起きるか。目標を低く設定し、適当に仕事をすれば目標を達成し高評価を得るという人間が増えるのである。目標に達していても、決めの一言「おまえだったらもっとできるだろ」といわれると、呆れて口が閉まらなくなる。

・目標を期末に立てる
普通の感覚では意味がわからないです。制度がスケジュール的にもうまく回っていないのである。
上期(4ー9月)の目標を9月25日くらいに書いて、10月に評価をすると言う出来レースが繰り広げられるのである。従業員は半年の間にやってきた成果しか目標に書かないので、基本的にはみんな成果達成である。で、何を持って評価に差をつけるか?それは恣意と偏見だけである。

・評価がパイ取りゲーム
部門に与えられる評価が割合で決められてる。部員全員がめざましい成果を出したとしても、最高評価から最低評価までつけなくてはいけないのである。また中間評価の割合が多いため、上位30%の人と、下位20%の人が同じ評価になったりする。上位30%に入れる人は、相当手を抜いても下位20%には入れるので、手を抜く人も多いわけです。

・評価をすべき中間管理職の教育が間に合っていない
前述したように成果主義を運営するには中間管理職の能力が問われる。しかしF社では中間管理職になるためのパスは一般従業員として評価されたものであり、中間管理職としての長期的な視点に基づく人材育成や評価は全く皆無であった。一部の人はまっとうな評価を下すことはできるが、これは自努力によるところが大きかったようである。この状態で本来あるべき成果主義を運営することは非常に無理がある。

・中間管理職が降格しない
上記のような中間管理職にそぐわない人たちが評価を行ってしまっていたのである。彼らの多くは一般社員としては非常に能力が高かったわけであるから、仕事を戻してあげることが本人のため、彼らから評価を受ける従業員の双方のためになっただろうに。

2007年7月12日木曜日

ZFSでRAIDZを作成する

RAID Zで作成する方法。
RAIDZはRAID5に近い方法で、パリティをつくりデバイスの冗長性を担保する。
ソフトウェアRAID5は書き込みが遅く悪名をとどろかしたが、RAIDZの性能は比較的良いようである。


後で拡張できるかを確かめたいので、とりあえず1つディスクを余らせて作ってみる。コマンド1つでできて簡単だ。

 # zpool create zfsz raidz c0t0d0s0 c0t0d0s1 c0t0d0s3 c0t0d0s4 c0t0d0s5

 ----確認
 # zpool list
 NAME SIZE USED AVAIL CAP HEALTH ALTROOT
 zfsz 24.9G 87K 24.9G 0% ONLINE -

  →5GB×5で25GBになっている。パリティ的なものはないのかな?

 # zpool status
  pool: zfsz
  state: ONLINE
  scrub: none requested
 config:
 
  NAME STATE READ WRITE CKSUM
  zfsz ONLINE 0 0 0
  raidz1 ONLINE 0 0 0
  c0t0d0s0 ONLINE 0 0 0
  c0t0d0s1 ONLINE 0 0 0
  c0t0d0s3 ONLINE 0 0 0
  c0t0d0s4 ONLINE 0 0 0
  c0t0d0s5 ONLINE 0 0 0
 
 errors: No known data errors

→5GBが5本組み込まれている。


 ----とりあえずファイル作成
 # timex mkfile 1g hogehoge
 
 real 2:06.93
 user 0.34
 sys 16.57
 # zpool list
 NAME SIZE USED AVAIL CAP HEALTH ALTROOT
 zfsz 24.9G 1.25G 23.6G 5% ONLINE -


→1GBを作ったのに、1.25GB消費したことになっている。パリティ分余慶に消費したということみたい。

 # df -h /zfsz
 Filesystem size used avail capacity Mounted on
 zfsz 20G 1023M 19G 6% /zfsz


→良くみるとサイズは20GBになっている。zpoolとdfではサイズの考え方が違っているようだ。どっちでもいいがわかりにくい。


 ---- ディスクをとりあえず追加してみる
 # zpool add -f zfsz c0t0d0s6
 # zpool list
 NAME SIZE USED AVAIL CAP HEALTH ALTROOT
 zfsz 29.8G 1.25G 28.6G 4% ONLINE -
 > sudo zpool status
  pool: zfsz
  state: ONLINE
  scrub: none requested
 config:
 
  NAME STATE READ WRITE CKSUM
  zfsz ONLINE 0 0 0
  raidz1 ONLINE 0 0 0
  c0t0d0s0 ONLINE 0 0 0
  c0t0d0s1 ONLINE 0 0 0
  c0t0d0s3 ONLINE 0 0 0
  c0t0d0s4 ONLINE 0 0 0
  c0t0d0s5 ONLINE 0 0 0
  c0t0d0s6 ONLINE 0 0 0
 
 errors: No known data errors
 # df -h /zfsz
 Filesystem size used avail capacity Mounted on
 zfsz 24G 1023M 23G 5% /zfsz


→zpool statusを見る限り、変な形で追加されているようにもみえる。
zpool listでは使用量が変化していない。RAIDZにもし組み込まれているのであれば、パリティ率も変化するのでサイズも変化しているが、ここに変化は見られない。やっぱりRAIDZ+コンカチ見たいになっているようだ。。。。失敗!!
とりあえず、取り除いて、作り直す。


 # zpool remove zfsz c0t0d0s6
 cannot remove c0t0d0s6: only hot spares can be removed

  →removeできないとおっしゃるようで。

 # zpool offline zfsz c0t0d0s6
 cannot offline c0t0d0s6: no valid replicas


→offlineもききません。removeもofflineも聞かないとなると、戻すコマンドはない。
この辺はまづいつくりですね。もう一度作り直し。。。


 # zpool destroy zfsz

 ---- 再作成、今度はaddの後にraidzを指定する
 # zpool create zfsz raidz c0t0d0s0 c0t0d0s1 c0t0d0s3 c0t0d0s4 c0t0d0s5
 # zpool add zfsz raidz c0t0d0s6
 invalid vdev specification: raidz requires at least 2 devices

→addするには2つ以上のデバイスが必要らしい。もう一度やり直し。

 # zpool destroy zfsz

 ---- 今度は追加デバイスを2個用意する
 # zpool create zfsz raidz c0t0d0s0 c0t0d0s1 c0t0d0s3 c0t0d0s4
 # zpool add -f zfsz raidz c0t0d0s5 c0t0d0s6
 ---- 確認
 # zpool list
 NAME SIZE USED AVAIL CAP HEALTH ALTROOT
 zfsz 29.8G 287K 29.8G 0% ONLINE -

 # zpool status
  pool: zfsz
  state: ONLINE
  scrub: none requested
 config:
 
  NAME STATE READ WRITE CKSUM
  zfsz ONLINE 0 0 0
  raidz1 ONLINE 0 0 0
  c0t0d0s0 ONLINE 0 0 0
  c0t0d0s1 ONLINE 0 0 0
  c0t0d0s3 ONLINE 0 0 0
  c0t0d0s4 ONLINE 0 0 0
  raidz1 ONLINE 0 0 0
  c0t0d0s5 ONLINE 0 0 0
  c0t0d0s6 ONLINE 0 0 0
 
 errors: No known data errors

→よくわからないことになっている。とりあえず書き込みテストしてみる。

 # timex mkfile 1g hogehoge
 
 real 2:31.86
 user 0.34
 sys 16.29

→なんか少し遅い。。

 # zpool list
 NAME SIZE USED AVAIL CAP HEALTH ALTROOT
 zfsz 29.8G 1.50G 28.3G 5% ONLINE -

→1.5GB使用ということは1.5倍なので、3本RAID5みたいなことになっている。。

 # df -h /zfsz
 Filesystem size used avail capacity Mounted on
 zfsz 20G 1.0G 19G 6% /zfsz

→使用できる容量が20GBということは4本分。最初の4本RAIDZで3本分、次の2本RAIDZで1本分の計4本ということのようだ。つまり、RAIDZのストライピングみたいになっているようだ。


 ==== きれいな形にするので、もう一回作り直し
 # zpool destroy zfsz
 # zpool create zfsz raidz c0t0d0s0 c0t0d0s1 c0t0d0s3 c0t0d0s4 c0t0d0s5 c0t0d0s6
 ---- 確認
 # zpool list
 NAME SIZE USED AVAIL CAP HEALTH ALTROOT
 zfsz 29.8G 85K 29.7G 0% ONLINE -
 # zpool status
  pool: zfsz
  state: ONLINE
  scrub: none requested
 config:
 
  NAME STATE READ WRITE CKSUM
  zfsz ONLINE 0 0 0
  raidz1 ONLINE 0 0 0
  c0t0d0s0 ONLINE 0 0 0
  c0t0d0s1 ONLINE 0 0 0
  c0t0d0s3 ONLINE 0 0 0
  c0t0d0s4 ONLINE 0 0 0
  c0t0d0s5 ONLINE 0 0 0
  c0t0d0s6 ONLINE 0 0 0
 
 errors: No known data errors

→できた。でもオンラインでの追加は難しいようだ

ZFSでミラーデバイスを作ってみる

ZFSでミラーデバイスを作成する方法。

1.単独ディスク・スライスからZFSを作成する


 ---- zfsという名前のファイルシステムを作成(-fは強制)
 # zpool create -f zfs c0t0d0s0
 ---- 状況を確認
 # zpool list
 NAME SIZE USED AVAIL CAP HEALTH ALTROOT
 zfs 4.97G 51.5K 4.97G 0% ONLINE -


単独のディスク・スライスからZFSを作成するのはコマンド1つで終わりである。
/zfs をファイルシステムをしてOSから使用することができる。


2.2つのディスク・スライスからZFSを作成する


 ---- mirror属性のzmirrorというファイルシステムを作成
 # zpool create zmirror mirror c0t0d0s0 c0t0d0s1
 ---- 状況確認
 # zpool list
 NAME SIZE USED AVAIL CAP HEALTH ALTROOT
 zfs 4.97G 51.5K 4.97G 0% ONLINE -

 # sudo zpool status
  pool: zmirror
  state: ONLINE
  scrub: none requested
 config:
 
  NAME STATE READ WRITE CKSUM
  zmirror ONLINE 0 0 0
  mirror ONLINE 0 0 0
  c0t0d0s0 ONLINE 0 0 0
  c0t0d0s1 ONLINE 0 0 0
 
 errors: No known data errors

→c0t0d0s0 とc0t0d0s1 のミラーが作成されている



 ---- とりあえず1GB ファイルを作って見た
 # timex mkfile 1g hogehoge
 
 real 1:52.57
 user 0.35
 sys 17.02


→約2分、CPUは17秒しか働いていないです。


 ====ミラーじゃないデバイスにattachしてミラーディスクにしてみる
 ---- zfsという名前のファイルシステム
 # zpool create -f zfs c0t0d0s0
 # zpool list
 NAME SIZE USED AVAIL CAP HEALTH ALTROOT
 zfs 4.97G 51.5K 4.97G 0% ONLINE -
 ---- zfsにc0t0d0s4をattachしてミラーデバイスを作成
 # zpool attach zfs c0t0d0s0 c0t0d0s4
 ---- 確認
 # zpool list
 NAME SIZE USED AVAIL CAP HEALTH ALTROOT
 zfs 4.97G 156K 4.97G 0% ONLINE -
 # zpool status
  pool: zfs
  state: ONLINE
  scrub: resilver completed with 0 errors on Thu Jul 12 10:09:08 2007
 config:
 
  NAME STATE READ WRITE CKSUM
  zfs ONLINE 0 0 0
  mirror ONLINE 0 0 0
  c0t0d0s0 ONLINE 0 0 0
  c0t0d0s4 ONLINE 0 0 0
 
 errors: No known data errors

→ミラーになっている。。。ディスク容量も増えていないし。やったね。


3.上の状況からディスクを追加してみる
 ミラーになったZFSにデバイスを追加する。
 イメージとしてはRAID0にディスクを追加する感じ。コンカチでは無くてストライピングになっているようです。


 ----zfsにc0t0d0s1デバイスを追加する
 # zpool add -f zfs c0t0d0s1
 # zpool list
 NAME SIZE USED AVAIL CAP HEALTH ALTROOT
 zfs 9.94G 260K 9.94G 0% ONLINE -

  →お、倍になった。追加されたようだ。

 # zpool status
  pool: zfs
  state: ONLINE
  scrub: resilver completed with 0 errors on Thu Jul 12 10:09:08 2007
 config:
 
  NAME STATE READ WRITE CKSUM
  zfs ONLINE 0 0 0
  mirror ONLINE 0 0 0
  c0t0d0s0 ONLINE 0 0 0
  c0t0d0s4 ONLINE 0 0 0
  c0t0d0s1 ONLINE 0 0 0
 
 errors: No known data errors

→ミラーデバイス(5GB)に1つディスク(5GB)が追加されたような感じです。


 ---- もう1つ追加
 # zpool add zfs c0t0d0s3
 # zpool list
 NAME SIZE USED AVAIL CAP HEALTH ALTROOT
 zfs 14.9G 370K 14.9G 0% ONLINE -


→おー、3倍だー


 # zpool status
  pool: zfs
  state: ONLINE
  scrub: resilver completed with 0 errors on Thu Jul 12 10:09:08 2007
 config:
 
  NAME STATE READ WRITE CKSUM
  zfs ONLINE 0 0 0
   mirror ONLINE 0 0 0
  c0t0d0s0 ONLINE 0 0 0
  c0t0d0s4 ONLINE 0 0 0
  c0t0d0s1 ONLINE 0 0 0
  c0t0d0s3 ONLINE 0 0 0
 
 errors: No known data errors



 ---- 今追加したデバイスをミラー化する
 c0t0d0s1にc0t0d0s5をattach、c0t0d0s3にc0t0d0s6をattachする

 # zpool attach zfs c0t0d0s1 c0t0d0s5
 # zpool attach zfs c0t0d0s3 c0t0d0s6
 ---- 確認
 # zpool list
 NAME SIZE USED AVAIL CAP HEALTH ALTROOT
 zfs 14.9G 492K 14.9G 0% ONLINE -

→容量は変わっていない


 # zpool status
  pool: zfs
  state: ONLINE
  scrub: resilver completed with 0 errors on Thu Jul 12 10:18:02 2007
 config:
 
  NAME STATE READ WRITE CKSUM
  zfs ONLINE 0 0 0
  mirror ONLINE 0 0 0
  c0t0d0s0 ONLINE 0 0 0
  c0t0d0s4 ONLINE 0 0 0
  mirror ONLINE 0 0 0
  c0t0d0s1 ONLINE 0 0 0
  c0t0d0s5 ONLINE 0 0 0
  mirror ONLINE 0 0 0
  c0t0d0s3 ONLINE 0 0 0
  c0t0d0s6 ONLINE 0 0 0
 
 errors: No known data errors

→おー、、、ミラーになっているぜー。


 ---- ファイル作成してみる
 # timex mkfile 1g hogehoge
 
 real 2:00.66
 user 0.34
 sys 16.37

→約2分、あんまり変わらない


 # timex mkfile 2g hogehoge
 
 real 3:55.56
 user 0.69
 sys 32.71

→約4分、1GB書き込みに約2分程度


 ==== 実験終了に付き廃棄
 # zpool destroy -f zfs

ZFSの作成方法(まとめ)

ZFSはZettabyte File System(ゼタ・バイト・ファイル・システム)の略であり、SunMicrosystems がSolaris10上で実装している128ビットアドレスを持つファイルシステム & ディスク管理ツールであり、現在のUFSの構成と目されてます。
Sunが進めてきた割には、solaris10上ではbootデバイスで使用できていない。MacOX 10.5(通称 Leopard)でHFS+の後継として正式サポートを発表したので、MacOSXがbootデバイス第1号になりそうだ。
AppleもよくZFS採用するよなー。勇気に乾杯。

====構築方法をリンク
構築にはRoot権限が必要になります。
 1.ミラー+ストライピング
 2.RAIDZ

2007年7月10日火曜日

エコ燃料ってなに?

最近、バイオエタノールをはじめとする、「エコ燃料」なるものをよく耳にするが、本当に環境保全に役に立っているのであろうか。個人的には、逆に環境に優しくないのではないかと思う点もある。

疑問点について述べる前に「エコ燃料」について簡単に説明をする。エコ燃料はトウモロコシを主とする植物から作られるエタノールを主とする燃料の総称であり、植物として成長する期間は光合成により二酸化炭素を酸素にペイバックできるので環境に優しいということである。

一応筋は通っているが、疑問点を3点あげたい。

====第1の疑問点 光合成の量は本当に増えるのか?

「エコ燃料」がエコたる所以は燃料の原料が植物であり、光合成が行われるということである。「エコ燃料」を導入が環境に優しくなるためには、光合成の量が増えること、つまり植物の作付け面積が増えることが条件になる。ところが現状を見ると、どうだろうか。「エコ燃料」原料を確保するために、大豆畑をトウモロコシ畑に変更した。とか、これまで食用にしていたトウモロコシを「エコ燃料」の原料に回した。ということをよく聞く。この2例の場合、作付け面積は増えていないので、二酸化炭素の消費に影響を及ぼしていない。聞いているだけの情報なので、全体としてみると実際は作付け面積が増えているのかもしれないが、大々的に宣伝しているほどにはエコの役に立っていないのではないようである。

====第2の疑問点 食料を燃料にしてしまって影響はないですか?
トウモロコシは飼料として使用されている面もあるが、食料として重要な意味合いを持っている。さて日本が大々的に「エコ燃料」を推進した場合どうなるか。トウモロコシをそれほどに耕作していない日本としては原料は当然輸入することになる。「エコ燃料」の使用量が増えれば増えるほど、トウモロコシの輸入が増える訳で、2つのパターンが考えられる。

1つめのパターンが、アメリカからの輸入が増えるパターンである。アメリカが「エコ燃料」にノリノリなのはこの辺に理由がある。アメリカのトウモロコシは遺伝子組み換えの疑惑があるため、世界的にブランド力が落ちているのが現状である。そこで余ったトウモロコシを燃料に変えて日本に売りさばこうという寸法である。ついでに世界に対して「エコ国家」を宣伝をしたい、という下心が見え隠れしたりする。(そこに乗ってしまっている日本政府もなんだかなーと思ったりしますが)。

2つめのパターンが、途上国からの輸入が増えるパターンである。途上国ではトウモロコシは主に食料として育てられており、各国の食糧需給の重要な役割を担っている。ここで、お金持ちな日本が「エコ燃料」の原料としてトウモロコシをほしがったらどうなるであろうか。途上国の農家とすると、国内に食料として販売するよりも日本に燃料の原料として売る方が高く売れることが容易に想像つく。結果として、多くのトウモロコシが日本に流れるため、国内の食糧需給に大きな影響を与える可能性が大きい。

====第3の疑問点 石油の使用量は減るのか?
「エコ燃料」が環境の役に立つためには、現在の燃料つまり石油の消費量が減る必要がある。しかしながら「エコ燃料」の使用量が増えたとしても、石油の消費量はおそらく減らない。なぜなら石油には2つの役割があるからである。

石油の1つめの役割は、燃料の元である。石油は数種の有機化合物の混合物であり、重い方から重油、軽油、ジェット燃料、灯油、ナフサ、ガソリン、液化石油ガスに分類される。このうちナフサを除くものが燃料として扱われる。2つめの役割が石油化学製品の材料としてのナフサである。ナフサは主にエチレンとして精製され、PETやナイロンなどの各種石油化学製品の原料として用いられる。

確かに、「エコ燃料」の使用増加により「石油から生み出される燃料」の消費は減るかもしれない。しかし「石油から生み出されるナフサ」の消費量には全く影響を与えず、消費量も減ることはない。つまりどういうことか。石油化学製品の消費量が全く変化しないと仮定した場合、ナフサの消費量は減らないので石油の消費量も減らない。つなりナフサ精製のために「石油燃料」は作られてしまうわけで、何らかの形で燃やさなければいけない状況になってしまう。「エコ燃料」の使用量も増加しているので、結果として二酸化炭素の消費量が増えているという悪魔のような結果になってしまう。

勿論、石油化学製品の消費を選らす運動を推進したり、石油化学製品の原料をナフサから別のものにシフトしていくことで石油消費量の現象も期待できるが、その点について検討されることは少ない。


====
結論としては、日本における「エコ燃料」の流行は、アメリカに担がれている要素が非常に強いと思う。また「エコ燃料」を本当の意味のエコにつなげるためには、もっと検討すべきこと、勉強すべきことが多いと思う。特に石油化学製品については十分に考えて行かなくてはいけない。プラスチックのボールペンを持ち、合成繊維の服を着て、ナイロン製の鞄を持ち、「私は地球環境について活動をしています」という人間は、まさに眉唾ものである。

2007年7月9日月曜日

スキルとかキャリアとか

スキルとかキャリアとか言葉をよく聞くが、はたしてみんな同じ言葉の定義で使用しているだろうか?これは最近の大きな疑問です。「スキル」や「キャリア」をものすごく気軽に語る人がいるが、もっと重い言葉だし、長くつらいものだと思うのは自分だけであろうか?

例えば「○○はググったから大丈夫です」という話をよく聞くのであるが、(わからない人のためにgoogleという検索エンジンを使って検索するということです)こんな感じで得たものを「スキル」といってしまって良いのであろうか。

よくわからないので、言葉をとりあえず辞書で調べてみると(Yahoo辞書使用)。

・スキル
 手腕。技量。また、訓練によって得られる、特殊な技能や技術。
・キャリア
 職業・技能上の経験。経歴。「―を積む」「―不足」

辞書上の意味だと、訓練によって得られる手腕が「スキル」であり、「スキル」の積み重ねが「キャリア」というもののようです。やはり「スキル」を積むためには訓練が絶対条件であり、「ググり続けて」得られるのは「スキル」とは言わないようです。(ここで辞書もyahoo使って楽してないか?という人。その通りです。私は「スキル」という言葉で「スキル」を積むことはないので。う、苦しいかな)。当然、こういう「スキル」っぽいものを積み重ねても「キャリア」とは言わないわけで、「スキルアップ」も「キャリアプラン」もくそ食らえ状態になってしまうわけである。

では、おまえはどう思うんだ?と聞かれると、「論語」の一節をあげて説明します。

子曰、不憤不啓、不非不発。
挙一隅、不以三隅反、則不復也。
 (子日わく、憤せずんば啓せず、非せずんば発せず。
  一隅を挙げて、三隅を以て反らざれば、則ち復たせざるなり)


「憤せずんば啓せず」とは、理解できそうで理解できない状態にならなければ指導をしない。「非せずんば発せず」とは、言いたいことがいえそうでいえない状態でなければ、新たに何かを教えない、という意味である。この2つの文は思考と言語発言(=行動でいいのかな?)の違いはあるにしても、自分自身で学び、超えられそうで超えられない壁に行き着かない限り、何も教えないし、何かを教えても意味がないと言うことを言っている。
後半は比較的わかりやすいが、1つのことについて四角の一隅についての説明をした時、残り三隅について質問をしないのであれば、もう教えないよ。ということである。「もう教えない」とは孔子先生もなかなか厳しいですが、そういうものでしょう。新人に向けてこの接し方では難しいかもしれませんが、ある程度経験を積んだ人間であれば、学ぶ側もかくありたいものです。

つまり、学びについて言いたいことはということである。
 ・自分自身で壁にぶつかるまで考える、
  もしくは試してみなくてはいけない
 ・その状態になってようやく先人の教えが意味することになる
 ・1つ学びを得たら、それに関連することについて疑問を抱き、
  できればその場で質問、難しければ後からでも
  質問や意見の交換をするべきである

ちなみに「啓発」という言葉は、この故事からの出典であり、「啓発」って実は自分に対して非常に厳しいことなんですよね。ぎりぎりまで追い込むんですから。
「自己啓発」って言葉を簡単に言う人いるけど、学ぶひとと教える人を自分一人でできる人っているのかな?みんな軽く言ってるなーと感じる今日この頃です。

2007年7月8日日曜日

[Solaris10]Zoneの作成 その2

Solaris10上にZone作成の第2弾

前回までの作業
  1.Zoneの作成(その1)

今回の作業
  ゾーンクローン機能を使用した、ゾーンのコピー構築

ここではすでに作成されているZoneをコピーして新規のZoneを作成する
何がいいって、アプリケーションを作成後にコピーをすれば、構築コストが非常に安くなる。


というわけで、実作業開始

1.コピー元のゾーン構成情報の出力


 ----状態の確認
 # sudo zoneadm list -cv
 ID NAME STATUS PATH
 0 global running /
 5 dpico01az running /opt/zone/dpico01az
 7 wpico01az running /opt/zone/wpico01az
 
 ----構成情報のexport
 # sudo zonecfg -z wpico01az export -f /var/tmp/wpico01az.cfg
 ----確認
 # ls -l /var/tmp/wpico01az.cfg
 -rw-r--r-- 1 root root 382 7月 8 19:43 /var/tmp/wpico01az.cfg


2.構成情報をコピー先情報に修正

----さっき出力したファイルを修正する

 zonepathとIP Addressを変更する
 zonepath=/opt/zone/wpico02az ← wpico01az
 set address=192.168.10.111  ← 192.168.10.111



 # sudo vi /var/tmp/wpico01az.cfg
 create -b
 set zonepath=/opt/zone/wpico02az     #wpico01az から修正
 set autoboot=true
 set pool=pool_default
 add inherit-pkg-dir
 set dir=/lib
 end
 add inherit-pkg-dir
 set dir=/platform
 end
 add inherit-pkg-dir
 set dir=/sbin
 end
 add inherit-pkg-dir
 set dir=/usr
 end
 add net
 set address=192.168.10.111       # 192.168.10.110 から修正
 set physical=iprb0
 end
 add rctl
 set name=zone.cpu-shares
 add value (priv=privileged,limit=25,action=none)
 end


3.クローンゾーンの構成ファイルの作成

 ----編集した構成ファイルを用いて、クローンゾーンを作成する
 # sudo zonecfg -z wpico02az -f /var/tmp/wpico01az.cfg
 
 ----情報確認
 新しいzoneの構成情報のみ作成されている
 # sudo zoneadm list -cv
 ID NAME STATUS PATH
 0 global running /
 5 dpico01az running /opt/zone/dpico01az
 7 wpico01az running /opt/zone/wpico01az
 - wpico02az configured /opt/zone/wpico02az


4.クローンゾーンの作成

 ----クローン元の停止
 停止しないでコピーしようとすると、怒られます。
 # sudo zoneadm -z wpico01az halt
   haltは良くないって?めんどうだったんだよー。
 
 ----確認
 # sudo zoneadm list -cv
 ID NAME STATUS PATH
 0 global running /
 5 dpico01az running /opt/zone/dpico01az
 - wpico01az installed /opt/zone/wpico01az
 - wpico02az configured /opt/zone/wpico02az
 
 ----時間測定しながらコピー
 # sudo timex zoneadm -z wpico02az clone wpico01az
 
 Cloning zonepath /opt/zone/wpico01az...
 
 real 15:07.80
 user 9.08
 sys 1:49.97


15分かかっているけど、ほとんどがIO待ちに費やされている。CPUが実質動作しているのは2分程度。
ディスク1本で動かしているから仕方ないか。。

5.クローンゾーンの起動

 # sudo zoneadm -z wpico02az boot
 
 ----zloginで確認
 # sudo zlogin -C wpico02az
 [Connected to zone 'wpico02az' console]
 
 [NOTICE: Zone booting up]
 
 
 SunOS Release 5.10 Version Generic_118855-36 32-bit
 Copyright 1983-2006 Sun Microsystems, Inc. All rights reserved.
 Use is subject to license terms.
 Hostname: wpico02az
 
 [以下中略]
 
 # ifconfig -a
 lo0:3: flags=2001000849 mtu 8232 index 1
  inet 127.0.0.1 netmask ff000000
 iprb0:3: flags=1000843 mtu 1500 index 2
  inet 192.168.10.111 netmask ffffff00 broadcast 192.168.10.255
 
で、クローン完成。。。。
1時間前後で、全部できちゃった。

6.アプリケーションの確認
起動をしても、apacheが起動しない。原因は2つあった。

  • dfコマンドで確認すると、NFSマウントポイントがなかった
  • apacheのバーチャルホストのIPがクローン元のままだった



 ----vfstabの確認
 # cat /etc/vfstab

 #device device mount FS fsck mount mount
 #to mount to fsck point type pass at boot options
 #
 /proc - /proc proc - no -
 ctfs - /system/contract ctfs - no -
 objfs - /system/object objfs - no -
 fd - /dev/fd fd - no -
 swap - /tmp tmpfs - yes -

 
クローンインストールすると、初期状態に戻ってるんだ。NFSのマウント情報を追加


 ----apacheのエラーログを確認
 [Sun Jul 8 15:42:22 2007] [notice] Apache configured -- resuming normal operations
 [Sun Jul 8 15:42:22 2007] [notice] Accept mutex: fcntl (Default: fcntl)
 Processing config directory: /usr/local/apache/conf/conf.d/*.conf
 Processing config file: /usr/local/apache/conf/conf.d/rev.home.ne.jp.conf
 Processing config file: /usr/local/apache/conf/conf.d/saguradafamilia.dip.jp.conf
 [Sun Jul 8 20:20:52 2007] [error] VirtualHost 192.168.10.110:0 -- mixing * ports and non-* ports with a NameVirtualHost address is not supported, proceeding with undefined results
 [Sun Jul 8 20:20:52 2007] [crit] (126)Cannot assign requested address: make_sock: could not bind to address 192.168.10.110 port 80

バーチャルホストのIPも変更してOSを再起動
再起動したらapacheも起動した。

成功!!


まとめ
 ゾーンコピー後に修正が必要となるファイル
  ・/etc/vfstab
  ・アプリケーション固有の設定ファイル

2007年7月7日土曜日

年金問題により消えてしまった大事なもの

2007年5月に年金記録が5000万件消失しているという大事件が日本中を駆けめぐった。これは非常に重大な事件であり、これをいいとは口が裂けても言えない。しかし、あえて苦言を申し立てたい。

年金問題はこれから年金受給者となる団塊世代の感情を大きく揺さぶらした。「これまでせっかくまじめに年金を納めたのに、記録漏れが発生し、結果としてもらえないとは何事だ。けしからん。」ということである。これは否定をしない。しかし30代の人間から、あえて申し上げると「ニートや派遣問題はどこ行ってしまったの?」ということである。

年金問題はある意味で、後付で支払うこともできる(そうすればいいという意味ではない)リカバリー可能な問題である。しかしながら、「ニート・派遣問題」はすでに現実に起きていることであり、1日遅れればそれだけ手遅れになっていく「現実・将来の日本」を左右する問題である。100年先まで考え国家を経営していこうというのであれば、若者の問題をまず何とかするのが先決ではないだろうか。若者の収入が安定しない限り、今後の年金運営も安定することなどない。つまり年金運営とは若者運営に従属している問題であり、若者が幸せでなければこの先立ち枯れになることは火を見るより明らかである。

感情論からもいいたい。今の50、60代はどれだけ20、30代を搾取すれば気が済むのであろうか。80年代バブルを謳歌し、90年代に入ると、自分たちの行ってきた放漫な経営により日本経済のバブルは崩壊した。今の25〜35歳は就職時にもろに影響を受け、会社はその門戸を閉ざした。この時代に人事兼を握っていたのが、今の50代、60代である。会社という組織からあふれたものは、2つの方向に向かった。1つは経営者、1つはニートである。一見成功者と思われる経営者は(勿論きちんと商売されている人もいる)、経営者としての心を注ぎ込まれないまま、方法論的は部分で成功を収めた。そこをたたかれた。「これだからベンチャーは」と。それしか生きる道がなかったにもかかわらずである。ホリエモンがいい例である。逆に働く機会・気概を奪われた若者は自宅に引きこもりニートになった(少し強引にまとめすぎているが)。結果として、この世代を朝日新聞は「ロストジェネレーション」と称し、世間のお荷物的にな論調を強め、世間的にもそういう空気が強い。

そういう中で、ようやっと「ニート・派遣問題」に国が動きを見せてきて、20代、30代にも目が向き始めたと思った矢先に、「年金問題」である。この議論で大きな恩恵を被るのは、やはりターゲットは50代、60代、もしくはそれ以上である。感情的であることは百も承知で申し上げたい。「あなたたち団塊の世代は、我々の世代(ロストジェネレーション)をどれだけ踏みつければ気が済むのか?」

参議院をいらないという人もいるが

今日新宿の西口で、「参議院なんか解散してしまえ」と論を高じている人がいた。

内容は、元々参議院は貴族院であり、衆議院のチェック機能としての役割を果たしてきた。現状を鑑みると、衆議院に完全に権力を握られてしまい、チェック機能としての役割も果たしていない無駄なものであるから、とっとと解散してなくしてしまう方が国のためになる。ということである。

なるほど、確かにもっともな意見である。現在の国会のあり方では、たとえ参議院で法案が否決されても、結局衆議院に差し戻されて、そこで可決されれば法案は通ってしまうので飾りとしても役に立っておらず、悪くすると衆議院にて差し戻しの審議をもう一度行いその分の費用がかかるのであるからあっても無駄だという意見も頭ごなしで否定できるものではない。

「だから、なくしてしまえ」というのはいいのだろうか?2つの観点でいかがなものかと思う。
1つめは二院制の意義である。立法府を二院制にしている理由は、いくつかあると思うが、大きくは3つあると思う。
 ・立法府暴走の回避
  片方が暴走した場合も、もう片方が第三者的な立場から抑制的な役割を果たすことができる
 ・鳥観的な視点を持たせる
  両院で構成する議員の背景が異なれば、違った視点で法案を審議することができる
 ・シングルポイントの回避
  二院あることで、選挙や有事の際に、立法府がからになることはなくなる

今の国会で、この3つの理由が完全に果たされているかというと、それはNoだと思う。現実、衆議院で可決されたものは参議院の採決にかかわらず否決されたことはないし、両院とも選挙を行った時期の世相を反映しているだけなので、視点に大きな差があるかとそんなことはない(もちろん参議院の方が幅広い人材が立候補しているとは思うが、最近のタレント候補跋扈を見ていると、その点で差はなくなってきているようにも見える)。しかしながら、参議院はそれなりの役割を果たしていると思う。

2つめは、(ことらの方が本題となるが)「参議院が役立たず」といわれる原因は、本当に参議院にあるのであろうか?という疑問である。もちろん参議院にも問題はないとはいえないと思うが、本当の問題は衆議院にあるのではないだろうか?
ここ数年の衆議院の審議を見ていると、本当に審議をしているのかと感じてしまう。「結局最後は数だけが重要なのだから」という空気を否定できるだろうか。安部内閣になってから特に酷い。何故、重要法案をあれだけ、しかも素早く通すことができるのか。長い時間審議をすれば良いものができるわけではないが、いくら何でも酷すぎる。年金特別救済法、公務員○○法という国の根幹を担う
重要法案が、ここ一ヶ月で通るのはおかしいと思う。しかもその間に故松岡、久間両大臣の問題、年金の5000万件消失問題などなど、いくつもの大きな問題が発生し、その点についても国会で時間が使われているにもかかわらずである。

結局、今の自民党衆議院の運営は「最終的には絶対的に議席が多く、多数決になれば絶対に通るから、日程だけ決めてその通りに粛々と進めていこう」ということに他ならないのである。これはつまり、審議の内容・議員の内容はどうでもよく、議員の数がすべてであるからである。圧倒的な数を持っているので、決めた日程をずらす心配はない。昔から少なからずそういう気配があったが、最近酷いです。結果として、参議院は完全無視である。衆議院議員の中には言葉の端々に「参議院は所詮飾り物だし」という気配を盛り込む人がいる。塩崎官房長官(この人は底の浅さが冷えてしまうのでどうかなと思う)だったろうか「参議院選は中間選挙みたいなものであるから、首相責任を問われることはない」と。さすがに森元首相が否定をしていましたが、あんなのが国の最高機関に在籍して、世界に向けて日本の代表として振る舞っているのかと思うと、さすがに萎える。逆に問題発言として取り上げないところを見ると、国会議員やマスコミはもちろん世間一般にそう思われているのであろう。

今あえて問いたい。「本当に襟を正さなくてはいけないのは、衆議院ではないだろうか。その参議院を蔑視した立ち位置・発言が『参議院不要論』をあおり立てているのではないでしょうか。改革が必要なのは衆議院ではないか?」

2007年7月6日金曜日

悲しいかな政治に選択肢がないこと

今の政治を見ていると、明らかに国民の選択肢が奪われていると思う。これは今の政府が良くないという一般的によくある「安部バッシング」ではなくである。

政治の大きな考え方は2つの方向があり、政府や公共団体が国民に対して手厚い保護を行いその代わりに税金は高くなる、いわゆる「大きな政府」と、政府は個人になるべき干渉を避けその代わりに税金が安くなる「小さい政府」である。左右の分け方でいうと、前者が「右」、後者が「左」よりという。右に傾いていくと共産主義になり、左に傾いていくと自由主義的資本主義になる。

今の日本の政治を見ていると、自民党、民主党が不完全ながらも二大政党を形成し、選挙ではマニュフェストベースで「どちらかを選んでください」という流れになる。冒頭で「選択肢を奪われている」と書いたが、何が奪われているのか?それは国民が「右」よりの政治を選ぶことができないのである。最大の問題は、二大政党のどちらもが明らかに「左」よりで、「右」の政策を推す政党はない。結果として、争われる政策は「左」よりの政治の方法論だけになってしまっている。

「格差社会」といわれて久しい。戦前に比べると本当に格差があるかといわれると、なかなか難しいが、20年前よりは格差は広がっているように思える。何故広がったかと考えると、政権与党である自民党は「左」よりの政治を続けており(これが悪政というわけではない)、国民への政府の干渉は基本的には減ってきているため、一人の人生において個人の責任による要素が増えて、結果、個人の能力・機会・結果の差により格差が広がってきているのであろう。

で、国民が「政府が小さくなりすぎているな。。。」と感じても、実際に感じている人も多いだろう。これを元に戻す術、つまり選挙において「右」よりの政党を選び「大きな政府」に戻すという選択肢が今のところない。考えてみると、二大政党を掲げている国、アメリカ、イギリス、どちらも「右」「左」政党の選択肢がある。これは行きすぎた政策にブレーキをかけるという意味では当たり前なことではあるが、日本の二大政党にはブレーキがない。やはり日本の民主主義は未成熟なんだろうか。あまり語られていないと思うが、10年、20年のスパンで考えていくと、非常に怖い話だと思う。

新規の政党に期待するしかないのか?こんなことを考えていると、参議院選も行きたくなくなるな。。。。

2007年7月1日日曜日

[Solaris10] Zoneの作成 その1

Solaris10上にZoneを作成方法
以下の環境でzoneを作成してみる。手順はWeb用Zoneだけ記載する。
Zone作成完了した段階で、ネットワーク接続ができるようになる。

 環境:
  Solaris10 11/06
 作成ゾーン:
  Web用Zone:
    ゾーン名:wpico01az
    パス  :/opt/zone/wpico01az
  DB用Zone :
    ゾーン名:dpico01az
    パス  :/opt/zone/dpico01az

0.準備
 Solaris10 11/06 インストール後には追加パッケージは必要ない。

1.Globalゾーン上にローカルゾーンのディレクトリを作成

 [global]# mkdir /opt/zone
 [global]# mkdir /opt/zone/wpico01az
 [global]# mkdir /opt/zone/dpico01az
 [global]# chmod 700 /opt/zone/wpico01az /opt/zone/dpico01az


2.GlobalゾーンでZoneの設定

 [global]# zonecfg -z wpico01az
 wpico01az: No such zone configured
 Use 'create' to begin configuring a new zone.
 zonecfg:wpico01az> create
 
 ====インストール先の設定
 zonecfg:wpico01az> set zonepath=/opt/zone/wpico01az
 ====自動起動設定(globalゾーン起動時に自動でローカルゾーンを起動する)
 zonecfg:wpico01az> set autoboot=true
 zonecfg:wpico01az> set pool=pool_default
 ====ネットワークの設定
 zonecfg:wpico01az> add net
 zonecfg:wpico01az:net> set physical=iprb0
 zonecfg:wpico01az:net> set address=192.168.10.110
 zonecfg:wpico01az:net> end
 ====CPUリソースの割り当て
 zonecfg:wpico01az> add rctl
 zonecfg:wpico01az:rctl> set name=zone.cpu-shares
 zonecfg:wpico01az:rctl> add value (priv=privileged,limit=25,action=none)
 zonecfg:wpico01az:rctl> end
 ====設定情報の確認
 zonecfg:wpico01az> info
 zonename: wpico01az
 zonepath: /opt/zone/wpico01az
 autoboot: true
 pool: pool_default
 limitpriv:
 inherit-pkg-dir:
  dir: /lib
 inherit-pkg-dir:
  dir: /platform
 inherit-pkg-dir:
  dir: /sbin
 inherit-pkg-dir:
  dir: /usr
 net:
  address: 192.168.10.110
  physical: iprb0
 rctl:
  name: zone.cpu-shares
  value: (priv=privileged,limit=25,action=none)
 zonecfg:wpico01az>
 zonecfg:wpico01az> verify
 zonecfg:wpico01az> commit
 zonecfg:wpico01az> exit
 
 ====状態の確認
 [global]# zoneadm list -cv
  ID NAME STATUS PATH
  0 global running /
  - wpico01az configured /opt/zone/wpico01az

→wpico01az の設定が完了

3.ローカルゾーンのインストール

 [global]# zoneadm -z wpico01az install
 Preparing to install zone .
 Creating list of files to copy from the global zone.
 Copying <2438> files to the zone.
 Initializing zone product registry.
 Determining zone package initialization order.
 Preparing to initialize <1003> packages on the zone.
 Initialized <1003> packages on zone.
 Zone is initialized.
 The file
contains a log of the zone installation.

 [global]# zoneadm list -cv
  ID NAME STATUS PATH
  0 global running /
  - wpico01az installed /opt/zone/wpico01az

→ゾーンwpico01az のインストール完了

4.ローカルゾーンの起動
 初回起動するときには、固有情報の設定を行う。

 [global]# zoneadm -z wpico01az boot
 [global]# zlogin -C wpico01az

→ローカルゾーン wpico01az のコンソールに接続する


 Select a Language
 
  0. English
  1. Japanese
 
 Please make a choice (0 - 1), or press h or ? for help: 1
 
 Select a Locale
 
  0. Japanese EUC (ja)
  1. Japanese EUC (ja_JP.eucJP)
  2. Japanese PC Kanji (ja_JP.PCK)
  3. Japanese UTF-8 (ja_JP.UTF-8)
  4. Go Back to Previous Screen
 
 Please make a choice (0 - 4), or press h or ? for help: 0-3
 
 
 What type of terminal are you using?
 1) ANSI Standard CRT
 2) DEC VT52
 3) DEC VT100
 4) Heathkit 19
 5) Lear Siegler ADM31
 6) PC Console
 7) Sun Command Tool
 8) Sun Workstation
 9) Televideo 910
 10) Televideo 925
 11) Wyse Model 50
 12) X Terminal Emulator (xterms)
 13) CDE Terminal Emulator (dtterm)
 14) Other
 Type the number of your choice and press Return: 13
 
 ・Host Name for iprb0:1
  wpico01az
 
 ・Configure Security Policy:
  No

 ・Name Service
  None
 
 ・Time Zone
  Asia ー Japan
 
 System identification is completed.
 
 
  This system is configured with NFS version 4, which uses a domain
  name that is automatically derived from the system's name services.
  The derived domain name is sufficient for most configurations. In a
  few cases, mounts that cross different domains might cause files to
  be owned by "nobody" due to the lack of a common domain name.
 
  Do you need to override the system's default NFS version 4 domain
  name (yes/no) ? [no] :
 
  For more information about how the NFS version 4 default domain
  name is derived and its impact, refer to the man pages for nfs(4)
  and nfsmapid(1m), and the System Administration Guide: Network
  Services.

 rebooting system due to change(s) in /etc/default/init
 

 SunOS Release 5.10 Version Generic_118855-33 32-bit
 Copyright 1983-2006 Sun Microsystems, Inc. All rights reserved.
 Use is subject to license terms.
 Hostname: wpico01az
 

 wpico01az console login:


→Zone完成!!!

2007年6月16日土曜日

TBSラジオ「文化系トークラジオLife」

ブログ第1号の投稿です。
非常に遅くなりながらブログを始めてみようと思ったきっかけは、
今回のテーマである、TBSラジオで放送されている「Life」という番組である。

どういうラジオか?
毎回決まったテーマに沿って、パーソナリティ鈴木謙介さんを中心に数人のサブパーソナリティがトークをしていくというラジオ。
リスナーから送られるメールからトークが開始することも多く、リスナーとはある意味対等に意見を交えようとしている。ラジオ制作的にはノープラン的は要素が強く、その場その場で一番いい方向に進んでいこうとしている。
出演する人たちは、基本的に相手の意見を尊重しながら、自分の意見を言っていく、「君はそういう風に思うんだ、僕はこう思うけどね」と大人な態度が好感もてる。
(でも話している内容は、「本当にいい年した大人かよ??」と思ってしまうような子供丸出しのこともある)

私は、2007年2月くらいに、Podcastingからこの番組を知り、まずは過去分をPodcastingできき、
最近要約ラジオを生で聞いてみようとしています。
でも、2007年4月から日曜夜(実際は月曜日)に移動してしまったため、途中で沈没のことが多い(とりあえず、ここまで2回は3時過ぎに沈没、残念)

個人的な属性としては、思うところを語り出すと止まらなくなり、何となく周りの空気がまずくなるのを繰り返し、最近は人前ではあまりお話をすることがなくなり、「本当に友達いるのかなー」と思っているので、これからはこのラジオには積極的に関わっていこうかと思っています。
このラジオなら、なんか語ったメールを送っても大丈夫なような気がする。

TBS RADIO 文化系トークラジオ「Life」
 http://www.tbsradio.jp/life/