Linuxの選択
利用するLinuxを選択する。
CentOS 5.5(RedHat Linux Clone OS)の64bit版を利用する。
- CentOS:http://www.centos.org/
インストール作業
- テキストマイニングで扱うデータが多い為,Rで計算するとメモリエラーが表示される。
- この改善策は,64bitOSとR(64bit版)を利用することにより,扱えるメモリ容量(2GB超)が増加すると知ったからである[1]。
- 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)をインストール
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)
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
参考URLhttp://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
参考URLhttp://wopose.blogspot.com/2009/10/vmware-centos-samba.html
Linux(Samba)-Windowsでの不具合
- 文字コードの不具合
- 理由
- 解決策
- Linux(Samba)側にアップしたデータをエディタで開き,文字コードをUTF-8で保存しなおす必要あり。
- その他の解決策?
- Linux(Samaba)側の設定(/etc/samba/smb.conf)の文字コードを変更すればOK?
- 参考URL
- http://d.hatena.ne.jp/rsyudo/20070621/p1
LinuxPCの複数台活用
PC Clusterを参照
- [1]http://phoenixx.sakura.ne.jp/R/wiki.cgi?page=BugTrack%2D%A3%D2%C8%F7%CB%BA%CF%BF%2F16