Jan 31, 2011

Apache Solr 1.4 インストール on Tomcat

lucene-ja か、cmecab-java のどちらがいいか悩ましい。

検索エンジンの最新版を追わないのであれば、
JNI バインディングじゃない lucene-ja の方が好み。
でも、最新版を追いたくて、自分でメンテナンスする手間を省きたければ、
cmecab-java ってところか。

パフォーマンスは、両方の環境を作って比較するしかないかな。



環境:
CentOS 5.5 i386 on VMware Fusion3
Java6 SDK
Apache Ant
Apache Tomcat 5.5

インストールするもの:
Apache Solr 1.4
lucene-ja 2.0 + sen 1.2.2.1
cmecab-java + mecab 0.98


Apache Solr 1.4.1
download from http://www.apache.org/dyn/closer.cgi/lucene/solr/

# tar xzf apache-solr-1.4.1.tgz -C $INSTALL_DIR
# cd $INSTALL_DIR
# chown -R tomcat.tomcat apache-solr-1.4.1
# ln -s apache-solr-1.4.1 apache-solr
# export SOLR_HOME=$INSTALL_DIR/apache-solr


sen-1.2.2.1
インストール手順は /2011/01/sen-1221.html

Tomcat の起動オプションに sen.home を追加する。

# vi /etc/tomcat5/tomcat5.conf

JAVA_OPTS="$JAVA_OPTS -Dcatalina.ext.dirs=$CATALINA_HOME/shared/lib:$CATALINA_HOME/common/lib -Dsen.home=/usr/local/sen-1.2.2.1"


lucene-ja-2.0
インストール手順は /2011/01/lucene-ja-20.html




次にwebappsの設定

Tomcat に Solr の webapps を配置

# mkdir /var/lib/tomcat5/webapps/solr
# cd /var/lib/tomcat5/webapps/solr
# jar xf $SOLR_HOME/example/webapps/solr.war


sen.jar を webappsにコピーする。

# cp $SEN_HOME/lib/sen.jar /var/lib/tomcat5/webapps/solr/WEB-INF/lib


lucene-core.jar と lucene-ja.jar を webappsにコピーする。

# cd ~/lucene-ja/lib/
# cp lucene-core-2.0.0.jar lucene-ja-custom.jar /var/lib/tomcat5/webapps/solr/WEB-INF/lib/


solrのホームディレクトリを作成

サンプルをベースに利用します。

# cd $SOLR_HOME
# cp -a example/solr home

solrconfig.xml を編集して、データディレクトリを設定します。

# cd $SOLR_HOME
# vi home/conf/solrconfig.xml

  <dataDir>/usr/local/apache-solr/home/data</dataDir>


webapps の web.xml で、solr/home を設定します。

# vi /var/lib/tomcat5/webapps/solr/WEB-INF/web.xml

    <env-entry>
       <env-entry-name>solr/home</env-entry-name>
       <env-entry-value>/usr/local/apache-solr/home</env-entry-value>
       <env-entry-type>java.lang.String</env-entry-type>
    </env-entry>



Tomcat 起動

# /etc/init.d/tomcat5 start
# cat /var/log/tomcat5/catalina.out

ブラウザで、起動を確認する。

http://solrhost:8080/solr/


※ Tomcat の起動時に Xpath のエラーが出る場合は、xalan, xerces をインストールする。

download from http://xml.apache.org/xalan-j/downloads.html

# tar xzf xalan-j_2_7_1-bin-2jars.tar.gz
# cp xalan-j_2_7_1/*.jar /var/lib/tomcat5/shared/lib


※ 日本語の検索で文字化けする場合は、SetCharacterEncodingFilter を使う

ここではTomcat5のサンプルをそのまま利用します。

# cp SetCharacterEncodingFilter.class /var/lib/tomcat5/shared/classes/filters/
# vi /var/lib/tomcat5/webapps/solr/WEB-INF/web.xml

  <filter>
    <filter-name>Set Character Encoding</filter-name>
    <filter-class>filters.SetCharacterEncodingFilter</filter-class>
    <init-param>
      <param-name>encoding</param-name>
      <param-value>UTF-8</param-value>
    </init-param>
  </filter>

  <filter-mapping>
    <filter-name>Set Character Encoding</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>


