**CentOS 5.4 64bit** ====== インストール ====== メディアチェック後,インストール開始 「システムクロックでUTCを使用」のチェックは外した 追加リポジトリにチェックを入れると固まるので,入れない. NTPサーバ名: ntp.nict.jp インストール完了後再起動でとりあえずOK ====== 諸設定 ====== ===== proxy設定 ===== システム→設定→ネットワークのプロキシ で設定可能 ===== ユーザhaseがsudo出来るように設定 ===== bashからsuでルートにログイン /usr/sbin/visudo でsudo設定ファイルにアクセス viなので,「i」キーで編集開始 ## Allow root to run any commands anywhere root ALL=(ALL) ALL の下に hase ALL=(ALL) ALL を追記 エスケープキーを押して編集モードから抜ける :wq で変更を保存して閉じる ===== キーボード入力関連の設定 ===== ==== CapsLockキーと左Ctrlキーを入れ替え ==== システム→設定→キーボード→レイアウトのオプション Ctrl key positionでSwap Ctrl and CapsLock を選択し閉じる ==== 日本語入力切り替え設定 ==== 言語バーを右クリックして,「SCIMを設定」を選択する。 フロントエンド→全体設定→オプション * キーボード配列を日本語に設定. * ホットキーの開始に「Henkan」キーを,終了に「Muhenkan」キーを設定 SCIMの再起動を促されるが,コマンドが分からなかったので,マシンを再起動した. ===== sambaの設定 ===== システム→管理→セキュリティレベルとファイアーウォールの設定でsambaにチェックを入れる. ユーザ(既存)を追加 pdbedit -a hase sambaのパスワードを設定 [hase@hasegawa02 ~]$ smbpasswd Old SMB password: New SMB password: Retype new SMB password: Password changed for user hase ===== CUDA環境の構築 ===== ==== ドライバのインストール ==== ドライバインストールには,kernel-develが必要なので, sudo yum install kernel-devel で入れておく. http://jp.download.nvidia.com/XFree86/Linux-x86_64/195.36.15/NVIDIA-Linux-x86_64-195.36.15-pkg2.run をダウンロードし、実行可能にする。 sudo /sbin/init 3 でXを切り、改めてルートでログインする。 cd DownloadDir sh ./NVIDIA-Linux-x86_64-195.36.15-pkg2.run yesばっかり選べばよい. 終わったら再起動し、 reboot now Xを使う設定に戻す。 /sbin/init 5 元のユーザでログインし、 nvidia-settings でNVIDIAの管理面画が出てくることを確認する。 ==== ツールキットのインストール ==== http://developer.download.nvidia.com/compute/cuda/2_3/toolkit/cudatoolkit_2.3_linux_64_rhel5.3.run をダウンロードし、実行可能にする。 sh cudatoolkit_2.3_linux_64_rhel5.3.run インストールディレクトリが見付からない、作成できないと怒られるので、sudoで実行 sodo sh cudatoolkit_2.3_linux_64_rhel5.3.run 経過省略 * Please make sure your PATH includes /usr/local/cuda/bin * Please make sure your LD_LIBRARY_PATH * for 32-bit Linux distributions includes /usr/local/cuda/lib * for 64-bit Linux distributions includes /usr/local/cuda/lib64 * OR * for 32-bit Linux distributions add /usr/local/cuda/lib * for 64-bit Linux distributions add /usr/local/cuda/lib64 * to /etc/ld.so.conf and run ldconfig as root * Please read the release notes in /usr/local/cuda/doc/ * To uninstall CUDA, delete /usr/local/cuda * Installation Complete パスを作れと言われている。現在のパスを確認 echo $PATH パスを追加する。 vi ~/.bash_profile のパスの部分を以下のように書き換えた。 PATH=$PATH:$HOME/bin:/usr/local/cuda/bin:/usr/local/cuda/lib64 保存後、変更を適用する source .bash_profile 確認 echo $PATH /usr/kerberos/bin:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/usr/java/jdk1.6.0_19/bin:/home/hase/bin:/home/hase/bin:/usr/local/cuda/bin:/usr/local/cuda/lib64 2010/04/19修正: PATHへのパス(ややこしいな)はコマンド検索のために使用するので, /usr/local/cuda/bin を追加する. LD_LIBRARY_PATHへのパスはdll(ダイナミックリンク・ライブラリ)を使うために /usr/local/cuda/lib64 を追加する. 結局, vi ~/.bash_profile の # User specific environment and startup programs 以下を PATH=$PATH:$HOME/bin:/usr/local/cuda/bin:/sbin:/user/sbin LD_LIBRARY_PATH=/usr/local/cuda/lib64 export PATH export LD_LIBRARY_PATH に書き換えれば良い感じ. 2010/04/19再修正: ~/.bash_profileへの記入だと,そのユーザがログインした時にしか読み込まないので, 複数ユーザで使いたい場合,それぞれの~/.bash_profileに書き込む必要がある (ついでに書いておくと,~/.bashrcだとシェル起動毎に読み込まれる). 今後,学生も含めて何人かが使用することになりそうなので,以下の内容を /etc/profileの末尾に書き込んでおく(root権限が必要). # For CUDA(2010/04/19) export LD_LIBRARY_PATH=/usr/local/cuda/lib64 export PATH=$PATH:/usr/local/cuda/bin export MANPATH=$MANPATH:/usr/local/cuda/man 上から順に,dll(ダイナミックリンク・ライブラリ)へのパス,コマンド検索パス, マニュアルのパスだそーです(青木・額田:はじめてのCUDAプログラミング,p.220より). source /etc/profile で設定内容を適用. bashの環境変数の設定についてはhttp://www.atmarkit.co.jp/flinux/rensai/theory09/theory09b.htmlが分かりやすい. ==== SDKのインストール ==== http://developer.download.nvidia.com/compute/cuda/2_3/sdk/cudasdk_2.3_linux.run をダウンロードし,一般ユーザでインストール(shコマンド)する. インストール先を聞かれるが,デフォルト ~/NVIDIA_GPU_Computing_SDK で良いならEnterキーを押せばよい. インストール完了後,コンパイルする必要がある。 [hase@hasegawa02 ~]$ cd ~/NVIDIA_GPU_Computing_SDK/C [hase@hasegawa02 C]$ make したところ、 make[1]: ディレクトリ `/home/hase/NVIDIA_GPU_Computing_SDK/C/common' に入ります make[1]: ディレクトリ `/home/hase/NVIDIA_GPU_Computing_SDK/C/common' から出ます make[1]: ディレクトリ `/home/hase/NVIDIA_GPU_Computing_SDK/C/common' に入ります ./../common/inc/paramgl.h:24 から include されたファイル中, src/paramgl.cpp:19 から: ./../common/inc/GL/glut.h:60:20: error: GL/glu.h: そのようなファイルやディレクトリはありません make[1]: *** [obj/release/paramgl.cpp.o] エラー 1 make[1]: ディレクトリ `/home/hase/NVIDIA_GPU_Computing_SDK/C/common' から出ます make: *** [lib/libparamgl.so] エラー 2 と言われて、コンパイルできない。 /home/hase/NVIDIA_GPU_Computing_SDK/C/common/inc/paramgl.hの24行目でインクルードしようとしている glu.hというファイルが無い!と怒られているので, glu.hで検索してみる. nvidiaのフォーラムhttp://forums.nvidia.com/lofiversion/index.php?t30464.htmlに 似たよーなエラーが出ている人がいた。freeglutが必要そうなので、 sudo yum install freeglut freeglut-devel でインストールする。 もう一度makeすると、 [hase@hasegawa02 C]$ make make[1]: ディレクトリ `/home/hase/NVIDIA_GPU_Computing_SDK/C/common' に入ります make[1]: ディレクトリ `/home/hase/NVIDIA_GPU_Computing_SDK/C/common' から出ます make[1]: ディレクトリ `/home/hase/NVIDIA_GPU_Computing_SDK/C/common' に入ります a - obj/release/paramgl.cpp.o a - obj/release/param.cpp.o make[1]: ディレクトリ `/home/hase/NVIDIA_GPU_Computing_SDK/C/common' から出ます make[1]: ディレクトリ `/home/hase/NVIDIA_GPU_Computing_SDK/C/common' に入ります src/rendercheck_gl.cpp:54: 警告: unused parameter ‘bQAReadback’ src/rendercheck_gl.cpp:54: 警告: unused parameter ‘bUseFBO’ src/rendercheck_gl.cpp: In member function ‘virtual bool CheckRender::PGMvsPGM(const char*, const char*, float, float)’: src/rendercheck_gl.cpp:144: 警告: フォーマットへの引数が多すぎます src/rendercheck_gl.cpp: In member function ‘virtual bool CheckRender::PPMvsPPM(const char*, const char*, float, float)’: src/rendercheck_gl.cpp:190: 警告: フォーマットへの引数が多すぎます src/rendercheck_gl.cpp:183: 警告: unused variable ‘src_data’ src/rendercheck_gl.cpp:183: 警告: unused variable ‘ref_data’ src/rendercheck_gl.cpp: In member function ‘virtual bool CheckRender::compareBin2BinUint(const char*, const char*, unsigned int, float, float)’: src/rendercheck_gl.cpp:226: 警告: フォーマットへの引数が少なすぎます src/rendercheck_gl.cpp:228: 警告: フォーマットへの引数が多すぎます src/rendercheck_gl.cpp: In member function ‘virtual bool CheckRender::compareBin2BinFloat(const char*, const char*, unsigned int, float, float)’: src/rendercheck_gl.cpp:288: 警告: フォーマットへの引数が少なすぎます src/rendercheck_gl.cpp:290: 警告: フォーマットへの引数が多すぎます src/rendercheck_gl.cpp: At global scope: src/rendercheck_gl.cpp:518: 警告: unused parameter ‘Bpp’ src/rendercheck_gl.cpp:545: 警告: unused parameter ‘width’ src/rendercheck_gl.cpp:545: 警告: unused parameter ‘height’ src/rendercheck_gl.cpp:545: 警告: unused parameter ‘Bpp’ src/rendercheck_gl.cpp:560: 警告: unused parameter ‘width’ src/rendercheck_gl.cpp:560: 警告: unused parameter ‘height’ src/rendercheck_gl.cpp:560: 警告: unused parameter ‘Bpp’ src/rendercheck_gl.cpp:702: 警告: unused parameter ‘width’ src/rendercheck_gl.cpp:702: 警告: unused parameter ‘height’ a - obj/release/rendercheck_gl.cpp.o make[1]: ディレクトリ `/home/hase/NVIDIA_GPU_Computing_SDK/C/common' から出ます make -C src/clock/ make[1]: ディレクトリ `/home/hase/NVIDIA_GPU_Computing_SDK/C/src/clock' に入ります make[1]: ディレクトリ `/home/hase/NVIDIA_GPU_Computing_SDK/C/src/clock' から出ます make -C src/simpleCUFFT/ make[1]: ディレクトリ `/home/hase/NVIDIA_GPU_Computing_SDK/C/src/simpleCUFFT' に入ります make[1]: ディレクトリ `/home/hase/NVIDIA_GPU_Computing_SDK/C/src/simpleCUFFT' から出ます make -C src/matrixMul/ make[1]: ディレクトリ `/home/hase/NVIDIA_GPU_Computing_SDK/C/src/matrixMul' に入ります make[1]: ディレクトリ `/home/hase/NVIDIA_GPU_Computing_SDK/C/src/matrixMul' から出ます make -C src/fastWalshTransform/ make[1]: ディレクトリ `/home/hase/NVIDIA_GPU_Computing_SDK/C/src/fastWalshTransform' に入ります make[1]: ディレクトリ `/home/hase/NVIDIA_GPU_Computing_SDK/C/src/fastWalshTransform' から出ます make -C src/simpleAtomicIntrinsics/ make[1]: ディレクトリ `/home/hase/NVIDIA_GPU_Computing_SDK/C/src/simpleAtomicIntrinsics' に入ります make[1]: ディレクトリ `/home/hase/NVIDIA_GPU_Computing_SDK/C/src/simpleAtomicIntrinsics' から出ます make -C src/dxtc/ make[1]: ディレクトリ `/home/hase/NVIDIA_GPU_Computing_SDK/C/src/dxtc' に入ります ./dxtc.cu(101): Advisory: Loop was not unrolled, unexpected control flow construct make[1]: ディレクトリ `/home/hase/NVIDIA_GPU_Computing_SDK/C/src/dxtc' から出ます make -C src/marchingCubes/ make[1]: ディレクトリ `/home/hase/NVIDIA_GPU_Computing_SDK/C/src/marchingCubes' に入ります marchingCubes.cpp: In function ‘void runAutoTest(int, char**)’: marchingCubes.cpp:327: 警告: format ‘%d’ expects type ‘int’, but argument 2 has type ‘long unsigned int’ /usr/bin/ld: cannot find -lXi collect2: ld はステータス 1 で終了しました make[1]: *** [../../bin/linux/release/marchingCubes] エラー 1 make[1]: ディレクトリ `/home/hase/NVIDIA_GPU_Computing_SDK/C/src/marchingCubes' から出ます make: *** [src/marchingCubes/Makefile.ph_build] エラー 2 って出た。 その後,何の気無しにPoderosaから [hase@hasegawa02 C]$ make したら, make[1]: ディレクトリ `/home/hase/NVIDIA_GPU_Computing_SDK/C/common' に入ります make[1]: ディレクトリ `/home/hase/NVIDIA_GPU_Computing_SDK/C/common' から出ます make[1]: ディレクトリ `/home/hase/NVIDIA_GPU_Computing_SDK/C/common' に入ります make[1]: ディレクトリ `/home/hase/NVIDIA_GPU_Computing_SDK/C/common' から出ます make[1]: ディレクトリ `/home/hase/NVIDIA_GPU_Computing_SDK/C/common' に入ります make[1]: ディレクトリ `/home/hase/NVIDIA_GPU_Computing_SDK/C/common' から出ます make -C src/clock/ make[1]: ディレクトリ `/home/hase/NVIDIA_GPU_Computing_SDK/C/src/clock' に入ります make[1]: ディレクトリ `/home/hase/NVIDIA_GPU_Computing_SDK/C/src/clock' から出ます make -C src/simpleCUFFT/ make[1]: ディレクトリ `/home/hase/NVIDIA_GPU_Computing_SDK/C/src/simpleCUFFT' に入ります make[1]: ディレクトリ `/home/hase/NVIDIA_GPU_Computing_SDK/C/src/simpleCUFFT' から出ます make -C src/matrixMul/ make[1]: ディレクトリ `/home/hase/NVIDIA_GPU_Computing_SDK/C/src/matrixMul' に入ります make[1]: ディレクトリ `/home/hase/NVIDIA_GPU_Computing_SDK/C/src/matrixMul' から出ます make -C src/fastWalshTransform/ make[1]: ディレクトリ `/home/hase/NVIDIA_GPU_Computing_SDK/C/src/fastWalshTransform' に入ります make[1]: ディレクトリ `/home/hase/NVIDIA_GPU_Computing_SDK/C/src/fastWalshTransform' から出ます make -C src/simpleAtomicIntrinsics/ make[1]: ディレクトリ `/home/hase/NVIDIA_GPU_Computing_SDK/C/src/simpleAtomicIntrinsics' に入ります make[1]: ディレクトリ `/home/hase/NVIDIA_GPU_Computing_SDK/C/src/simpleAtomicIntrinsics' から出ます make -C src/dxtc/ make[1]: ディレクトリ `/home/hase/NVIDIA_GPU_Computing_SDK/C/src/dxtc' に入ります make[1]: ディレクトリ `/home/hase/NVIDIA_GPU_Computing_SDK/C/src/dxtc' から出ます make -C src/marchingCubes/ make[1]: ディレクトリ `/home/hase/NVIDIA_GPU_Computing_SDK/C/src/marchingCubes' に入ります /usr/bin/ld: cannot find -lXi collect2: ld はステータス 1 で終了しました make[1]: *** [../../bin/linux/release/marchingCubes] エラー 1 make[1]: ディレクトリ `/home/hase/NVIDIA_GPU_Computing_SDK/C/src/marchingCubes' から出ます make: *** [src/marchingCubes/Makefile.ph_build] エラー 2 って感じで,marchingCubesまではコンパイル出来た.何で?VNC経由だと何か違うの??と思ったけど, まあいいや.んで, cannot find -lXi でググったらhttp://www.atmarkit.co.jp/flinux/rensai/linuxtips/a115makeerror.htmlを見つけた. libXiというパッケージを入れればいいらしい. rpm -qa | grep libXi でシステムにlibXiパッケージが入っているかを確認したら,入っていなかった. [hase@hasegawa02 marchingCubes]$ yum search libXi で関係するパッケージを探すと, Loaded plugins: fastestmirror ================================ Matched: libXi ================================= libXi.i386 : X.Org X11 libXi ランタイムライブラリ libXi.x86_64 : X.Org X11 libXi ランタイムライブラリ libXi-devel.i386 : X.Org X11 libXi 開発パッケージ libXi-devel.x86_64 : X.Org X11 libXi 開発パッケージ libXinerama.i386 : X.Org X11 libXinerama ランタイムライブラリ libXinerama.x86_64 : X.Org X11 libXinerama ランタイムライブラリ libXinerama-devel.i386 : X.Org X11 libXinerama 開発パッケージ libXinerama-devel.x86_64 : X.Org X11 libXinerama 開発パッケージ とあるらしい. [hase@hasegawa02 marchingCubes]$ sudo yum install libXi libXi-devel さっきこけたmarchingCubesディレクトリに入ってmake [hase@hasegawa02 marchingCubes]$ make /usr/bin/ld: cannot find -lXmu collect2: ld はステータス 1 で終了しました make: *** [../../bin/linux/release/marchingCubes] エラー 1 こんどはXmu関連のパッケージ「libXmu」が必要らしい. [hase@hasegawa02 marchingCubes]$ sudo yum install libXmu libXmu-devel 再度makeしたら無事にコンパイル出来た.良かった良かった. 改めて cd ~/NVIDIA_GPU_Computing_SDK/C に入ってmakeすると,たくさんの警告を蹴散らしながら雄々しくコンパイルが進んでいく. そして最後に, Finished building all と表示され,無事(?)コンパイルが完了した.良かった良かった. 実行ファイルたちは, ~/NVIDIA_GPU_Computing_SDK/C/bin/linux/release に入っている. [hase@hasegawa02 release]$ ls 3dfd dxtc simpleAtomicIntrinsics BlackScholes eigenvalues simpleCUBLAS Mandelbrot fastWalshTransform simpleCUFFT MersenneTwister fluidsGL simpleGL MonteCarlo histogram simpleMultiGPU MonteCarloMultiGPU imageDenoising simplePitchLinearTexture SobelFilter lineOfSight simpleStreams SobolQRNG marchingCubes simpleTemplates alignedTypes matrixMul simpleTexture asyncAPI matrixMulDrv simpleTexture3D bandwidthTest matrixMulDynlinkJIT simpleTextureDrv bicubicTexture nbody simpleVoteIntrinsics binomialOptions oceanFFT simpleZeroCopy boxFilter particles smokeParticles clock postProcessGL sortingNetworks convolutionFFT2D ptxjit template convolutionSeparable quasirandomGenerator threadFenceReduction convolutionTexture radixSort threadMigration cppIntegration recursiveGaussian transpose dct8x8 reduction transposeNew deviceQuery scalarProd volumeRender deviceQueryDrv scan dwtHaar1D scanLargeArray 壮観だ. さっそく,deviceQueryを使ってGPU情報を取得しようとしたところ, [hase@hasegawa02 release]$ ~/NVIDIA_GPU_Computing_SDK/C/bin/linux/release/deviceQuery /home/hase/NVIDIA_GPU_Computing_SDK/C/bin/linux/release/deviceQuery: error while loading shared libraries: libcudart.so.2: cannot open shared object file: No such file or directory と怒られた.http://d.hatena.ne.jp/interleave/20090520/1242750937を参考にして, [hase@hasegawa02 release]$ cd /etc/ld.so.conf.d/ [hase@hasegawa02 ld.so.conf.d]$ ls R-x86_64.conf qt-x86_64.conf [hase@hasegawa02 ld.so.conf.d]$ sudo vi cuda.conf を /usr/local/cuda/lib64 の内容で作成し, [hase@hasegawa02 ld.so.conf.d]$ sudo ldconfig でshared libraryのキャッシュを再構築 [hase@hasegawa02 ld.so.conf.d]$ ~/NVIDIA_GPU_Computing_SDK/C/bin/linux/release/deviceQuery CUDA Device Query (Runtime API) version (CUDART static linking) There are 2 devices supporting CUDA Device 0: "Tesla C1060" CUDA Driver Version: 3.0 CUDA Runtime Version: 2.30 CUDA Capability Major revision number: 1 CUDA Capability Minor revision number: 3 Total amount of global memory: 4294770688 bytes Number of multiprocessors: 30 Number of cores: 240 Total amount of constant memory: 65536 bytes Total amount of shared memory per block: 16384 bytes Total number of registers available per block: 16384 Warp size: 32 Maximum number of threads per block: 512 Maximum sizes of each dimension of a block: 512 x 512 x 64 Maximum sizes of each dimension of a grid: 65535 x 65535 x 1 Maximum memory pitch: 2147483647 bytes Texture alignment: 256 bytes Clock rate: 1.30 GHz Concurrent copy and execution: Yes Run time limit on kernels: No Integrated: No Support host page-locked memory mapping: Yes Compute mode: Default (multiple host threads can use this device simultaneously) Device 1: "GeForce GTS 250" CUDA Driver Version: 3.0 CUDA Runtime Version: 2.30 CUDA Capability Major revision number: 1 CUDA Capability Minor revision number: 1 Total amount of global memory: 1073020928 bytes Number of multiprocessors: 16 Number of cores: 128 Total amount of constant memory: 65536 bytes Total amount of shared memory per block: 16384 bytes Total number of registers available per block: 8192 Warp size: 32 Maximum number of threads per block: 512 Maximum sizes of each dimension of a block: 512 x 512 x 64 Maximum sizes of each dimension of a grid: 65535 x 65535 x 1 Maximum memory pitch: 2147483647 bytes Texture alignment: 256 bytes Clock rate: 1.84 GHz Concurrent copy and execution: Yes Run time limit on kernels: Yes Integrated: No Support host page-locked memory mapping: No Compute mode: Default (multiple host threads can use this device simultaneously) Test PASSED Press ENTER to exit... 無事に動いた.良かった良かった. でも,LD_LIBRARY_PATHで指定してあるはずなのにな...と思ってbashから echo $LD_LIBRARY_PATH したら,パスが通っていない.一瞬何故?と思ったけど,多分,起動させっぱなしのシェルだったから /etc/profileへの設定が反映されていなかったんだろう. [hase@hasegawa02 ~]$ source /etc/profile [hase@hasegawa02 ~]$ echo $LD_LIBRARY_PATH /usr/local/cuda/lib64 さっき作ったcuda.confを削除して、再度確認 [hase@hasegawa02 ~]$ cd /etc/ld.so.conf.d/ [hase@hasegawa02 ld.so.conf.d]$ ls R-x86_64.conf cuda.conf qt-x86_64.conf [hase@hasegawa02 ld.so.conf.d]$ sudo rm -f cuda.conf パスワード: [hase@hasegawa02 ld.so.conf.d]$ sudo ldconfig [hase@hasegawa02 ld.so.conf.d]$ ~/NVIDIA_GPU_Computing_SDK/C/bin/linux/release/deviceQuery CUDA Device Query (Runtime API) version (CUDART static linking) There are 2 devices supporting CUDA きちんと動いている。よかったよかった。 ==== 後で読む ==== http://tekitobibouroku.blog42.fc2.com/blog-entry-175.html ===== SSHでリモート接続 ===== http://centossrv.com/poderosa-public.shtml の通りにやれば大丈夫.ただし,面倒なのでOpenSSHでなく,デフォルトインストールのSSHサーバプログラムを使っている. ===== C++開発環境 ===== JAVA環境のセッティング 参考サイト:http://d.hatena.ne.jp/rdera/20090304/1236144748 jdk-6u19-linux-x64-rpm.binをダウンロードし, chmod -x jdk-6u19-linux-x64-rpm.bin で権限を与えて実行する. JAVA関連の環境変数の指定 /etc/profileに以下を追記 # For JAVA(2010/03/31) export JAVA_HOME=/usr/java/jdk1.6.0_19 export PATH=$PATH:$JAVA_HOME/bin export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar Eclipse3.4を使いたいが,RPMパッケージが提供されていないので, tarボールを持ってきて解凍する. 公式サイトから eclipse-cpp-ganymede-SR2-linux-gtk.tar.gz をダウンロードして解凍するとeclipseフォルダが出来るので,これを /usr/local/eclipseに突っ込む.これだけでOK. 日本語化はPleiadesを使う. pleiades-1.3.0.zipを/usr/local/eclipse/eclipse の中に展開する. readme/eclipse.ini_sample.win.3.4をeclipse.iniに名前変更し,以下を修正。 ''-javaagent:/usr/local/eclipse/eclipse/plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar'' ついでに使用するメモリも増やしておく 参考サイト:http://www.02.246.ne.jp/~torutk/cxx/eclipse/memo.html#SEC10 eclipseの起動 /usr/local/eclipse/eclipse/eclipse -vm /usr/java/jdk1.6.0_19/bin/java & いちいちこんなの打っていられないので,aliasを追加する. aliasの追加 ~/.bashrc に alias eclipse='/usr/local/eclipse/eclipse/eclipse -vm /usr/java/jdk1.6.0_19/bin/java &' を追記する. これでコマンドラインからeclipseと入力すれば起動するようになる。 無事に日本語化されていて嬉しい。 早速新規プロジェクトを作成するが以下のエラーが出てコンパイルできない。 g++: command not found ので、 yum install gcc-c++ でインストールする。 参考:http://d.hatena.ne.jp/plasticscafe/20080930/1222778825 !!!Hello World!!! 今更だが,実際にプログラム書くのは普段使っているマシンだから, ワークステーションにIDEは要らないような気がする(2010/04/13追記) ===== Rのインストール ===== cranからRPMを取ってくる.R-2.10.0-2.el5.x86_64.rpm [hase@hasegawa02 Desktop]$ rpm -ivh R-2.10.0-2.el5.x86_64.rpm 警告: R-2.10.0-2.el5.x86_64.rpm: ヘッダ V3 DSA signature: NOKEY, key ID 97d3544e エラー: 依存性の欠如: R-devel = 2.10.0-2.el5 は R-2.10.0-2.el5.x86_64 に必要とされています libRmath-devel = 2.10.0-2.el5 は R-2.10.0-2.el5.x86_64 に必要とされています R-develとlibRmath-develが必要と怒られたので,とりあえずcranから R-devel-2.10.0-2.el5.x86_64.rpm を取ってくる. [hase@hasegawa02 Desktop]$ rpm -ivh R-devel-2.10.0-2.el5.x86_64.rpm 警告: R-devel-2.10.0-2.el5.x86_64.rpm: ヘッダ V3 DSA signature: NOKEY, key ID 97d3544e エラー: 依存性の欠如: R-core = 2.10.0-2.el5 は R-devel-2.10.0-2.el5.x86_64 に必要とされています bzip2-devel は R-devel-2.10.0-2.el5.x86_64 に必要とされています gcc-gfortran は R-devel-2.10.0-2.el5.x86_64 に必要とされています libX11-devel は R-devel-2.10.0-2.el5.x86_64 に必要とされています pcre-devel は R-devel-2.10.0-2.el5.x86_64 に必要とされています tcl-devel は R-devel-2.10.0-2.el5.x86_64 に必要とされています tetex-latex は R-devel-2.10.0-2.el5.x86_64 に必要とされています tk-devel は R-devel-2.10.0-2.el5.x86_64 に必要とされています zlib-devel は R-devel-2.10.0-2.el5.x86_64 に必要とされています 色々足りないみたいなので,一つ一つ解決していく. [hase@hasegawa02 Desktop]$ sudo yum install bzip2-devel パスワード: Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * addons: ftp.oss.eznetsols.org * base: ftp.oss.eznetsols.org * extras: ftp.oss.eznetsols.org * updates: ftp.oss.eznetsols.org Setting up Install Process Resolving Dependencies --> Running transaction check ---> Package bzip2-devel.i386 0:1.0.3-4.el5_2 set to be updated ---> Package bzip2-devel.x86_64 0:1.0.3-4.el5_2 set to be updated --> Finished Dependency Resolution Dependencies Resolved ====================================================================================== Package Arch Version Repository Size ====================================================================================== Installing: bzip2-devel i386 1.0.3-4.el5_2 base 38 k bzip2-devel x86_64 1.0.3-4.el5_2 base 38 k 中略 Complete! 他のパッケージも同様にインストールする. R-coreはデフォルトのyumリポジトリにないと思ったから,cranから取ってくる. wget ftp://ftp.u-aizu.ac.jp/pub/lang/R/CRAN/bin/linux/redhat/el5/x86_64/R-core-2.10.0-2.el5.x86_64.rpm [hase@hasegawa02 Desktop]$ rpm -ivh R-core-2.10.0-2.el5.x86_64.rpm 警告: R-core-2.10.0-2.el5.x86_64.rpm: ヘッダ V3 DSA signature: NOKEY, key ID 97d3544e エラー: 依存性の欠如: perl(File::Copy::Recursive) は R-core-2.10.0-2.el5.x86_64 に必要とされています xdg-utils は R-core-2.10.0-2.el5.x86_64 に必要とされています また怒られた. perl(File::Copy::Recursive) って言うくらいだから,perl入れればいいのかと思ったらそうではなくって, perl-File-Copy-Recursiveというrpmパッケージになっているのを入れればよいらしい. yum install perl-File-Copy-Recursive でインストールできない場合は,「 perl-File-Copy-Recursive rpm centos el5」とかでググってrpmを 探せばいいと思う. 再度 [hase@hasegawa02 Desktop]$ sudo rpm -ivh R-core-2.10.0-2.el5.x86_64.rpm でインストール出来た. [hase@hasegawa02 Desktop]$ sudo rpm -ivh R-devel-2.10.0-2.el5.x86_64.rpm [hase@hasegawa02 Desktop]$ sudo rpm -ivh libRmath-2.10.0-2.el5.x86_64.rpm 警告: libRmath-2.10.0-2.el5.x86_64.rpm: ヘッダ V3 DSA signature: NOKEY, key ID 97d3544e 準備中... ########################################### [100%] 1:libRmath ########################################### [100%] [hase@hasegawa02 Desktop]$ sudo rpm -ivh libRmath-devel-2.10.0-2.el5.x86_64.rpm 警告: libRmath-devel-2.10.0-2.el5.x86_64.rpm: ヘッダ V3 DSA signature: NOKEY, key ID 97d3544e 準備中... ########################################### [100%] 1:libRmath-devel ########################################### [100%] [hase@hasegawa02 Desktop]$ sudo rpm -ivh R-2.10.0-2.el5.x86_64.rpm 警告: R-2.10.0-2.el5.x86_64.rpm: ヘッダ V3 DSA signature: NOKEY, key ID 97d3544e 準備中... ########################################### [100%] 1:R ########################################### [100%] 以上でインストール完了,多分 起動 [hase@hasegawa02 Desktop]$ 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を終了します。 > head(iris) Sepal.Length Sepal.Width Petal.Length Petal.Width Species 1 5.1 3.5 1.4 0.2 setosa 2 4.9 3.0 1.4 0.2 setosa 3 4.7 3.2 1.3 0.2 setosa 4 4.6 3.1 1.5 0.2 setosa 5 5.0 3.6 1.4 0.2 setosa 6 5.4 3.9 1.7 0.4 setosa > q() Save workspace image? [y/n/c]: n 無事に動いた. ==== Eclipseで使う設定 ==== StatETのインストールはWindowsとほぼ同じ. 実行→実行構成→Rコンソール→R Configで,Rのホームディレクトリを指定する必要がある. Rを上記の方法でインストールした場合,Rホームディレクトリは /usr/lib64/R となっているはずなので,これを用いる. このまま実行してもエラーが出る. R終了時に作業スペースを保存するかどうかの設定が必要らしいので, 実行→実行構成→Rコンソール→メインで引数を ''--no-save'' と与える. ===== 固定IPの設定 ===== ルータ使用せず、固定IPにするには、 /etc/sysconfig/network-scripts/ifcfg-eth0 を編集する。 編集前 # Intel Corporation 82567LM-2 Gigabit Network Connection DEVICE=eth0 BOOTPROTO=dhcp HWADDR=00:1C:C0:B1:BC:32 ONBOOT=yes 編集後 # Intel Corporation 82567LM-2 Gigabit Network Connection DEVICE=eth0 #BOOTPROTO=dhcp BOOTPROTO=none HWADDR=00:1C:C0:B1:BC:32 ONBOOT=yes DHCP_HOSTNAME=*.ipc.akita-nct.ac.jp IPADDR=*.*.*.* NETMASK=255.255.255.0 GATEWAY=*.*.*.* 編集が終わったら、ネットワークを再起動 /etc/rc.d/init.d/network restart ===== VNCを使う設定 ===== vnc-serverが入っていることを確認してから, /etc/sysconfig/vncservers を編集する.以下の例では,haseというユーザ名でウインドウ番号1にtcp接続する # VNCSERVERS="2:myusername" # VNCSERVERARGS[2]="-geometry 800x600 -nolisten tcp -nohttpd -localhost" VNCSERVERS="1:hase" VNCSERVERARGS[1]="-geometry 1280x800 -nolisten tcp -nohttpd" ユーザ毎にパスワードを設定 vncpasswd でパスワードを2回入力する.VNCサーバ起動後じゃないとダメかもしれない.うろ覚え. vnc-serverを再起動 sudo /etc/rc.d/init.d/vncserver restart VNCの接続に使用する(サーバの)ポートを解放する.上記 VNCSERVERS="1:hase" の数字+5900のポートを使用するので, 「システム→管理→セキュリティレベルとファイアーウォールの設定」を開き, 「その他のポート」でポート5901,プロトコルtcpを追加する. GNOMEを使いたいので, ~/.vnc/xstartup を編集する. twm & をコメントアウト(#で)して, vncconfig -iconic & を vncconfig -nowin & に変更する.そして, exec /etc/X11/xinit/xinitrc を最終行に追記する. vncserverを再起動すればGNOMEが使えて、クリップボードが共有できて、日本語入力もできる。素敵。 VNCクライアントは学生時代からReal VNCを使っているので,これを使う. クライアントを起動し,サーバの欄に IPアドレス:ウインドウ番号(例えば,202.220.0.***:1) 又は ホスト名:ウインドウ番号(例えば,hasegawa02:1) と入力してからOKボタンを押すとパスワードを求められるので,vncpasswdで設定したパスワードを入力する. ===== その他 ===== サスペンドから復帰すると画面が表示されない. sshでリモート接続する分には問題ないが,画面も見たい. とりあえずの対処法として,sshでアクセス→vncサーバ起動→vncでリモート接続でしのぐ. ====== UT-VPNを用いたVPN接続 ====== ===== インストール ===== http://www2u.biglobe.ne.jp/~akio-1/linux/centos/server.html#utvpn を参照のこと 公式のスタートアップガイドも用意されている UT-VPN_Startup_Guide_for_UNIX.pdf ===== 設定 ===== 注意:utvpncmdからUT-VPN Clientに接続する前に, sudo utvpnclient start でUT-VPN Clientを起動させておくこと