トップ 一覧 検索 ヘルプ RSS ログイン

Linuxの変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
!!!Linuxの選択
!!利用するLinuxを選択する。
CentOS 5.5(RedHat Linux Clone OS)の64bit版を利用する。

*CentOS:http://www.centos.org/

!!インストール作業
*テキストマイニングで扱うデータが多い為,Rで計算するとメモリエラーが表示される。
**この改善策は,64bitOSとR(64bit版)を利用することにより,扱えるメモリ容量(2GB超)が増加すると知ったからである{{fn http://phoenixx.sakura.ne.jp/R/wiki.cgi?page=BugTrack%2D%A3%D2%C8%F7%CB%BA%CF%BF%2F16}}。
**OSは,32bit版OSではなく,64bit版OSを利用する。
**Rも32bit版ではなく,64bit版を利用する。

*動作環境
**Panasonic Let's Note CF-W8(CPU:Core2Duo MEM:4GB)
**VMWARE 1.0.9 でCentOS5.5(64bitOS)をインストール
{{ref_image r_demo2.jpg}}

!!!LinuxにRをインストール
!!R(64bit版)をインストール
*かなり強引なインストール方法です。きちんと整理し,シェル形式で書くつもりです。
**以下,CentOS5.5(64bit)をインストール後,R(64bit)をダウンロードし,インストールを行ったログです。

 [root@localhost kinya]# cd /usr/local/src/
 
 [root@localhost src]# wget http://cran.md.tsukuba.ac.jp/bin/linux/redhat/el5/x86_64/R-2.10.0-2.el5.x86_64.rpm
 [root@localhost src]# wget http://cran.md.tsukuba.ac.jp/bin/linux/redhat/el5/x86_64/R-core-2.10.0-2.el5.x86_64.rpm
 [root@localhost src]# wget http://cran.md.tsukuba.ac.jp/bin/linux/redhat/el5/x86_64/R-devel-2.10.0-2.el5.x86_64.rpm
 [root@localhost src]# wget http://cran.md.tsukuba.ac.jp/bin/linux/redhat/el5/x86_64/libRmath-2.10.0-2.el5.x86_64.rpm
 [root@localhost src]# wget http://cran.md.tsukuba.ac.jp/bin/linux/redhat/el5/x86_64/libRmath-devel-2.10.0-2.el5.x86_64.rpm
 
 [root@localhost src]# ls
 R-2.10.0-2.el5.x86_64.rpm        libRmath-2.10.0-2.el5.x86_64.rpm
 R-core-2.10.0-2.el5.x86_64.rpm   libRmath-devel-2.10.0-2.el5.x86_64.rpm
 R-devel-2.10.0-2.el5.x86_64.rpm
 
 [root@localhost src]# rpm -ivh libRmath-2.10.0-2.el5.x86_64.rpm 
 [root@localhost src]# rpm -ivh libRmath-devel-2.10.0-2.el5.x86_64.rpm 
 
 [root@localhost src]# yum -y install bzip2-devel*
 [root@localhost src]# yum -y install gcc*
 [root@localhost src]# yum -y install perl*
 [root@localhost src]# yum -y install tetex-latex*
 [root@localhost src]# yum -y install xdg-utils*
 [root@localhost src]# yum -y install libX*
 [root@localhost src]# yum -y install pcre-devel*
 [root@localhost src]# yum -y install tcl-devel*
 [root@localhost src]# yum -y install tk-devel*
 
 [root@localhost src]# wget http://packages.sw.be/perl-File-Recurse/perl-File-Recurse-0.11-1.2.el5.rf.noarch.rpm
 [root@localhost src]# wget ftp://ftp.pbone.net/mirror/centos.karan.org/el5/extras/testing/i386/RPMS/perl-File-Copy-Recursive-0.35-1.el5.kb.noarch.rpm
 [root@localhost src]# wget http://packages.sw.be/perl-File-Copy-Recursive/perl-File-Copy-Recursive-0.38-1.el5.rf.noarch.rpm
 
 [root@localhost src]# ls
 R-2.10.0-2.el5.x86_64.rpm         libRmath-devel-2.10.0-2.el5.x86_64.rpm
 R-core-2.10.0-2.el5.x86_64.rpm    perl-File-Copy-Recursive-0.35-1.el5.kb.noarch.rpm
 R-devel-2.10.0-2.el5.x86_64.rpm   perl-File-Copy-Recursive-0.38-1.el5.rf.noarch.rpm
 libRmath-2.10.0-2.el5.x86_64.rpm  perl-File-Recurse-0.11-1.2.el5.rf.noarch.rpm
 
 [root@localhost src]# rpm -ivh perl-File-Recurse-0.11-1.2.el5.rf.noarch.rpm 
 [root@localhost src]# rpm -ivh perl-File-Copy-Recursive-0.38-1.el5.rf.noarch.rpm 
 
 [root@localhost src]# rpm -ivh R-core-2.10.0-2.el5.x86_64.rpm 
 [root@localhost src]# rpm -ivh R-devel-2.10.0-2.el5.x86_64.rpm 
 [root@localhost src]# rpm -ivh R-2.10.0-2.el5.x86_64.rpm  

*ここまで終了すると,GNOMEの端末コンソールより,Rを立ち上げる。
**demo(graphics)とコマンドを打つと,以下のような綺麗なグラフのデモを見ることができる。

**Rのコマンドラインから次のように入力する。
 > demo(graphics)

{{ref_image r_demo3.jpg}}

!!MeCabのインストール
*形態素分析器MeCabをインストール

 [root@localhost kinya]# cd /usr/local/src/
 [root@localhost src]# ls
 R-2.10.0-2.el5.x86_64.rpm         libRmath-devel-2.10.0-2.el5.x86_64.rpm
 R-core-2.10.0-2.el5.x86_64.rpm    perl-File-Copy-Recursive-0.35-1.el5.kb.noarch.rpm
 R-devel-2.10.0-2.el5.x86_64.rpm   perl-File-Copy-Recursive-0.38-1.el5.rf.noarch.rpm
 libRmath-2.10.0-2.el5.x86_64.rpm  perl-File-Recurse-0.11-1.2.el5.rf.noarch.rpm
 
 [root@localhost src]# wget http://downloads.sourceforge.net/project/mecab/mecab/0.98/mecab-0.98.tar.gz?use_mirror=jaist&ts=1280729466
 
 [root@localhost src]# wget http://downloads.sourceforge.net/project/mecab/mecab-ipadic/2.7.0-20070801/mecab-ipadic-2.7.0-20070801.tar.gz?use_mirror=jaist&ts=1280729552
 
 [root@localhost src]# ls
 R-2.10.0-2.el5.x86_64.rpm               mecab-0.98.tar.gz
 R-core-2.10.0-2.el5.x86_64.rpm          mecab-ipadic-2.7.0-20070801.tar.gz
 R-devel-2.10.0-2.el5.x86_64.rpm         perl-File-Copy-Recursive-0.35-1.el5.kb.noarch.rpm
 libRmath-2.10.0-2.el5.x86_64.rpm        perl-File-Copy-Recursive-0.38-1.el5.rf.noarch.rpm
 libRmath-devel-2.10.0-2.el5.x86_64.rpm  perl-File-Recurse-0.11-1.2.el5.rf.noarch.rpm
 
 [root@localhost src]# tar xvfz mecab-0.98.tar.gz 
 [root@localhost src]# cd mecab-0.98
 [root@localhost mecab-0.98]# ./configure --with-charset=utf8 --enable-utf8-only
 [root@localhost mecab-0.98]# make
 [root@localhost mecab-0.98]# make install
 
 [root@localhost mecab-0.98]# cd ..
 [root@localhost src]# tar xvfz mecab-ipadic-2.7.0-20070801.tar.gz 
 [root@localhost src]# cd mecab-ipadic-2.7.0-20070801
 
 [root@localhost mecab-ipadic-2.7.0-20070801]# ./configure --with-charset=utf8
 [root@localhost mecab-ipadic-2.7.0-20070801]# make
 [root@localhost mecab-ipadic-2.7.0-20070801]# make install

*MeCabの動作確認
**インストールした後,以下のサンプルプログラムを入力し,うまく表示されればOK。

 [root@localhost src]# echo "今日はいい天気です。" | mecab
 今日	名詞,副詞可能,*,*,*,*,今日,キョウ,キョー
 は	助詞,係助詞,*,*,*,*,は,ハ,ワ
 いい	形容詞,自立,*,*,形容詞・イイ,基本形,いい,イイ,イイ
 天気	名詞,一般,*,*,*,*,天気,テンキ,テンキ
 です	助動詞,*,*,*,特殊・デス,基本形,です,デス,デス
 。	記号,句点,*,*,*,*,。,。,。
 EOS

**茶筅(ちゃせん)オプションを使うと次の通りになります。

 [root@localhost src]# echo "今日はいい天気です。" | mecab -Ochasen 
 今日	キョウ	今日	名詞-副詞可能		
 は	ハ	は	助詞-係助詞		
 いい	イイ	いい	形容詞-自立	形容詞・イイ	基本形
 天気	テンキ	天気	名詞-一般		
 です	デス	です	助動詞	特殊・デス	基本形
 。	。	。	記号-句点		
 EOS

!!RMeCabのインストール
*RMeCabは,うまくwgetできなかったので,GNOME上のブラウザからダウンロードする。
**http://groups.google.com/group/rmecab/files
**ファイル名は,次の通り。
**RMeCab_0.86_R_x86_64-unknown-linux-gnu.tar.gz

 root権限で,ダウンロードしてきたので,以下のフォルダに該当ソフトがあるので,移動する。
 [root@localhost src]# cd /root/
 [root@localhost ~]# ls
 Desktop  anaconda-ks.cfg  install.log  install.log.syslog
 
 [root@localhost ~]# cd DEesktop/
 [root@localhost Desktop]# ls
 RMeCab_0.86_R_x86_64-unknown-linux-gnu.tar.gz
 [root@localhost Desktop]# mv RMeCab_0.86_R_x86_64-unknown-linux-gnu.tar.gz /usr/local/src/ 
 [root@localhost Desktop]# cd /usr/local/src/

*/usr/local/srcの現在の中身は,次の通り
 [root@localhost src]# ls
 R-2.10.0-2.el5.x86_64.rpm
 R-core-2.10.0-2.el5.x86_64.rpm
 R-devel-2.10.0-2.el5.x86_64.rpm
 RMeCab_0.86.tar.gz
 RMeCab_0.86_R_x86_64-unknown-linux-gnu.tar.gz
 libRmath-2.10.0-2.el5.x86_64.rpm
 libRmath-devel-2.10.0-2.el5.x86_64.rpm
 mecab-0.98
 mecab-0.98.tar.gz
 mecab-ipadic-2.7.0-20070801
 mecab-ipadic-2.7.0-20070801.tar.gz
 perl-File-Copy-Recursive-0.35-1.el5.kb.noarch.rpm
 perl-File-Copy-Recursive-0.38-1.el5.rf.noarch.rpm
 perl-File-Recurse-0.11-1.2.el5.rf.noarch.rpm

*Rに先ほどダウンロードしてきたパッケージを読み込ませると・・・
 下記のエラーがR上で表示されるため,/etc/ld.so.confに追記する。
 
 (エラー内容)
 Error in dyn.load(file, DLLpath = DLLpath, ...) :
 共有ライブラリ '/usr/lib64/R/library/RMeCab/libs/RMeCab.so' を読み込めません
 libmecab.so.1: 共有オブジェクトファイルを開けません: そのようなファイルやディレクトリはありません
 エラー:  'RMeCab' に対するパッケージもしくは名前空間のロードが失敗しました
 
 [root@localhost library]# vi /etc/ld.so.conf.d/mecab.conf
 /usr/local/libを追加する。
 
 [root@localhost library]# /sbin/ldconfig ←設定を反映させる。

*Rに先ほどダウンロードしてきたパッケージを読み込ませる。
 [root@localhost src]# R
 
 R version 2.10.0 (2009-10-26)
 Copyright (C) 2009 The R Foundation for Statistical Computing
 ISBN 3-900051-07-0
 
 Rは、自由なソフトウェアであり、「完全に無保証」です。 
 一定の条件に従えば、自由にこれを再配布することができます。 
 配布条件の詳細に関しては、'license()'あるいは'licence()'と入力してください。 
 
 Rは多くの貢献者による共同プロジェクトです。 
 詳しくは'contributors()'と入力してください。 
 また、RやRのパッケージを出版物で引用する際の形式については
 'citation()'と入力してください。 
 
 'demo()'と入力すればデモをみることができます。 
 'help()'とすればオンラインヘルプが出ます。 
 'help.start()'でHTMLブラウザによるヘルプがみられます。 
 'q()'と入力すればRを終了します。 
 
  [以前にセーブされたワークスペースを復帰します] 
 
 > install.packages("RMeCab_0.86_R_x86_64-unknown-linux-gnu.tar.gz" , destdir = "." , repos = NULL)
  install.packages("RMeCab_0.86.tar.gz", destdir = ".", repos = NULL) 中で警告がありました:
 引数 'lib' が欠けています:/usr/lib64/R/library を使います  
 * installing *binary* package ‘RMeCab’ ...
 * DONE (RMeCab)

*RMeCabの動作確認

 [root@localhost library]# R
 R version 2.10.0 (2009-10-26)
 Copyright (C) 2009 The R Foundation for Statistical Computing
 ISBN 3-900051-07-0
 
 Rは、自由なソフトウェアであり、「完全に無保証」です。  
 一定の条件に従えば、自由にこれを再配布することができます。  
 配布条件の詳細に関しては、'license()'あるいは'licence()'と入力してください。 
 
 Rは多くの貢献者による共同プロジェクトです。 
 詳しくは'contributors()'と入力してください。 
 また、RやRのパッケージを出版物で引用する際の形式については
 'citation()'と入力してください。 
 
 'demo()'と入力すればデモをみることができます。 
 'help()'とすればオンラインヘルプが出ます。 
 'help.start()'でHTMLブラウザによるヘルプがみられます。 
 'q()'と入力すればRを終了します。 
 
 > 
 > library(RMeCab)
 > RMeCabC("コーヒーに300円使いました。")
 [[1]] 名詞 "コーヒー"
 [[2]] 助詞 "に"
 [[3]] 名詞 "300"
 [[4]] 名詞 "円"
 [[5]] 動詞 "使い"
 [[6]] 助動詞 "まし"
 [[7]] 助動詞 "た"
 [[8]] 記号 "。"
 
 >
 > res <- RMeCabC("これはペンです。")
 > res
 [[1]] 名詞 "これ" 
 [[2]] 助詞 "は"
 [[3]] 名詞 "ペン" 
 [[4]] 助動詞 "です" 
 [[5]] 記号 "。" 
 > unlist(res)
 名詞   助詞   名詞 助動詞   記号 
 "これ"   "は" "ペン" "です"   "。" 
 > q()
 Save workspace image? [y/n/c]: y

!!!WindowsとVMWARE上のR(Linux)とのデータ共有
!!Sambaの設定
!Sambaのインストール
 [root@localhost ~]# yum -y install samba

!Sambaサーバーアクセス用ユーザ作成 
 [root@localhost ~]# useradd user
 [root@localhost ~]# passwd user
 
  Changing password for user user.
  New UNIX password: 
  Retype new UNIX password: 
  passwd: all authentication tokens updated successfully.

!ホームディレクトリを作成(新規ユーザ)
 [root@localhost ~]# mkdir /etc/skel/samba

!ホームディレクトリを作成(既存ユーザ)
 [root@localhost ~]# vi mkhomedir.sh
 
    #!/bin/bashfor user in `ls /home`
    do
    id $user > /dev/null 2>&1
    [ $? -eq 0 ] && \
    [ ! -d /home/$user/samba ] && \
    mkdir /home/$user/samba && \
    chown $user:$user /home/$user/samba && \
    echo "/home/$user/samba create"
    done
 
 [root@localhost ~]# sh mkhomedir.sh
 /home/user/samba create

!共有ディレクトリを作成
 [root@localhost ~]# mkdir /home/samba
 [root@localhost ~]# chown nobody:nobody /home/samba

!Samba設定
 [root@localhost ~]# vi /etc/samba/smb.conf

参考サイト
http://centossrv.com/samba.shtml

!Sambaがうまく動かない場合,次の作業も行った。(1)

・ネットワーク設定(設定内容は,参考URLから拝借)
・natする。dhcp は使わない。

 $ cat /etc/sysconfig/network-scripts/ifcfg-eth0
 # Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]
 DEVICE=eth0
 BOOTPROTO=static
 HWADDR=00:50:56:7E:06:58
 IPADDR=192.168.249.10
 NETMASK=255.255.255.0
 GATEWAY=192.168.249.2
 ONBOOT=yes

・変更を反映させる為に次のコマンドで更新。

 
 # /sbin/service network restart
 

参考URL
http://d.hatena.ne.jp/ZIGOROu/20090111/1231673135

!Sambaがうまく動かない場合,次の作業も行った。(2)

・SElinuxが原因?

 # getenforce で状態確認
 
 # setenforce 0 SELinux無効化

・iptablesが原因?

・確認方法

 
 /etc/init.d/iptables stop

・これでアクセスできたらiptablesが原因

・sambaを許可

 
 iptables -I INPUT 3 -p tcp --dport 445 -j ACCEPT
 iptables -I INPUT 3 -p tcp --dport 139 -j ACCEPT
 iptables -I INPUT 3 -p udp --dport 138 -j ACCEPT
 iptables -I INPUT 3 -p upd --dport 137 -j ACCEPT

参考URL(サンプル事例をコピーさせて頂きました)
http://d.hatena.ne.jp/red_snow/20100805/1280984405

!Sambaがうまく動かない場合,次の作業も行った。(3)

・Windowsは,sambaのhome directryを認識できなかった為,次の作業を行った。
原因は,Linux側の設定が,localhost.localdomainとなっている事。

・network ファイルを開いて設定を変更

 
 # vi /etc/sysconfig/network
 
 
 NETWORKING=yes
 NETWORKING_IPV6=yes
 HOSTNAME=localhost.localdomain
 

・変更例

 
 NETWORKING=yes
 NETWORKING_IPV6=yes
 HOSTNAME=vm-host


・Linuxを再起動させる

 
 # reboot

参考URL
http://wopose.blogspot.com/2009/10/vmware-centos-samba.html

!!Linux(Samba)-Windowsでの不具合
*文字コードの不具合
**Linux(Samba)側 UTF-8,Windows側 SJIS
**資料(.TXT処理済)をSambaにアップロード
**TeratermでRを起動させる。→Windows側からプログラムをコピー&ペーストをして処理をさせる。
**以上の処理で資料の文字を読み取らず,テキストマイニングできないエラーが生じた。

*理由
**Windowsで作成した資料の文字コードは,SJIS(Sambaでは,CP932)。Linux(Samba)は,UTF-8。
**このような理由から,Linux側では,SJISのデータは,文字化けをしていた模様。

*解決策
**Linux(Samba)側にアップしたデータをエディタで開き,文字コードをUTF-8で保存しなおす必要あり。

*その他の解決策?
**Linux(Samaba)側の設定(/etc/samba/smb.conf)の文字コードを変更すればOK?
**参考URL
**http://d.hatena.ne.jp/rsyudo/20070621/p1

!!!LinuxPCの複数台活用
PC Clusterを参照

{{footnote_list}}