# vi /etc/tomcat5/tomcat5.conf

    <Connector port="8080" maxHttpHeaderSize="8192"
               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
               enableLookups="false" redirectPort="8443" acceptCount="100"
               connectionTimeout="20000" disableUploadTimeout="true"
               URIEncoding="UTF-8" useBodyEncodingForURI="true" />




参考サイト

http://lucene.apache.org/solr/tutorial.html
http://d.hatena.ne.jp/knaka20blue/20080922/1222104683
http://kazuakey.blogspot.com/2010/12/solr-14-sen.html
http://d.hatena.ne.jp/gnarl/20080912/1221189985

詳解 Objective-C 2.0 改訂版

Objective-C 面白い。

Mac App Store で提供できるアプリなんかできたらいいなと思って、お勉強中。

オブジェクトのメソッドを使う際に、メッセージを送信するっていうのに個人的にハマった。

ポリモーフィズム が id の型で柔軟に使えるのもいいし、まだまだ始めたばかりだけど、
言語の魅力にハマりそうな予感。


lucene-ja 2.0 インストール

Lucene を、Solr1.4 で利用する場合には、一部ソースの修正が必要です。


環境:
CentOS 5.5 i386 on VMware Fusion3
Java6 SDK


download from https://sen.dev.java.net/servlets/ProjectDocumentList?folderID=755&expandFolder=755&folderID=755


修正するソースは、org.apache.lucene.analysis.ja パッケージの以下4ファイルです。

DigitFilter.java
KatakanaStemFilter.java
MonitorFilter.java
POSFilter.java


コンストラクタ中の input = in; をコメントアウトします。

# unzip lucene-ja-2.0test2.zip
# cd lucene-ja/src/org/apache/lucene/analysis/ja/
# vi DigitFilter.java KatakanaStemFilter.java MonitorFilter.java POSFilter.java

// input = in;


build.xml を配置してコンパイル

# cd ~/lucene-ja
# ant
# ls -l lib/lucene-ja-custom.jar



参考サイト

http://ameblo.jp/miralis/entry-10290203004.html
http://kazuakey.blogspot.com/2010/12/solr-14-sen.html
http://d.hatena.ne.jp/gnarl/20080912/1221189985

mecab 0.9.8 インストール

環境:
CentOS 5.5 i386 on VMware Fusion3


C++ のコンパイラがない場合はインストールする。

# yum install gcc gcc-c++


Mecabのインストール
download from http://mecab.sourceforge.net/

$ tar xzf mecab-0.98.tar.gz
$ cd mecab-0.9.8
$ ./configure
$ make
$ su
# make install


確認

# mecab
すもももももももものうち
すもも 名詞,一般,*,*,*,*,すもも,スモモ,スモモ
も 助詞,係助詞,*,*,*,*,も,モ,モ
もも 名詞,一般,*,*,*,*,もも,モモ,モモ
も 助詞,係助詞,*,*,*,*,も,モ,モ
もも 名詞,一般,*,*,*,*,もも,モモ,モモ
の 助詞,連体化,*,*,*,*,の,ノ,ノ
うち 名詞,非自立,副詞可能,*,*,*,うち,ウチ,ウチ
EOS


参考サイト

http://mecab.sourceforge.net/

sen 1.2.2.1 インストール 辞書をnaist-jdic にする

Mecab の Java移植版。
構築する辞書の文字コードを、サーバの文字コードと同じUTF-8に変更します。
また、ipadic の後継版である、NAIST Japanese Dictional を使うように修正します。

download from https://sen.dev.java.net/servlets/ProjectDocumentList?folderID=755&expandFolder=755&folderID=755


環境:
CentOS 5.5 i386 on VMware Fusion3
Apache Ant


sen 1.2.2.1 インストール

# unzip sen-1.2.2.1.zip -d $INSTALL_DIR
# export SEN_HOME=$INSTALL_DIR/sen-1.2.2.1


バグFIX

http://d.hatena.ne.jp/gnarl/20080912/1221189985

※ sen のコンパイルには、gcc-c++ などが必要です。


sen の辞書作成

a. 構築する辞書の文字コードを、utf-8 に変更する。(デフォルトは euc-jp)
b. NAIST-jdic の辞書を利用するように変更する。

文字コードの編集対象ファイルは、sen.xml, sen-processor.xml, dictionary.properties の3つです。
元々の辞書ファイルは、euc-jp で記述されており、その設定は変更しません。

