Ubuntu 20.04 LTS の導入
こちらの記事に従って、Ubuntu 20.04 LTS を入れた。
ライブ USB の作成
- Rufus をダウンロード
- ubuntu の iso ファイルをダウンロード
- USB を挿して、Rufus を使ってライブ USB を作成
Ubuntu 20.04 LTS のインストール
- 細かい設定はこちらの記事を参照
インストール後にログインループになってログインできなくなった
ctrl + alt + F2
で tty 仮想コンソールを開く- Nvidia ドライバ, cuda があるかどうか確認
dpkg -l | grep nvidia
dpkg -l | grep cuda
※もしですでにある場合は削除しておく
sudo apt-get --purge remove nvidia-*
sudo apt-get --purge remove cuda-*
- Nvidia ドライバが無かったら下記で Nvidia ドライバと cuda を入れる
sudo ubuntu-drivers install
sudo reboot
または version 指定して入れる。
sudo apt-get install cuda-drivers-<branch>
以上のプロセスでログインできるようになった。またこのときに cuda も一緒に入った。(nvidia-smi
で確認)
ログインループに陥らなかった場合は別途自分で nvidia ドライバと cuda を入れる必要がある。
一旦きれいににしてから nvidia-driver を入れる
sudo apt-get --purge remove nvidia-*
sudo apt-get --purge remove cuda-*
sudo ubuntu-drivers install
sudo reboot
nvidia-smi
で確認して、必要であれば cuda を公式のやり方に従って入れる。
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin
sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/11.6.1/local_installers/cuda-repo-ubuntu2004-11-6-local_11.6.1-510.47.03-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu2004-11-6-local_11.6.1-510.47.03-1_amd64.deb
sudo apt-key add /var/cuda-repo-ubuntu2004-11-6-local/7fa2af80.pub
sudo apt-get update
sudo apt-get -y install cuda
CPU 情報などを確認
cpu lscpu
cat /proc/meminfo
sudo dmidecode -t baseboard
gpu nvidia -smi
sudo parted -l
マウント
sudo fdisk -l
sudo mkdir /mnt/nvme1n1
sudo mount /dev/nvme1n1 /mnt/nvme1n1
sudo blkid /dev/sdX1
sudo vi /etc/fstab
UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx /mnt/hdd ext4 defaults 0 0
言語を直しておく
https://tech.librastudio.co.jp/entry/index.php/2017/12/20/post-1756/
docker 導入
docker のインストール
# https://docs.docker.com/engine/install/ubuntu/
curl -fsSL https://get.docker.com -o get-docker.sh
DRY_RUN=1 sh ./get-docker.sh
docker が自動起動するようにしておく
sudo systemctl start docker && sudo systemctl enable docker
sudo 無しで docker を使えるようにする
sudo groupadd docker
sudo usermod -aG docker <username>
newgrp docker
ssh 導入
ssh サーバーのインストール
sudo apt install openssh-server
パスワードでログイン可能にしておく
sudo vi /etc/ssh/sshd_config
PasswordAuthentication yes
ssh を再起動する
sudo systemctl restart sshd.service
鍵を生成して転送
- クライアント側で鍵を生成
ssh-keygen -t ed25519 -C "username@servername"
- ローカル IP を調べる
hostname -I
- 鍵をサーバーに転送
scp ~/.ssh/my_key.pub ホスト名@<ローカルIP>:
- 公開鍵を authorized key に移動
cat my_key.pub >> .ssh/authorized_keys
rm id_ras.pub
sudo chmod 700 -R /home/user /home/user/.ssh
sudo chmod 600 /home/user/.ssh/authorized_keys
セキュリティを上げておく
sudo vi /etc/ssh/sshd_config
PasswordAuthentication no #パスワードログインを許可しない
Port 56666 #ポートを変えておく
sudo systemctl restart sshd.service
ssh 接続できない場合はクライアント側の ssh config を設定する
vi /home/user/.ssh/config
Host remote-host
HostName XXX.XX.XX.XX
Port XXXXX
IdentityFile ~/.ssh/my_key
User user
※ホームの permission がおかしいと ssh アクセスできないので、アクセスできない場合は変更しておく。
sudo chown root:root /home
sudo chmod -R 755 /home
sudo chown user:user /home/user -R
sudo chmod 700 -R /home/user /home/user/.ssh
sudo chmod 600 /home/user/.ssh/authorized_keys
指定のディレクトリに一発で飛べるようにする
Host ubunru-server
HostName ubunru-server
RemoteCommand cd /home/hoge/target_dir; $SHELL -il
RequestTTY yes
User hoge
Port XXXX
IdentityFile ~/.ssh/ubunru-server/id_rsa
リモート VScode の設定
Extention の Remote Development
をインストールしておく。
リモート VSCode でファイルの生成や削除で permission エラーが出るのでよく使うフォルダ or ワークスペースにのみ権限を与えておく sudo chmod -R 777 ./workspace
閲覧可能なファイル数の上限を最大にする
cat /proc/sys/fs/inotify/max_user_watches
vi /etc/sysctl.conf
# add "fs.inotify.max_user_watches=524288" at the end
sudo sysctl -p
リンターとフォーマッター
- extention で Python をインストール
- black mypy isort flake8 をインストール
pip3 install black mypy isort flake8
USER と ssh サーバーで下記を設定
Python › Formatting: Provider
->black
Python › Linting: Mypy Enabled
-> checkEditor: Format On Save
-> checkEditor: Code Actions On Save
-> setting json
下記の箇所を
"editor.codeActionsOnSave": null
下記に変更する
"editor.codeActionsOnSave": {
"source.organizeImports": true
}
その他有用な extention
- Error Lense : setting から delay を 500 にしておく
- pylance : インタプリタを適切なものに設定しておく。
- indent rainbow
- blacket pair : いろいろある
- paste image
マウント
sudo mkdir /mnt/nvme1n1
sudo mount /dev/nvme1n1 /mnt/nvme1n1
# UUIDを確認
sudo blkid /dev/nvme1n1
#VScodeで編集が良い?
less /etc/fstab
UUID=7d9c943f-xxxxxxxxx /mnt/sd ext4 defaults 0 0