bloggalleryaboutcontact

CentOSの最小構成をもっと突き詰めようの巻その2

これの続きというか、やったことリスト。
参考にしたのは
http://sixwish.jp/Technote/Xendomu/centos5-01/
他たくさん。

要件おさらい:
Webサーバ動けばとりあえずいいですぜいたくは言いません。
あ、でもiptablesは使うので残します。

まずはyum remove祭り。

yum remove isdn4k-utils
yum remove rp-pppoe
yum remove irda-utils
yum remove NetworkManager
yum remove bluez-libs bluez-utils
yum remove ipsec-tools wpa_supplicant
yum remove yp-tools ypbind
yum remove nfs-utils nfs-utils-lib
yum remove firstboot-tui
yum remove setuptool
yum remove system-config-network-tui
yum remove system-config-securitylevel-tui
yum remove apmd acpid
yum remove smartmontools minicom
yum remove pcmciautils
yum remove nscd dos2unix mutt
yum remove mkbootdisk

さっきのリンクを参考に、ざくざくざくっと削り削り。
次にchkconfig祭り。

chkconfig autofs off -> CDの自動検出とか 自分でマウントすりゃいい
chkconfig gpm off -> マウス超イラネ
chkconfig cups off -> プリンタつかわない
chkconfig mdmonitor off -> RAID状態監視はRAIDじゃないからいらない
chkconfig netfs off -> NFS使わない
chkconfig yum-updatesd off -> updateは自分でやるお
chkconfig readahead_early off -> 先読み関係は切っても別に支障ない
chkconfig kudzu off -> VMなのでUSBの脱着とかはいらない
chkconfig irqbalance off -> マルチプロセッサ構成にしてないのでいらない
chkconfig mcstrans off -> SELinux使ってないからいらない
chkconfig restorecond off -> こいつもSELinux使ってないからいらない
chkconfig cpuspeed off -> 省電力化は特にいらない
chkconfig messagebus off -> D-BUS使わない
chkconfig haldaemon off -> のでこいつもいらない
chkconfig ip6tables off -> iptablesはいるけどこっちはいらない
chkconfig lvm2-monitor off -> 今回はapache動かす程度なので多分いらない 要検証かも
chkconfig pcscd off -> スマートカードどうでもいい
chkconfig xfs off -> X使わないからいらない
chkconfig auditd off -> オレオレ実験用だし特にいらない
chkconfig sendmail off -> メール使わない

この2つはlevel1でonになってるのでそれも切る。
chkconfig --level 1 cpuspeed off
chkconfig --level 1 lvm2-monitor off

つらつら検索しつつ、不要だなと思われるやつは切っていった。
ここまで削ってrebootかけてhttpd入れて起動させてまあ普通に動いた。
何かしら問題あってもVM上のオレオレ実験環境なので別にいいや。

ってな感じで、どうせ壊れても構わんよーを念頭にばっすんばっすん切ってます。

取り急ぎの説明でした。
多分続きます。
Comments (1)  Permalink

CentOSの最小構成をもっと突き詰めようの巻

CentOS 5.2 32bit。
とりあえずいろいろ外していろいろ切って。
んでapacheだけ入れてみて以下な感じ。<起動前
追記:ざっくりすぎる説明とかはこっちに書きました。
修正:gpm超いらないので切った。
修正2:autofsも自分でマウントすりゃいいやということで切った。メモリ使用量が結構減った。