# cd $SEN_HOME
# vi conf/sen.xml
   <charset>utf-8</charset>

# vi conf/sen-processor.xml
   <charset>utf-8</charset>

# vi dic/dictionary.properties
   sen.charset=utf-8


ChaSen 用の NAIST辞書ファイル(NAIST-jdic)をダウンロード。
http://sourceforge.jp/projects/naist-jdic/

# cp naist-jdic-0.4.3.tar.gz $SEN_HOME/dic/


build.xml の編集
ipadic の設定を、naist-jdic に変更します。
また同時に、OutOfMemoryError を回避するために、maxmemory を増やしておきます。

# cd $SEN_HOME/dic
# vi build.xml

  <target name="create" depends="dics0" unless="dics.present">
    <java classname="net.java.sen.tools.MkSenDic"
          fork="true"
          maxmemory="512m">


ipadic のファイル名を、naist-jdic に変更。

# diff build.xml build_naist-jdic.xml
17,19c17,19
<   <property name="ipadic.version" value="2.6.0"/>
<   <property name="ipadic.archive"  value="ipadic-${ipadic.version}.tar.gz"/>
<   <property name="ipadic.dir"  value="ipadic-${ipadic.version}"/>
---
>   <property name="ipadic.version" value="0.4.3"/>
>   <property name="ipadic.archive"  value="naist-jdic-${ipadic.version}.tar.gz"/>
>   <property name="ipadic.dir"  value="naist-jdic-${ipadic.version}"/>
56c56
<         <available file="ipadic-${ipadic.version}/Noun.dic"/>
---
>         <available file="naist-jdic-${ipadic.version}/Noun.dic"/>
89c89
<       <arg line="${ipa2mecab} ipadic-${ipadic.version}"/>
---
>       <arg line="${ipa2mecab} naist-jdic-${ipadic.version}"/>


辞書ファイルの生成

# ant

確認

# sh $SEN_HOME/bin/sen.sh
done.
Please input Japanese sentence:
[INFO] Dictionary - token file = /usr/local/sen-1.2.2.1/dic/token.sen
[INFO] Dictionary - time to load posInfo file = 22[ms]
[INFO] Dictionary - double array trie dictionary = /usr/local/sen-1.2.2.1/dic/da.sen
[INFO] DoubleArrayTrie - loading double array trie dict = /usr/local/sen-1.2.2.1/dic/da.sen
[INFO] DoubleArrayTrie - loaded time = 0.631[ms]
[INFO] Dictionary - pos info file = /usr/local/sen-1.2.2.1/dic/posInfo.sen
[INFO] Dictionary - time to load pos info file = 0[ms]
[INFO] Tokenizer - connection file = /usr/local/sen-1.2.2.1/dic/matrix.sen
[INFO] Tokenizer - time to load connect cost file = 91[ms]

無事に形態素解析されますか?
無事 (無事) 名詞-形容動詞語幹(0,2,2) ブジ ブジ
に (に) 助詞-副詞化(2,3,1) ニ ニ
形態素 (形態素) 名詞-一般(3,6,3) ケイタイソ ケイタイソ
解析 (解析) 名詞-サ変接続(6,8,2) カイセキ カイセキ
さ (する) 動詞-自立(8,9,1) サ サ
れ (れる) 動詞-接尾(9,10,1) レ レ
ます (ます) 助動詞(10,12,2) マス マス
か (か) 助詞-副助詞/並立助詞/終助詞(12,13,1) カ カ
? (?) 記号-一般(13,14,1) ? ?

すもももももももものうち
すもも (すもも) 名詞-一般(0,3,3) スモモ スモモ
も (も) 助詞-係助詞(3,4,1) モ モ
もも (もも) 名詞-一般(4,6,2) モモ モモ
も (も) 助詞-係助詞(6,7,1) モ モ
もも (もも) 名詞-一般(7,9,2) モモ モモ
の (の) 助詞-連体化(9,10,1) ノ ノ
うち (うち) 名詞-非自立-副詞可能(10,12,2) ウチ ウチ

在庫品SALE
在庫 (在庫) 名詞-サ変接続(0,2,2) ザイコ ザイコ
品 (品) 名詞-接尾-一般(2,3,1) ヒン ヒン
S (S) 記号-アルファベット(3,4,1) エス エス
A (A) 記号-アルファベット(4,5,1) エイ エイ
L (L) 記号-アルファベット(5,6,1) エル エル
E (E) 記号-アルファベット(6,7,1) イー イー

