あぴすの雑記帳

某理系大学に通う自堕落大学生が日頃思っていることをあれこれ垂れ流すだけのほぼ自分用ブログです。

自分的Ubuntuの環境設定ベストプラクティス

自分向け、うまく行ったコマンド類だけの羅列
御託はいいからうまくいくの教えろ!的な人向け。
ただし救済はない。
パクリ先の参考にしたURLに飛ぶと詳しく書いてあります。


目次
各コンテンツに繋がりは特にないので必要なところに飛んで大丈夫だと思われる。
ただ、Nvidiaドライバのインストールだけは一番最初にやると良さそう。

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.パスを通す
パスが通ってなかったらやる

参考
AnacondaのPATHの設定 - Qiita

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