[root@localhost ~]# chkconfig --list
anacron 0:off 1:off 2:on 3:on 4:on 5:on 6:off
atd 0:off 1:off 2:off 3:on 4:on 5:on 6:off
auditd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
autofs 0:off 1:off 2:off 3:off 4:off 5:off 6:off
conman 0:off 1:off 2:off 3:off 4:off 5:off 6:off
cpuspeed 0:off 1:off 2:off 3:off 4:off 5:off 6:off
crond 0:off 1:off 2:on 3:on 4:on 5:on 6:off
cups 0:off 1:off 2:off 3:off 4:off 5:off 6:off
dhcdbd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
gpm 0:off 1:off 2:off 3:off 4:off 5:off 6:off
haldaemon 0:off 1:off 2:off 3:off 4:off 5:off 6:off
httpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
ibmasm 0:off 1:off 2:off 3:off 4:off 5:off 6:off
ip6tables 0:off 1:off 2:off 3:off 4:off 5:off 6:off
iptables 0:off 1:off 2:on 3:on 4:on 5:on 6:off
irqbalance 0:off 1:off 2:off 3:off 4:off 5:off 6:off
kudzu 0:off 1:off 2:off 3:off 4:off 5:off 6:off
lvm2-monitor 0:off 1:off 2:off 3:off 4:off 5:off 6:off
mcstrans 0:off 1:off 2:off 3:off 4:off 5:off 6:off
mdmonitor 0:off 1:off 2:off 3:off 4:off 5:off 6:off
mdmpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
messagebus 0:off 1:off 2:off 3:off 4:off 5:off 6:off
microcode_ctl 0:off 1:off 2:on 3:on 4:on 5:on 6:off
multipathd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
netconsole 0:off 1:off 2:off 3:off 4:off 5:off 6:off
netfs 0:off 1:off 2:off 3:off 4:off 5:off 6:off
netplugd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
network 0:off 1:off 2:on 3:on 4:on 5:on 6:off
oddjobd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
pcscd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
portmap 0:off 1:off 2:off 3:on 4:on 5:on 6:off
psacct 0:off 1:off 2:off 3:off 4:off 5:off 6:off
rdisc 0:off 1:off 2:off 3:off 4:off 5:off 6:off
readahead_early 0:off 1:off 2:off 3:off 4:off 5:off 6:off
readahead_later 0:off 1:off 2:off 3:off 4:off 5:on 6:off
restorecond 0:off 1:off 2:off 3:off 4:off 5:off 6:off
saslauthd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
sendmail 0:off 1:off 2:off 3:off 4:off 5:off 6:off
sshd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
syslog 0:off 1:off 2:on 3:on 4:on 5:on 6:off
xfs 0:off 1:off 2:off 3:off 4:off 5:off 6:off
yum-updatesd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
[root@localhost ~]# ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 1 18:06 ? 00:00:02 init [3]
root 2 1 0 18:06 ? 00:00:00 [migration/0]
root 3 1 0 18:06 ? 00:00:00 [ksoftirqd/0]
root 4 1 0 18:06 ? 00:00:00 [watchdog/0]
root 5 1 0 18:06 ? 00:00:00 [events/0]
root 6 1 0 18:06 ? 00:00:00 [khelper]
root 7 1 0 18:06 ? 00:00:00 [kthread]
root 10 7 0 18:06 ? 00:00:00 [kblockd/0]
root 11 7 0 18:06 ? 00:00:00 [kacpid]
root 67 7 0 18:06 ? 00:00:00 [cqueue/0]
root 70 7 0 18:06 ? 00:00:00 [khubd]
root 72 7 0 18:06 ? 00:00:00 [kseriod]
root 132 7 0 18:06 ? 00:00:00 [pdflush]
root 133 7 0 18:06 ? 00:00:01 [pdflush]
root 134 7 0 18:06 ? 00:00:00 [kswapd0]
root 135 7 0 18:06 ? 00:00:00 [aio/0]
root 289 7 0 18:06 ? 00:00:00 [kpsmoused]
root 320 7 0 18:06 ? 00:00:00 [scsi_eh_0]
root 323 7 0 18:06 ? 00:00:00 [ata/0]
root 324 7 0 18:06 ? 00:00:00 [ata_aux]
root 335 7 0 18:06 ? 00:00:00 [ksnapd]
root 338 7 0 18:06 ? 00:00:01 [kjournald]
root 370 7 0 18:07 ? 00:00:00 [kauditd]
root 404 1 0 18:07 ? 00:00:01 /sbin/udevd -d
root 1088 7 0 18:07 ? 00:00:00 [kmpathd/0]
root 1111 7 0 18:07 ? 00:00:00 [kjournald]
root 1541 1 0 18:07 ? 00:00:00 /sbin/dhclient -1 -q -lf /var/lib/dhclient/dhclient-eth0.leases -pf /var/run/dhclient-eth0.pid eth0
root 1617 1 0 18:07 ? 00:00:00 syslogd -m 0
root 1620 1 0 18:07 ? 00:00:00 klogd -x
rpc 1642 1 0 18:07 ? 00:00:00 portmap
root 1661 1 0 18:07 ? 00:00:00 automount
root 1704 1 0 18:07 ? 00:00:00 /usr/sbin/sshd
root 1736 1 0 18:07 ? 00:00:00 gpm -m /dev/input/mice -t exps2
root 1751 1 0 18:07 ? 00:00:00 crond
root 1766 1 0 18:07 ? 00:00:00 anacron -s
root 1780 1 0 18:07 ? 00:00:00 /usr/sbin/atd
root 1786 1 0 18:07 tty1 00:00:00 /sbin/mingetty tty1
root 1787 1 0 18:07 tty2 00:00:00 /sbin/mingetty tty2
root 1788 1 0 18:07 tty3 00:00:00 /sbin/mingetty tty3
root 1789 1 0 18:07 tty4 00:00:00 /sbin/mingetty tty4
root 1790 1 0 18:07 tty5 00:00:00 /sbin/mingetty tty5
root 1809 1 0 18:07 tty6 00:00:00 /sbin/mingetty tty6
root 1844 1704 0 18:08 ? 00:00:01 sshd: root@pts/0
root 1846 1844 0 18:08 pts/0 00:00:00 -bash
root 1916 1846 0 18:11 pts/0 00:00:00 ps -ef