NAIST-jdic への移行は無事できましたが、ただ、英単語を分つことができない。。
原因はアルファベットが辞書に登録してあるためでした。

そこで、アルファベットを取り除いてみると。

# diff ipa2mecab_org.pl ipa2mecab.pl
188,189d187
<     next if ($pos2 eq 'アルファベット');
<

# ant
# sh $SEN_HOME/bin/sen.sh

在庫品SALE
在庫 (在庫) 名詞-サ変接続(0,2,2) ザイコ ザイコ
品 (品) 名詞-接尾-一般(2,3,1) ヒン ヒン
SALE (SALE) 未知語(3,7,4) null null

未知語でも良いので、連結してくれる方がいいよね。


さて、あとは、mecab用の最新の辞書を取込んでみたいところ。
mecab-naist-jdic-0.6.3-20100801/naist-jdic.csv
の方が約30,000語も多いし。。

どなたか NAIST-jdic for mecab の辞書を sen に取込む方法をご存知の方がいれば、
ご連絡くださいますと幸いです。


追記:

2/18
その後、sen.xml に、composit の設定を追加することによって、アルファベットや数字を結合できることが
分かりました。
そのため、辞書からアルファベットを取り除くよりも、composit を設定して結合する方がいいかと思い、
再度アルファベットを辞書に登録しました。
また、「-」をアルファベットとすると、wi-fi のような単語を作ることができるので、
- を記号、アルファベットとして、カスタム辞書に登録しました。
Sen は奥深いですね。関係者の方々に心から感謝です。


参考サイト

http://ultimania.org/sen/
http://kazuakey.blogspot.com/2010/12/solr-14-sen.html
http://d.hatena.ne.jp/gnarl/20080912/1221189985
http://d.hatena.ne.jp/code46/comment?date=20090531

Jan 28, 2011

Innodb deadlock など、問題があるときには

sql> show innodb status;

最新のデッドロックなどの状態が見れる。



参考サイト

http://dev.mysql.com/doc/refman/5.1/ja/innodb-monitor.html

yum 設定

yum-priorities のインストール

# yum install yum-priorities


公式リポジトリの優先度を1にしておく。

/etc/yum.repos.d/CentOS-Base.repo を編集し priority=1 を追加する。
base, uploads, addons, extras, centosplus, contrib の各リポジトリに設定を追加する。

# vi /etc/yum.repos.d/CentOS-Base.repo

