- 追加された行はこのように表示されます。
- 削除された行は
このように表示されます。
!!!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}}