kuroの覚え書き

96の個人的覚え書き

Ubuntu環境をしっかりと入れる

自宅鯖で深層学習の学習環境を整えようと四苦八苦していて、私が主に使っているCentOS7に構築したkvm環境上のUbuntu18.04にNVIDIAのドライバやtensorflowをインストールするところまでやったわけだが。
結局kvmではビデオカードを仮想環境が使うとホストで使えなくなるとかいろいろ制約があってうまく行かないことがわかったので、ホストとしてUbuntuを入れることに方針を切り替えた。
自宅鯖は完全に実験機なのでデータとか気にする必要がないので、あっさりと上書きインストールができる。

さて、一旦は18.04をインストールしてみたのだが、すぐにアップデートのお誘いが出るなど、世の中20.04へ移行しているんだろうなと言う感じ。保守的なサーバー用途で使う人が多いCentOSred hat)にくらべUbuntuFedoraと同じような立ち位置のデスクトップ環境メインのLinuxっぽいので、安定環境というよりは常に最新にアップデートさせる方向なんだろうと思う。

確かに18.04は何かと古い気はするので20.04を入れていく。
CentOSでは基本最小構成でインストールするようにしているが、不慣れなUbuntuで環境構築をうまくできる自信がないので、一般インストールで、visualのサードパーティをインストールするオプションまで入れて完全おまかせコースとしておく。

おかげでインストールには結構時間がかかった。

インストールが完了して再起動するとまあ普通にデスクトップ環境が立ち上がった。

visualの追加インストールってNVIDIAのドライバも入れてくれてるのかな?ということでターミナルで確認

$ nvidia-smi
Sun Apr 25 12:09:38 2021       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 450.119.03   Driver Version: 450.119.03   CUDA Version: 11.0     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  GeForce GT 710      Off  | 00000000:01:00.0 N/A |                  N/A |
| 50%   39C    P0    N/A /  N/A |    213MiB /   980MiB |     N/A      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+

入ってる。CUDAバージョンも最新の11.0が入っちゃってる。これはもしかしたらあとでバージョンの適合性に問題が出る可能性があるかもな。

基本ヘッドレスサーバとして使いたいので、sshとかvncがどうなっているんかなと思って確認したが、どっちも使えるようにはなっていない模様。これはやはりデスクトップ環境を基本としている思想の違いなんだろうな。

$ vncserver -list
vncserver: コマンドが見つかりません

$ ssh 192.168.1.100 -l kuro
ssh: connect to host 192.168.1.100 port 22: Connection refused

早速インストール

$ sudo apt install openssh-server

$ sudo systemctl status ssh
● ssh.service - OpenBSD Secure Shell server
     Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2021-04-25 12:41:42 JST; 2min 9s ago
       Docs: man:sshd(8)
             man:sshd_config(5)
   Main PID: 4750 (sshd)
      Tasks: 1 (limit: 9416)
     Memory: 1.2M
     CGroup: /system.slice/ssh.service
             └─4750 sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups
(略)

$ ssh 192.168.1.100 -l kuro
kuro@192.168.1.100's password: 
Welcome to Ubuntu 20.04.2 LTS (GNU/Linux 5.8.0-50-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

0 updates can be installed immediately.
0 of these updates are security updates.

Your Hardware Enablement Stack (HWE) is supported until April 2025.

The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.

これでsshはOK。
さて、vncの方はというと実はvncサーバはUbuntuにも最初から入っている模様。
まず、設定のアプリを開き、共有タグの中のスライドスイッチをオンにして、画面共有をアクティブに切り替える。
その上で、

$ gsettings set org.gnome.Vino require-encryption false

こうすることでリモートアクセスも有効になる。どうやらVinoというリモートアクセスサーバを使っているらしい。
その際ポートは自動で5900となるようだ。ポートをどうやって変更するのかはわからない。
Ubuntuはデフォルトではファイヤウォールも有効となっていないので、この状態でアクセス可能なはずだ。
設定>共有の中にリモートアクセスという項目が追加されている。
f:id:k-kuro:20210425131255p:plain


追記
Ubuntuのインストール状態でCUDAはインストールされてなかった。nvidia-smiでCUDA Version: 11.0となっているのは11.0まで対応しているよ!ってことらしい。

Vinoはユーザがログインした状態でないとリモートからログインできないという仕様らしく、ヘッドレスサーバとしては使い勝手が悪い。また、ネットワークの負荷が高いようで、動作はかなりもっさりとした感じでイマイチだな。やはりUbuntuはローカルデスクトップで使う前提なんだろうか。