環境構築まとめ

Ubuntuでクリーンインストールしてから行うことをまとめました。
自分用(2024/11時点)

# 書き込み用メモ
プログラム: `(バッククオート3つでかける)
macの場合はshift+@

# Nvidia-Driverのインストール
wiki参照
万が一のためにsshサーバーを設定しておく

```
sudo apt-get update
sudo apt-get install openssh-server
```
ipアドレスを確認しておく

```
ip a
```

### ⚪︎install
```
# レポジトリの追加
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
# ハードウェアに対して適切なドライバを探してくれるユーティリティツール
sudo apt-get install ubuntu-drivers-common
sudo apt-get dist-upgrade
```

再起動

```
# デバイスに合うドライバを探す
ubuntu-drivers devices
```
recommendedが付いているバージョンを確認する．（以下の場合nvidia-driver-470が推奨）
```
driver : nvidia-driver-470 - distro non-free recommended
```
バージョンを指定してインストール
```
sudo apt-get install nvidia-driver-470
```
再起動

⚪︎異なるバージョンのdriverをインストールする場合
```
# インストールされているものを削除
sudo apt-get remove nvidia-*
sudo apt-get remove cuda-*
```
この後、再びインストール


# SSHの設定
nvidia-driverのインストール時点で設定したためこれが使えるか確認

他のpcにて
```
# ⚪ip-addressは先ほど確認したアドレス
# (ip a)
ssh {user}@192.168.1.⚪︎⚪︎
```
rsaのfinger-printとか出てきて合ってるか聞かれる
yesを押していけば繋がるはず

### ⚪︎vs-code上でSSH接続する方法
Remote SSH の拡張機能をインストールする
(拡張機能タブで「Remote SSH」検索)
ssh config に ssh 接続情報を追加
/Users/ユーザ名/.ssh/config に以下の内容を追加する。
(vs-code左側のSSHタブからも表示可能)
```
Host Ubuntu-2
    HostName 192.168.1.⚪︎⚪︎
    User ユーザー名
    IdentityFile ~/.ssh/id_rsa
    ForwardAgent yes
    ServerAliveInterval 60
    TCPKeepAlive yes
    ServerAliveCountMax 5
```



# ファイル共有
他のpcから自分のデスクトップのファイルを操作できるようにする

### ⚪︎Ubuntu(共有元)
共有したいフォルダを右クリック→プロパティ→ローカルネットワーク共有
このフォルダーを共有するにチェックを入れる
Sambaがインストールされていない場合は画面が現れるため，そのままインストール
「共有を作成」をクリック（エラーが出る時、ページ下部参照）

samba用の設定
```
sudo smbpasswd -a ユーザ名
```
画面の指示に従ってユーザー名、パスワードを設定
(このユーザー名はUbuntuのユーザー名とは別でもいい)

sambaの設定を変更
```
sudo nautilus
```
これでetc/samba/smb.conf を開く
以下をsmb.confの最後に付け加える
```
[共有名]
path = 共有したいフォルダのパス
read only = no
browseable = yes
valid user = ユーザー名
```
以下のコマンドを実行
```
sudo service smbd restart
sudo service nmbd restart
```


### ⚪︎mac(共有先)
Finderを開いた状態でcommand+k（もしくは上のメニューから移動→サーバへ接続…）
UbuntuPCのIPを入力して「接続」
Sambaで登録した「ユーザ名」と「パスワード」を入力
(キーチェーンに追加を押すと次回以降入力しなくていいため楽)

### ⚪︎Ubuntu(共有先)
ファイルを開く→左下の+他の場所
サーバーへ接続に以下を入力
```
smb://192.168.1.〇〇/共有名
```
「ユーザー名」、「パスワード」を入力

# cudaの設定
これを参照
例としてcudaのversionは11.8を使用

https://developer.nvidia.com/cuda-11-8-0-download-archive?target_os=Linux&target_arch=x86_64&Distribution=Ubuntu&target_version=20.04&target_type=deb_local

前準備
以前にcudaをインストールした場合削除
```
sudo apt remove --purge -y nvidia-*
sudo apt remove --purge -y 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.8.0/local_installers/cuda-repo-ubuntu2004-11-8-local_11.8.0-520.61.05-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu2004-11-8-local_11.8.0-520.61.05-1_amd64.deb
sudo cp /var/cuda-repo-ubuntu2004-11-8-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda-{version}
```
再起動
パスの設定
```
export PATH=/usr/local/cuda-11.8/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-11.8/lib64:$LD_LIBRARY_PATH
```
以下で表示されたら成功
```
nvidia-smi
nvcc -V
```
nvidia-smiで表示されなかったらnvidia関連のdriverを削除、再インストール
nvcc -Vが表示されなかったらcuda関連のdriverを削除、再インストール


# vs-codeのインストール
https://code.visualstudio.com/

ここからvs-codeをインストール
Ubuntuの場合は.deb

# anaconda-navigatorの環境構築
仮想環境を作る

https://www.anaconda.com/download

ここからanaconda-navigatorをインストール

```
cd ダウンロード
bash Anaconda3-2024.10-1-Linux-x86_64.sh
```
永遠にEnterを押し続ける
インストールが完了したらターミナルを立ち上げ直す
```
conda -V
```
これでバージョンが出てきたら成功
```
conda activate
anaconda-navigator
```
ここからanaconda navigatorを起動
仮想環境を作った方が管理が楽

### ⚪︎実際に使う時
```
# 仮想環境を一覧表示
conda info --envs
# 仮想環境を実行
conda activate 仮想環境名
```

# Dockerのインストール
このページ参照

https://qiita.com/tf63/items/c21549ba44224722f301

細かい内容はwiki参照

前準備
```
sudo apt update
sudo apt install ca-certificates curl gnupg
```

```
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
    
# Add the repository to Apt sources:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \

sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
```
Docker gloupを作りユーザーを追加
```
sudo groupadd docker
sudo usermod -aG docker <ユーザー名>
```

Docker Engine のインストール
```
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
```
表示されたら成功
```
docker version
```

### ⚪︎DockerFileからImageを作成
DockerFileがあるディレクトリに移動
```
docker build . -t example:latest
```

# gitの設定
### ⚪︎GitHub上

アカウントを作成
レポジトリを作成

### ⚪︎PC上
gitのインストール
```
sudo apt-get install git
```
基本情報を追加
```
git config --global user.name [任意のユーザ名]
git config --global user.email [任意のユーザ名]
```
SSH tokenを設定
```
ssh-keygen -t rsa
```
RSA暗号をコピー
GitHubのユーザーページ/SSH and GPG keysのページにコピーした公開鍵を保存

保存したいディレクトリに移動
GitHub上で新しいレポジトリを設定
```
git init
git remote add origin https://github.com/{ユーザー名}/{レポジトリ名}.git
```