概要
先日なんとなくgnome3を使ってみようと思い、色々やっているうちにデスクトップが死んだ。 復旧するより入れなおしたほうが早い感じだったので、昔書いたものを見ながらインストールしようと思ったが、あまりに適当なことしか書いておらず絶望した。 今後のために、クリーンインストールされたubuntu14.04から、ちゃんと自分の設定を復元できるように書いておく。
インストールするものは以下とその他細かい諸々。
- cuda
- chainer
- TensorFlow
- Emacs
細かいこと色々
$ LANG=C xdg-user-dirs-gtk-update
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev linux-headers-`uname -r`
$ sudo apt-get install zsh
$ chsh -s /usr/bin/zsh
$ sudo apt-get install git
$ sudo apt-get install gimp ipython ipython-notebook
cudaのインストール
nvidiaのサイトから自分にあったグラフィックボードのドライバとcudaをダウンロードする。 TensorFlowは7.0をインストールしろと言っているので、最新版の7.5ではなく、7.0をダウンロードする。
まだよくわかってないけど、こちら にやれと書いてあるので、ブラックリストに登録をする。たぶんドライバが干渉するのを防ぐんだと思う。
$ sudo nano /etc/modprobe.d/blacklist-nouveau.conf
ファイルを開いて以下を記述。
blacklist nouveau
blacklist lbm-nouveau
options nouveau modeset=0
alias nouveau off
alias lbm-nouveau off
その後色々
$ echo options nouveau modeset=0 | sudo tee -a /etc/modprobe.d/nouveau-kms.conf
$ update-initramfs -u
$ sudo update-initramfs -u
$ sudo reboot
再起動したらCUIに切り替えて以下を実行する。
$ sudo service lightdm stop
$ chmod +x NVIDIA-Linux-x86_64-352.63.run
$ sudo ./NVIDIA-Linux-x86_64-352.63.run
$ chmod +x cuda_7.0.28_linux.run
$ sudo ./cuda_7.0.28_linux.run
cudaの方でグラフィックドライバをインストールするかと聞かれるが、別途入れているのでnoを選択する。 ちなみにyesを選択すると、黒画面に白カーソルが表示されるだけで操作できず、しかもCUIにも入れないという悲しい事態になった。
$ sudo service lightdm start
ここで正しくGUIが表示されなかったら諦める。
.zshrcに以下を追記して、CUDAにパスを通す。
export CUDA_HOME=/usr/local/cuda-7.0
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${CUDA_HOME}/lib64
export PATH=$PATH:${CUDA_HOME}/bin
chainerのインストール
とりあえずpipを入れる。最近はget-pip.pyを実行して入れるらしい。 こちらを参考にした。
chainerを入れるときにhdf5がなんとかかんとかと言われたが、こちら を見てごにょごにょするとうまくいった。 実行したのは以下。
$ curl -kL https://raw.github.com/pypa/pip/master/contrib/get-pip.py | sudo python
$ sudo apt-get install python-dev
$ sudo pip install -U cython
$ sudo apt-get install libblas-dev liblapack-dev gfortran
$ sudo apt-get install g++
$ sudo pip install numpy scipy
$ sudo apt-get install libhdf5-dev
$ sudo pip install chainer
ついでに使いそうなものを色々入れる
$ sudo pip install sklearn
$ sudo pip install pandas
$ sudo pip install xgboost
Emacsのインストール
とりあえずgit hubから自分の設定ファイルを落としてくる。
$ ssh-keygen
できた id_rsa.pub をgithubの自分のレポジトリに登録して、以下を実行。
$ git clone git@github.com:kskkwn/.emacs.d.git
依存しているものを色々入れる。
$ sudo apt-get install cmigemo pyflakes ruby
$ sudo pip install jedi epc autopep8
Emacsをインストールする。24.4用に設定ファイルを作っているので、面倒なことを避けるためにバージョンは固定。
$ sudo apt-get install build-essential
$ sudo apt-get build-dep emacs24
$ wget http://ftp.jaist.ac.jp/pub/GNU/emacs/emacs-24.4.tar.gz
$ tar -xf emacs-24.4.tar.gz
$ ./configure
$ make
$ sudo make install
ちゃんとできていればここまでで、いつものEmacsが起動するはず。 前に書いたやつからjedi入れたりtabbar入れたりhelm入れたりして、だいぶ変わっているし、またなんか書こう。
TensorFlow
基本的に公式サイト の言うとおりに実行すればいい。
GPU使いたいので、まずはcuDNNをインストールする。 cuDNNはNVIDIAのDeveloperサイトに登録しないとダウンロードできない。 ユーザー登録の際に色々聞かれるけど、「Tensor Flow使いたいねん。しゃす。」ぐらいのことを英語で書いて、数時間待ったらあっさり登録できた。これも最新版でないものをダウンロードする。
$ tar xvzf cudnn-6.5-linux-x64-v2.tgz
$ sudo cp cudnn-6.5-linux-x64-v2/cudnn.h /usr/local/cuda-7.0/include
$ sudo cp cudnn-6.5-linux-x64-v2/libcudnn* /usr/local/cuda-7.0/lib64
続いてTensorFlowのインストール。
$ sudo pip install --upgrade https://www.tensorflow.org/versions/master/get_started/os_setup.htmlhttps://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-0.6.0-cp27-none-linux_x86_64.whl
やってみるとこんな感じのメッセージが表示された。
>>> import tensorflow
I tensorflow/stream_executor/dso_loader.cc:101] successfully opened CUDA library libcublas.so.7.0 locally
I tensorflow/stream_executor/dso_loader.cc:101] successfully opened CUDA library libcudnn.so.6.5 locally
I tensorflow/stream_executor/dso_loader.cc:101] successfully opened CUDA library libcufft.so.7.0 locally
I tensorflow/stream_executor/dso_loader.cc:101] successfully opened CUDA library libcuda.so locally
I tensorflow/stream_executor/dso_loader.cc:101] successfully opened CUDA library libcurand.so.7.0 locally
successfullyって言ってるし、大丈夫やろう。
今後の課題
- pythonの仮想環境の構築 正直みんな何のためにやっているのかよくわからないので、今はやってないけど、そのうちやったほうがいいのかもしれない。
- TeX環境の構築 家でTeX書くことないしなぁと思っていれていない。
- C++環境の構築 ここ半年ぐらいC++書いてない。できれば今後も書きたくない。