[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
priority=1
...



RPMforge のリポジトリをインストール

# rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt
# wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.i386.rpm
# rpm -K rpmforge-release-0.5.2-2.el5.rf.i386.rpm
# rpm -ivh rpmforge-release-0.5.2-2.el5.rf.i386.rpm


※ デフォルトではOFFにして、-enablerepo=rpmforge のオプションをつけて利用する。

# vi /etc/yum.repos.d/rpmforge.repo

enabled=0



参考サイト



VMware Fusion3: /dev/hdc open failed

Setting up Logical Volume Management: /dev/hdc open failed: no medium found

仮想マシンの設定「CDとDVD」で、CD/DVDの接続のチェックを外していると上記エラーが出る。

特に無害なのでこのままでも問題ない。

VMware Fusion3: starging udev error

起動時に以下のエラーが発生する場合の対応。
基本的に無害なので未対応でもOK。

Starting udev:
udevd[572]: add_to_rules: unknown key 'SUBSYSTEMS'
udevd[572]: add_to_rules: unknown key 'ATTRS{vendor}'
udevd[572]: add_to_rules: unknown key 'ATTRS{model}'
udevd[572]: add_to_rules: unknown key 'SUBSYSTEMS'
udevd[572]: add_to_rules: unknown key 'ATTRS{vendor}'
udevd[572]: add_to_rules: unknown key 'ATTRS{model}'


/etc/udev/rules.d/99-vmware-scsi-udev.rule を編集し、未使用の行はコメントアウト、
RedHat系の場合は以下のように書き換える。

# vi /etc/udev/rules.d/99-vmware-scsi-udev.rule

ACTION=="add", BUS=="scsi", SYSFS{vendor}=="VMware, " , SYSFS{model}=="VMware Virtual S", RUN+="/bin/sh -c 'echo 180 >/sys$DEVPATH/device/timeout'"

To:

ACTION=="add", BUS=="scsi", SYSFS{vendor}=="VMware " , SYSFS{model}=="Virtual disk ", RUN+="/bin/sh -c 'echo 180 >/sys$DEVPATH/device/timeout'"

参考サイト

http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1023898

CD-ROMのマウント

手動

$ mount -t iso9660 -o ro /dev/cdrom /media


fstabに記述

# vi fstab

/dev/cdrom /media iso9660 noauto,owner,ro 0 0

.vimrc サンプル メモ

" vim: set ts=4 sw=4 sts=0:
"-----------------------------------------------------------------------------
" 文字コード関連
"
if &encoding !=# 'utf-8'
 set encoding=japan
 set fileencoding=japan
endif
if has('iconv')
 let s:enc_euc = 'euc-jp'
 let s:enc_jis = 'iso-2022-jp'
 " iconvがeucJP-msに対応しているかをチェック
 if iconv("\x87\x64\x87\x6a", 'cp932', 'eucjp-ms') ==# "\xad\xc5\xad\xcb"
  let s:enc_euc = 'eucjp-ms'
  let s:enc_jis = 'iso-2022-jp-3'
 " iconvがJISX0213に対応しているかをチェック
 elseif iconv("\x87\x64\x87\x6a", 'cp932', 'euc-jisx0213') ==# "\xad\xc5\xad\xcb"
  let s:enc_euc = 'euc-jisx0213'
  let s:enc_jis = 'iso-2022-jp-3'
 endif
 " fileencodingsを構築
 if &encoding ==# 'utf-8'
  let s:fileencodings_default = &fileencodings
  let &fileencodings = s:enc_jis .','. s:enc_euc .',cp932'
  let &fileencodings = &fileencodings .','. s:fileencodings_default
  unlet s:fileencodings_default
 else
  let &fileencodings = &fileencodings .','. s:enc_jis
  set fileencodings+=utf-8,ucs-2le,ucs-2
  if &encoding =~# '^\(euc-jp\|euc-jisx0213\|eucjp-ms\)$'
   set fileencodings+=cp932
   set fileencodings-=euc-jp
   set fileencodings-=euc-jisx0213
   set fileencodings-=eucjp-ms
   let &encoding = s:enc_euc
   let &fileencoding = s:enc_euc
  else
   let &fileencodings = &fileencodings .','. s:enc_euc
  endif
 endif
 " 定数を処分
 unlet s:enc_euc
 unlet s:enc_jis
endif
" 日本語を含まない場合は fileencoding に encoding を使うようにする
if has('autocmd')
 function! AU_ReCheck_FENC()
  if &fileencoding =~# 'iso-2022-jp' && search("[^\x01-\x7e]", 'n') == 0
   let &fileencoding=&encoding
  endif
 endfunction
 autocmd BufReadPost * call AU_ReCheck_FENC()
endif
" 改行コードの自動認識
set fileformats=unix,dos,mac
" □とか○の文字があってもカーソル位置がずれないようにする
if exists('&ambiwidth')
 set ambiwidth=double
endif

"-----------------------------------------------------------------------------
" 編集関連
"
"オートインデントする
set autoindent
"バイナリ編集(xxd)モード(vim -b での起動、もしくは *.bin で発動します)
augroup BinaryXXD
 autocmd!
 autocmd BufReadPre  *.bin let &binary =1
 autocmd BufReadPost * if &binary | silent %!xxd -g 1
 autocmd BufReadPost * set ft=xxd | endif
 autocmd BufWritePre * if &binary | %!xxd -r | endif
 autocmd BufWritePost * if &binary | silent %!xxd -g 1
 autocmd BufWritePost * set nomod | endif
augroup END

"-----------------------------------------------------------------------------
" 検索関連
"
"検索文字列が小文字の場合は大文字小文字を区別なく検索する
set ignorecase
"検索文字列に大文字が含まれている場合は区別して検索する
set smartcase
"検索時に最後まで行ったら最初に戻る
set wrapscan
"検索文字列入力時に順次対象文字列にヒットさせない
set noincsearch

"-----------------------------------------------------------------------------
" 装飾関連
"
"シンタックスハイライトを有効にする
if has("syntax")
 syntax on
endif
"行番号を表示しない
set nonumber
"タブの左側にカーソル表示
set listchars=tab:\ \ 
set list
"タブ幅を設定する
set tabstop=4
set shiftwidth=4
"タブをスペースにする
set expandtab
"入力中のコマンドをステータスに表示する
set showcmd
"括弧入力時の対応する括弧を表示
set showmatch
"検索結果文字列のハイライトを有効にする
set hlsearch
"ステータスラインを常に表示
set laststatus=2
"ステータスラインに文字コードと改行文字を表示する
set statusline=%<%f\ %m%r%h%w%{'['.(&fenc!=''?&fenc:&enc).']['.&ff.']'}%=%l,%c%V%8P

"-----------------------------------------------------------------------------
" マップ定義
"
"バッファ移動用キーマップ
" F2: 前のバッファ
" F3: 次のバッファ
" F4: バッファ削除
map <F2> <ESC>:bp<CR>
map <F3> <ESC>:bn<CR>
map <F4> <ESC>:bw<CR>
"表示行単位で行移動する
nnoremap j gj
nnoremap k gk
"フレームサイズを怠惰に変更する
map <kPlus> <C-W>+
map <kMinus> <C-W>-




参考サイト

忘れてしまった。。時間のある時に再度探します。ごめんなさい。。

CentOS 5.5 i386 on VMware Fusion3 インストール

OSインストール

とりあえずネットワークの設定だけして他は何も入れない。

http://www.centos.org/

最新の状態にアップデート

# yum check-update
# yum update


ntpのインストールと設定

# yum install ntp
# cp -a /etc/ntp.conf /etc/ntp.conf.org
# cat <<INPUT > /etc/ntp.conf
server 210.173.160.57
server 133.100.9.2
restrict default ignore
restrict 127.0.0.1
restrict 210.173.160.57 mask 255.255.255.255 noquery nomodify notrap notrust
restrict 133.100.9.2 mask 255.255.255.255 noquery nomodify notrap notrust
driftfile /etc/ntp/drift
authenticate no
INPUT

※ 上記 NTPサーバのIPアドレスは必要に応じて変更

参考サイト
http://www.ipa.go.jp/security/awareness/administrator/secure-web/chap4/4_ntpd.html
http://www.venus.dti.ne.jp/~yoshi-o/NTP/NTP-Table.html


時刻合わせ

# ntpdate 210.173.160.57


/etc/skel/ に設定追加

# cat <<INPUT >> /etc/skel/.bashrc
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
alias vi='vim'
INPUT

.vimrc も作成 .vimrcサンプル


ユーザー作成

# groupadd -g gid groupname
# useradd -u uid -g groupname username
# passwd username


/etc/ssh/sshd_config の設定

# vi /etc/ssh/sshd_config

PermitRootLogin no


/etc/inittab の設定

# vi /etc/inittab

tty2-6をコメントアウト


SELinux の無効化

# vi /etc/selinux/config

SELINUX=disabled


ホスト名の変更

# vi /etc/sysconfig/network

HOSTNAME=xxx.xxx.xxx


開発用ツールのインストール

# yum install kernel-headers
# yum install kernel-devel
# yum install gcc


サービス自動起動設定

// ON
# chkconfig ntpd on

// 状況に応じて
# chkconfig autofs off
# chkconfig iptables off
# chkconfig ip6tables off
# chkconfig irqbalance off
# chkconfig messagebus off

# chkconfig netfs off
# chkconfig nfslock off
# chkconfig portmap off
# chkconfig rpcgssd off
# chkconfig rpcidmapd off

# chkconfig anacron off
# chkconfig acpid off
# chkconfig apmd off
# chkconfig atd off
# chkconfig auditd off
# chkconfig avahi-daemon off
# chkconfig bluetooth off
# chkconfig cpuspeed off
# chkconfig --level 1 cpuspeed off
# chkconfig cups off
# chkconfig firstboot off
# chkconfig gpm off
# chkconfig haldaemon off
# chkconfig hidd off
# chkconfig isdn off
# chkconfig kudzu off
# chkconfig lvm2-monitor off
# chkconfig --level 1 lvm2-monitor off
# chkconfig mcstrans off
# chkconfig mdmonitor off
# chkconfig microcode_ctl off
# chkconfig pcscd off
# chkconfig rawdevices off
# chkconfig readahead_early off
# chkconfig readahead_later off
# chkconfig restorecond off
# chkconfig xfs off
# chkconfig sendmail off

# chkconfig smartd off

# chkconfig yum-updatesd off