LINUX



2010 11月10日

仮想化するのに VMware とか KVM とか Xen とか様々な方法があるけど、最新の仮想化技術ではプロセッサに Intel VT といわれる仮想化支援機能が必要らしい。

つまりハードウェアが対応していないと利用できないということ。
CPU の事なんか全くの無知なので、調べる術をメモ。

CPUの情報を表示するコマンド

cat /proc/cpuinfo

例えばこんなログが表示される

processor	: 0
vendor_id	: GenuineIntel
cpu family	: 15
model		: 2
model name	: Intel(R) Xeon(TM) CPU 3.06GHz
stepping	: 9
cpu MHz		: 3061.967
cache size	: 512 KB
physical id	: 0
siblings	: 2
core id		: 0
cpu cores	: 1
fdiv_bug	: no
hlt_bug		: no
f00f_bug	: no
coma_bug	: no
fpu		: yes
fpu_exception	: yes
cpuid level	: 2
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe cid xtpr
bogomips	: 6124.17

項目の意味はこちらなどで解説されていた。
/proc/cpuinfoの中身
/proc/cpuinfo 再調査編
…つづきを読む







2010 11月5日

エラーログに

kernel: SCSI error : <0 0 0 0> return code = 0×70000

というものが度々出るので気にはなっていたものの、放置していたけどようやく原因が分かった気がするのでメモ。

エラーログが出るのはIBMのサーバ(ServeRAIDでRaid1とかRaid10)
エラーの原因は smartd のようだ。

バージョンによるようだけど、対応していないディスク(ATAとかでもらしい)例のエラーが出る様子。
そういえばサービス起動で smartd はコケていた。

とりあえず smartd のサービスをスタートしないようにする対策。
…つづきを読む







2010 8月17日

PGDGレポジトリを追加する

純正レポジトリに postgresql を上書きされない様に無効化しておく。
/etc/yum.repos.d/CentOS-Base.repo を編集のうえ、[base]と[update]のそれぞれのセクションに、
exclude=postgresql*
を追記する。
…つづきを読む







2010 6月30日

Perl の $ENV{PATH} は何処を参照しているのか?

例えば bayon を perl から使うのに Text::Bayon モジュールを利用したら
sh: bayon: command not found
と言うエラーログが残る。

コマンドが見つからない = パスが通っていない、と言う事なんだろうけど、apache を2.2 にしたらパスが変わったのか apache2.0 の時に使えた Lingua::JA::Summarize を使用するスクリプトも

sh: mecab: command not found

となる。

mecab も bayon も /usr/local/bin にインストールしてあるのだけれど、$ENV{PATH} を調べてみると、
$ENV{PATH} = /sbin:/usr/sbin:/bin:/usr/bin
となっており、/usr/local/bin にはパスが通っていない。

この 環境変数はどこを参照しているのかまさに以下のページのような迷い方をした。

apacheの起動ユーザーにPATH通しときゃいいのか?とか、httpd.confにそういう設定が?とか、もしかしてPHP.iniにそんな設定が?とか思ってたんですが、全部ハズレ。

Apache2の環境変数PATHを設定する – masahilog

SetEnvやPassEnvディレクティブを追加してみたり、. bash_profile を変更したり、散々いろいろ試してみたけど、上記ページのおかげでヒントが得られたのでメモ。

CentOS系(というかRedhat系、だろうか)は/etc/sysconfig/httpdがそれに該当するような。探しても調べてもenvvarsの影も形も無かったけど、/etc/init.d/httpdの冒頭箇所で/etc/sysconfig/httpdがあったらそれを評価してからhttpdが起動するようになってる。なんでこんな仕様なんだろうか。

追記でこのように書かれていたのだけれど、/etc/rc.d/init.d/httpd を見てみると、 /etc/sysconfig/httpd のみではなく、 /etc/rc.d/init.d/functions も参照している。

/etc/rc.d/init.d/functions を見ると、ビンゴでした。

# Set up a default search path.
PATH="/sbin:/usr/sbin:/bin:/usr/bin"
export PATH

ここのパスを変更して、保存。

注意点としては、apache を再起動ではなく 停止してから起動する事。
再起動では反映されませんでした。

ちなみに CentOS (4.x 5.x) での話ですので他のディストリビューションでは違うかもしれません。







2010 6月16日

utterramblings レポジトリを使い apache を2.2.15 へ yum でアップデートする。
phpも5.2.13 へアップデートされる。
remiレポジトリでもいいけど PHPが5.3になってしまうので。 …つづきを読む