自分的Ubuntuの環境設定ベストプラクティス
自分向け、うまく行ったコマンド類だけの羅列
御託はいいからうまくいくの教えろ!的な人向け。
ただし救済はない。
パクリ先の参考にしたURLに飛ぶと詳しく書いてあります。
目次
各コンテンツに繋がりは特にないので必要なところに飛んで大丈夫だと思われる。
ただ、Nvidiaドライバのインストールだけは一番最初にやると良さそう。
- Nvidiaドライバのインストール
- システムの更新
- お掃除
- 日本語フォルダの英語化
- 色々必要そうなもの
- Python色々
- Anacondaの導入
- Docker のインストール
- Dockerの掃除
- texの導入
- openCVの導入
- CUDAの導入
- cuDNNの導入
Nvidiaドライバのインストール
最初にやらないとフリーズしまくることがある
参考
https://echomist.com/ubuntu-18-nvidia-driver-install/
[ソフトウェアとアップデート] → [追加のドライバー]
「NVIDIA driver metapackageをnividia-driver-xxxから使用します」を選択して変更を適応するだけ
※CUIだと下記コマンドで一発
sudo ubuntu-drivers autoinstall
システムの更新
とりあえずやってエラーがないか確認する。
再起動で大抵解決すると思っている。
sudo apt update sudo apt -yV upgrade sudo shutdown -r now
お掃除
とりあえず更新したらやるといいっぽい
sudo apt autoremove sudo apt clean
日本語フォルダの英語化
日本語表記のフォルダあると移動しにくいので推奨
LANG=C xdg-user-dirs-gtk-update
色々必要そうなもの
sudo apt -yV install でぶち込め
他なにかあれば連絡ください
sudo apt -yV install \ git \ wget curl \ build-essential \ zip unzip
Python色々
Python3 開発用ファイル,セットアップツール,pip,numpy のインストール
sudo apt -yV install \ python3-dev \ python3-setuptools \ python3-pip \ python3-numpy
Anacondaの導入
1.公式からダウンロードする
https://www.anaconda.com/distribution/
2.インストーラの起動
ダウンロードしたファイルがあるディレクトリで
bash Anaconda3-*-Linux-x86_64.sh
その後にEnterとyesを押し続ける。
ここでVScodeを入れる。
3.確認
conda -V
4.パスを通す
パスが通ってなかったらやる
vi ~/.bashrc
vimでもなんでもエディタで開いて
export PATH=~/anaconda3/bin:$PATH
をどこかに追加
source ~/.bashrc
とすれば多分解決する。
Docker のインストール
元々はnvidia-docker2について書いていたのですが、非推奨になったので更新しました。
参考
NVIDIA Container Toolkit を使って Docker コンテナで GPU を使う - CUBE SUGAR CONTAINER
1.前提パッケージ類
sudo apt -y install \ apt-transport-https \ ca-certificates \ curl \ gnupg-agent \ software-properties-common
2. Docker のリポジトリを APT に登録
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" sudo apt update
3. Docker コンポーネントのインストール
sudo apt -y install docker-ce docker-ce-cli containerd.io sudo docker version
4. Docker に Nvidia Driver をインストール
sudo add-apt-repository ppa:graphics-drivers/ppa sudo apt update sudo apt upgrade sudo apt -y install ubuntu-drivers-common sudo ubuntu-drivers autoinstall
5. NVIDIA Container Toolkitのインストール
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - curl -s -L https://nvidia.github.io/nvidia-docker/$(. /etc/os-release;echo $ID$VERSION_ID)/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list sudo apt update sudo apt -y install nvidia-container-toolkit
6. 再起動と確認
sudo shutdown -r now nvidia-container-cli info
7.動作確認
sudo docker run --rm --gpus all -it ubuntu nvidia-smi
Dockerの掃除
docker rm $(docker ps -aq) #すべてのコンテナを削除 docker images | awk '/<none/{print $3}' | xargs docker rmi #タグがnoneになっているimageを削除
texの導入
参考
Ubuntu 18.04 LTS に LaTeX をインストール - Qiita
これだけ
sudo apt install texlive-lang-cjk xdvik-ja evince sudo apt install texlive-fonts-recommended texlive-fonts-extra
openCVの導入
CUDAを設定した前提だが、後述の通りCUDAはあまり生で入れないほうがいい気がするので、下記リンクに飛んでCUDAなしで導入した方がいいかもしれない(未検証
参考
OpenCV 最新版のビルドとインストール,CUDA 対応可能(ソースコードを使用)(Ubuntu, Debian 上)
1. 前提パッケージ類
sudo apt -yV install openalpr openalpr-utils libopenalpr-dev sudo apt -yV install openni2-utils libopenni2-dev sudo apt -yV install primesense-nite-nonfree sudo apt -yV install libpcl-dev sudo apt -yV install libguava-java sudo apt -yV install python-dev python3-dev pylint pylint3 flake8 python-flake8 python3-flake8 sudo apt -yV install libgtk2.0-dev and pkg-config
2. ソースコードのダウンロードと cmake の実行
cd /tmp rm -rf opencv git clone https://github.com/opencv/opencv.git cd /usr/local sudo rm -rf opencv_contrib sudo git clone https://github.com/opencv/opencv_contrib.git cd /tmp cd opencv rm -rf build mkdir build cd build CUDA_PATH="/usr/local/cuda-10.0" CFLAGS="-I/usr/local/cuda-10.0/include" LDFLAGS="-L/usr/local/cuda-10.0/lib64" \ cmake -D CMAKE_BUILD_TYPE=RELEASE \ -D CMAKE_INSTALL_PREFIX=/usr/local \ -D OPENCV_EXTRA_MODULES_PATH=/usr/local/opencv_contrib/modules \ -D INSTALL_TESTS=ON \ -D INSTALL_C_EXAMPLES=ON \ -D WITH_PYTHON=ON \ -D INSTALL_PYTHON_EXAMPLES=ON \ -D BUILD_opencv_python2=OFF \ -D BUILD_opencv_python3=ON \ -D PYTHON_DEFAULT_EXECUTABLE=python3 \ -D OpenBLAS_INCLUDE_DIR=/usr/include/x86_64-linux-gnu \ -D OpenBLAS_LIB=/usr/lib/x86_64-linux-gnu/libopenblas.so \ -D WITH_MKL=ON \ -D WITH_CUDA=ON \ -D CUDA_FAST_MATH=ON \ -D WITH_CUBLAS=ON \ -D WITH_CUDNN=ON \ -D WITH_NVCUVID=OFF \ -D OPENCV_DNN_CUDA=ON \ -D CUDA_ARCH_PTX=7.5 \ -D BUILD_EXAMPLES=ON ..
CUDAなし差分
cmake -D CMAKE_BUILD_TYPE=RELEASE \ -D CMAKE_INSTALL_PREFIX=/usr/local \ -D OPENCV_EXTRA_MODULES_PATH=/usr/local/opencv_contrib/modules \ -D INSTALL_TESTS=ON \ -D INSTALL_C_EXAMPLES=ON \ -D WITH_PYTHON=ON \ -D INSTALL_PYTHON_EXAMPLES=ON \ -D BUILD_opencv_python2=OFF \ -D BUILD_opencv_python3=ON \ -D PYTHON_DEFAULT_EXECUTABLE=python3 \ -D OpenBLAS_INCLUDE_DIR=/usr/include/x86_64-linux-gnu \ -D OpenBLAS_LIB=/usr/lib/x86_64-linux-gnu/libopenblas.so \ -D WITH_MKL=ON \ -D BUILD_EXAMPLES=ON ..
3. ビルド
CUDA_PATH="/usr/local/cuda-10.0" CFLAGS="-I/usr/local/cuda-10.0/include" LDFLAGS="-L/usr/local/cuda-10.0/lib64" \ make -j4
4. インストール
sudo make install sudo /sbin/ldconfig
5. 確認
python3 -c "import cv2; print( cv2.__version__ )"
CUDAの導入
CUDAは生で入れるのはアップデート等が面倒なので推奨しない。できれば全てDockerで動かすのが良い。
参考
Ubuntu 18.04へのCUDAインストール方法 - Qiita
まずは
CUDA Toolkit 10.2 Download | NVIDIA Developer
にアクセスしてインストールしたいCUDAのバージョンを選択する。
localの場合は指示に従えば良い。
networkの場合は以下のような操作が必要。
各URL、ファイルは自分の場合と読み替えで。
sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-repo-ubuntu1804_10.0.130-1_amd64.deb dpkg -i cuda-repo-ubuntu1804_10.0.130-1_amd64.deb sudo apt update sudo apt install cuda-10-0 sudo reboot rm cuda-repo-ubuntu1804_10.0.130-1_amd64.deb export PATH="/usr/local/cuda/bin:$PATH" export LD_LIBRARY_PATH="/usr/local/cuda/lib64:$LD_LIBRARY_PATH" sudo shutdown -r now nvidia-smi
nvidia-smiで動作確認できたら勝ち。無理ならどんまい。
cuDNNの導入
"7.5.0.56-1+cuda10.0" の部分は読み替え
Index of /compute/machine-learning/repos/ubuntu1804/x86_64
から適切なバージョンを探す。
echo "deb https://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64 /" | sudo tee /etc/apt/sources.list.d/nvidia-ml.list sudo apt update sudo apt install libcudnn7-dev=7.5.0.56-1+cuda10.0 libcudnn7=7.5.0.56-1+cuda10.0