LVS*2(DRBD)挟んでWebサーバの動作チェックが一通りできればいいなーといったところ。
で、実験用Webサーバはすごく最小構成でいいよねって話です。
追加で入れるとしたらrepcachedをセッション管理で使うかなーくらい。
なのでDBもいらなくて、まあ実案件に落とすためにPHP入れて実験するかなあどうするかなーと。

どこまでスリムにできるんでしょーか。
Comments (1)  Permalink

SymfonyのFormオブジェクトに対して後からバリデーションを追加したい

cakePHP的にさくっといけるかなーと思ったら割と面倒だった。

$this->formObj = new MessageForm();

とかやって最後に
$this->formObj->bind($param);

てな感じのとき、処理によっては追加でバリデーションを挟みたいなんてことがある。

で、こういう時にactionなりから呼びだす方法をあれこれ試してみて、

$validators = $this->formObj->getValidatorSchema()->getFields();

てな感じでバリデータ群を拾ってきてあげると

$validators['memo']->setOption('required', true);
$validators['memo']->setMessage('required', 'ここだけ必須。すんまそん。');


とか書くだけでいろいろいじれることが分かった。
minとかmaxとかがころころ変わる場合とか、bind前に追加のバリデーション設定をしとけばよし。
あとFormオブジェクトで日付を扱う場合は基本mktime()なりのミリ秒値をセットしてやったほうが後々便利。かな。

ついでに。入力値同士で比較したときなんかは
http://symfony.xrea.jp/1.1/forms_book/02-Form-Validation.html
の下のほうにある論理バリデータを使えばいい感じにPOSTデータ同士で比較できる。

symfonyのドキュメントって、なんでこうも少ないんですかね。
本もちらほら読んだけどいまいち十分じゃない。むー。
とりあえずお作法的なところだけでもかっちりしたものが欲しいんだけど。
 Permalink

あけましたおめでとうございました

明けて何日経っとんねんという話ですが。

去年はある種実験的な年だったわけで。
自分が思うよりも前のめりにいろいろ行ったらどうなるかなーと。
結果ちょっと変わった形で顔が売れたのは予想外すぎて面白かったです。
まさか名刺まで差し替わるとは思わなんだ。
とりあえず何があっても笑い飛ばしてみる、ってのはいい形なのかもしれんですね。

仕事に関して言うと、無節操にあれこれ広げたフラグをやっと回収できる体力が伴ってきた感じで。
数年前に感じてたような不安とか迷いとかはわりかし取っ払えたような気がします。
と言うか改めて純正プログラマではないよなあとかは思いつつ。
まあ最悪仕事は何とでもなるかなーとぼんやり青写真が描けたのはいいことなんでしょう。

で、今年。
幸い年明けのエンジン始動もそこそこうまくいった感じなので、まずは春まで普通に走ります。
長い目短い目超短期的な目いろいろありますが、とりあえずは自分が極力楽しめる方向に進むよう心がけつつ。
待ちガイルくらいでうまーく序盤立ち回れたらあとはうまく行くんじゃないかなとぼんやりほんのり。
うまく回りさえすれば結果は何かしらついてくるでしょう。でしょう。

今年もいろいろありそうですが、ゆるりと楽しんでまいりましょう。まる。
Comments (1)  Permalink
1-4/4