ubuntu環境構築
準備
Desktop:HP-550-240jp (graphics=GTX960)
HDDにWindows10が入っているため、SSDを買い、そちらにubuntuを入れることにした。
SSD:WesternDigitalの500GSSD(WDS500G2B0A)
あとは、3.5→2.5inchにするためのアダプタ?
SATAケーブル、電源分岐ケーブル
いざ、筐体を開けてみると、電源は余っていたので、分岐ケーブルはいらなかったのだよな、、、
開けてから買うべきだった。
電源を引っこ抜き、作業開始。
SATAの差込口は1個余っていたけど、随分端っこの方にあって、差し込みにくかった。
とりあえず、SSDを電源につなぐところまでやる。
電源もどして、普通にwin10を起動。
USBメモリを用意して、本家より、
ubuntu-18.04.2-desktop-amd64.isoをダウンロードし、書き込み。
こちらを参考にさせてもらった。
フォーマットはFAT32にしておくこと(私のUSBはexFATでフォーマットしていたため、後ほど実施する、USBブートが動かなかった)
USBを挿したまま、Windows10をshutdown。
一度電源を抜いて、空のSSDのSATAケーブルをつなぐ。
HDD(Win10)の方に影響あるのが嫌なので、一旦HDDのSATAは外した。
再起動スタートしたら、間髪いれずF10を連打する。
UEFIの画面になるので、起動順序をUSBハードディスクにする(でもどうやら自動で見てくれるようで、この作業は不要かもしれない)
インストールが始まる。
インストール手順を参考にさせてもらった。
※補足 このサイト内では、最初のGRUB画面でinstallを選択としているが、一番先頭のメニューを選んでも、起動後installerアイコンが画面にあるので、そちらを押して開始してもよい。
また、HDDを外しているので、インストール先も普通に「ディスクを削除してubuntuをインストール」で問題なし。
一通り、インストールして再起動。
ログイン画面にて、ID/passを入力して、デスクトップ環境に入る。
#Windows10とのデュアルブート
Win10とデュアルブートをする必要があるので、一旦shutdownする。
電源を引っこ抜き、HDDを再度つなぎ、電源をつなぎなおして、起動。
この時点で、起動順位は、SSD→USB→HDDとなっている。
grubはまだwindowsを認識していないので、何もしなくてもubuntuが上がる(というか、windowsは選べない)
grubにwindowsを認識させるために、ubuntu似て、以下を実行
$ sudo update-grub
これで、grubがwindowsを認識する。
設定の内容は、/boot/grub/grub.cfg に書かれている。
再び、ubuntuを再起動
今度はgrubが上がり、3番目あたりに、Windows boot manager(デバイスのパス)というメニューが出てくるので、
それを選択。windows10が起動する。
〜テスト〜
windows10を再起動してみる。
やはり、grubが上がるので、このまま放置しておくと、ubuntuが上がる。
なお、windows updateをしたときの再起動は、起動順序がなぜか入れ替わっており
(ubuntuのインストールディスクよりもwin10のインストールディスクの方が先になっている)
これはどのような仕掛けになっているか不明。win10がUEFIを通して、入れ替えてるのではないかと思うが、、、、
こうなった場合は、bootのときにF10を押して、再度SSDが一番最初になるように(GRUBによる起動にするように)しなければならなかった。
#日本語環境
最初に日本語入力の設定。設定というほどのものではないけど。
まず、普通にAlt+半角/全角を押しても、日本語モードにならない。
調べてみると、右上の言語バーみたいなところで、日本語(mozc)というのを選択しておかないといけないらしい。
でも、これって1回だけやるだけなのね、、、、
#その他インストール後の設定
こちらを参考にさせてもらいました。
やったことは、
-パッケージのアップグレード
-言語サポートの設定
-capsとctrlの入れ替え
#ホームディレクトリ直下のディレクトリ
日本語設定で入ったためか、ホームの下の各フォルダが、「デスクトップ」とか「ドキュメント」とか日本語になっている。
GUIで操作しているときはいいのだけど、基本的にCUIで使うので、全部英語に戻す。
$ LANG=C xdg-user-dirs-gtk-update
「update Names」を選択して完了。
すでにフォルダにファイルがある場合はrenameではなく、新規作成になるらしいので注意。
$ gsettings set org.gnome.desktop.input-sources xkb-options "['ctrl:swapcaps']"
#固定IPへの変更
サーバとしても使用するので、IPを固定する。
192.168.1.5
#sshサーバ
リモートログインするために設定する。
$ sudo apt install -y openssh-server
基本的にはconohaでやったとおり。
/etc/ssh/sshd_configの設定をPasswordAuthentication、ChallengeResponseAuthenticationをyesにする。
一旦sshd再起動
sudo systemctl restart sshd
パスワードで入れるようになったので、公開鍵を送り込む。
ubuntuでは、公開鍵の場所設定がコメントアウトされていたので、有効に。
PasswordAuthentication、ChallengeResponseAuthenticationの設定を戻して再び再起動。
#NVIDIA driverのインストール
セキュアブートを無効化しておく。
$ sudo ubuntu-drivers autoinstall
他のサイトを見ていると、デフォルトで設定されているnouveauを停止するために、blackistに追加したりなどやらないと
いけないという話だったが、これで問題なかった。
Mon Jul 15 20:55:31 2019
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 390.116 Driver Version: 390.116 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GeForce GTX 960 Off | 00000000:01:00.0 On | N/A |
| 34% 36C P2 25W / 120W | 383MiB / 1993MiB | 2% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 1230 G /usr/lib/xorg/Xorg 24MiB |
| 0 1269 G /usr/bin/gnome-shell 48MiB |
| 0 1544 G /usr/lib/xorg/Xorg 148MiB |
| 0 1659 G /usr/bin/gnome-shell 156MiB |
+-----------------------------------------------------------------------------+
CUDAのインストール
NVIDIAのサイトより、debファイルをダウンロード
$ sudo dpkg -i cuda-repo-ubuntu1704-9-0-local_9.0.176-1_amd64.deb
$ sudo apt-key add /var/cuda-repo-9-0-local/7fa2af80.pub
$ sudo apt-get update
### cuda-toolkit-9-0 でなく、cudaとすると、NVIDIAのドライバから何からインストールしてしまう模様
$ sudo apt-get install cuda-toolkit-9-0
CuDNNのインストール
7.4.2forCUDA9.0をインストール(特に理由はないが、新しいものだとtensorflowやkerasがうまくいくのか心配だっただけ)
dev、docもインストール。16用だけども。。。
dockerインストール
docker-ceをインストールする。
公式にやり方が乗っているので、その通りに。
まずは、不足しているものをインストール
$ sudo apt install -y apt-transport-https gnupg-agent
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
$ sudo apt-key fingerprint 0EBFCD88 sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
$ sudo apt install -y docker-ce
実行してみる
$ docker run --rm hello-world
docker: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.40/containers/create: dial unix /var/run/docker.sock: connect: permission denied.
権限が足らんらしい。自分のアカウントをdockerグループに追加。
$ sudo usermod -a -G docker {username}
再び実行する。イメージを落として、以下のようなメッセージが出て、OK。
$ docker run --rm hello-world
Status: Downloaded newer image for hello-world:latest
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
(amd64)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker ID:
https://hub.docker.com/
For more examples and ideas, visit:
https://docs.docker.com/get-started/
goのインストール
最初は apt でインストールしようとしたのだけど、ubuntu18.04だとgoの最新が1.10で止まってる模様。18.04はLTSなんだし、デフォルトで用意してほしいものだけど、、、
公式をみていると、やり方が3つ。
- ダウンロードしてから、/usr/localにtar.gzを展開。
- aptにppaを追加して、apt-getでインストール
- snapを使用してインストール
ダウンロードして展開するのはパッケージ管理的に気が進まず、なのでsnapを使おうかとも思ったのだけど、なんかsnappyって使ってる人少ない気がするのですよね、、、、
ということで、aptで実施することにする。←ハマりたくない人です笑
# パッケージリストにppaを追加
$ sudo add-apt-repository ppa:longsleep/golang-backports
# 更新
$ sudo apt-get update
# インストール
$ sudo apt-get install golang-go
# 確認
$ go version
go version go1.13.4 linux/amd64
boot時のカーネル変更
ubuntuは何回かは apt-get update等はやっていたけど、 久しくdeepに触っていなかった。
久々にログインしていろいろ見てみるかと思って触っていたところ、nvidia-smiがエラーになっていることに気づく。え?なんでだろう、、、、
いろいろ調べてると、kernelのバージョンアップによるものらしい。いつの間にか、linuxカーネルって5.3(5.3.0-26-generic)まで進んでるのね。nvidiaのドライバは390と、古いものを使っていて恐らく新しいカーネルがサポートしてない的な感じだろうか。
しょうがないので、kernelを前のバージョンに戻してみる。
一番手軽なのが、boot時に選択できるadvanced-optionで、以前のkernelを選択するというもの。
見てみると、kernel5.0.0-37-genericが残っていて(他にも現バージョン/前バージョンカーネルのrecoveryモードがあるが、recoverモードはまず使用しないので、実質1世代前しか存在しない状況。何世代も選択できるようにできたりするのだろうか...)、こちらで起動してみた。
起動すると初期RAMディスクをロード中...とか出るのだけど、、、
(前からこんなん出たっけ?)と思いながら、普通に起動。
nvidia-smiも表示できた。
さて、これを通常の起動の際にも自動的に選択させたいのだが、、、
調べてみると、grub-set-defaultコマンドでやるらしい。
目的のカーネルは、advanced-optionの2番目(0が最初なので、1)のメニュー内の2番目(同じく0が最初なので、2)に存在する。以下のようにやるらしいが、、、
$ sudo grub-set-default 1>2
変更は、/etc/default/grub内の、GRUB_DEFAULT=xxx に反映されるはず、、、、
だが、変わらないじゃないか!!
しょうがないので、直接変更する。
GRUB_DEFAULT="1>2"
以下のコマンドで更新を反映する。
$ sudo update-grub
稼働するようになった。
そろそろdriverも更新しないとな、、、というか、tensorflowも再び追っかけないと、、、
再びNVIDIAのdriver更新
使用可能なドライバの確認
$ ubuntu-drivers devices
== /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0 ==
modalias : pci:v000010DEd00001C03sv00001462sd00003283bc03sc00i00
vendor : NVIDIA Corporation
model : GP106 [GeForce GTX 1060 6GB]
driver : nvidia-driver-430 - distro non-free
driver : nvidia-driver-390 - distro non-free
driver : nvidia-driver-440 - third-party free recommended
driver : nvidia-driver-435 - distro non-free
driver : nvidia-driver-410 - third-party free
driver : xserver-xorg-video-nouveau - distro free builtin
以前と同様にインストールする。
$ sudo ubuntu-drivers autoinstall
$ nvidia-smi
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 440.33.01 Driver Version: 440.33.01 CUDA Version: 10.2 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GeForce GTX 106... On | 00000000:01:00.0 Off | N/A |
| 0% 23C P8 4W / 120W | 154MiB / 6075MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 1690 G /usr/lib/xorg/Xorg 63MiB |
| 0 1817 G /usr/bin/gnome-shell 87MiB |
+-----------------------------------------------------------------------------+
CUDA Version:10.2って、そんなの入れてないんだけど、対応バージョンを書いてるってことかな。
これ自体は、実施したからといって、何がどうということはないのだが、後々 nvidiaのライブラリ関連をdockerで入れる予定なので、その準備とする。
またまたドライバの更新 (2020/10/30)
apt upgradeをしていると、保留になっているものがあることに気づく
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
アップグレードパッケージを検出しています... 完了
以下のパッケージが自動でインストールされましたが、もう必要とされていません:
golang-1.13-go golang-1.13-src libatomic1:i386 libbsd0:i386 libdrm-amdgpu1:i386
libdrm-intel1:i386 libdrm-nouveau2:i386 libdrm-radeon1:i386 libdrm2:i386 libedit2:i386
libelf1:i386 libexpat1:i386 libffi6:i386 libgl1:i386 libgl1-mesa-dri:i386 libglapi-mesa:i386
libglvnd0:i386 libglx-mesa0:i386 libglx0:i386 libllvm10:i386 libllvm7 libllvm8:i386 libllvm9
libllvm9:i386 libnvidia-common-390 libpciaccess0:i386 libsensors4:i386 libstdc++6:i386
libwayland-client0:i386 libwayland-server0:i386 libx11-6:i386 libx11-xcb1:i386 libxau6:i386
libxcb-dri2-0:i386 libxcb-dri3-0:i386 libxcb-glx0:i386 libxcb-present0:i386 libxcb-sync1:i386
libxcb1:i386 libxdamage1:i386 libxdmcp6:i386 libxext6:i386 libxfixes3:i386 libxshmfence1:i386
libxxf86vm1:i386 linux-hwe-5.4-headers-5.4.0-42 linux-hwe-5.4-headers-5.4.0-45
linux-hwe-5.4-headers-5.4.0-47
これを削除するには 'sudo apt autoremove' を利用してください。
以下のパッケージは保留されます:
libnvidia-cfg1-440 libnvidia-compute-440 libnvidia-decode-440 libnvidia-encode-440
libnvidia-extra-440 libnvidia-fbc1-440 libnvidia-gl-440 libnvidia-ifr1-440
nvidia-compute-utils-440 nvidia-dkms-440 nvidia-driver-440 nvidia-kernel-common-440
nvidia-kernel-source-440 nvidia-utils-440 xserver-xorg-video-nvidia-440
アップグレード: 0 個、新規インストール: 0 個、削除: 0 個、保留: 15 個。
nvidiaのドライバはver.440をずっと使用しているが、この更新があるらしい。
何が使えるのか確認してみる。
$ ubuntu-drivers devices
== /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0 ==
modalias : pci:v000010DEd00001C03sv00001462sd00003283bc03sc00i00
vendor : NVIDIA Corporation
model : GP106 [GeForce GTX 1060 6GB]
manual_install: True
driver : nvidia-driver-440-server - distro non-free
driver : nvidia-driver-435 - distro non-free
driver : nvidia-driver-450-server - distro non-free
driver : nvidia-driver-455 - third-party free recommended
driver : nvidia-driver-418-server - distro non-free
driver : nvidia-driver-390 - distro non-free
driver : xserver-xorg-video-nouveau - distro free builtin
なんか440が消えている。代わりに440-server???なんだこれ?
とりあえずupgradeをシミュレートしてみると、、、、
$ apt -s dist-upgrade
注意: これはシミュレーションにすぎません!
apt は実際の実行に root 権限を必要とします。
ロックが非アクティブであることから、今この時点の状態に妥当性が
あるとは言い切れないことに注意してください!
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
アップグレードパッケージを検出しています... 完了
以下のパッケージが自動でインストールされましたが、もう必要とされていません:
golang-1.13-go golang-1.13-src libatomic1:i386 libbsd0:i386 libdrm-amdgpu1:i386
libdrm-intel1:i386 libdrm-nouveau2:i386 libdrm-radeon1:i386 libdrm2:i386 libedit2:i386
libelf1:i386 libexpat1:i386 libffi6:i386 libgl1:i386 libgl1-mesa-dri:i386 libglapi-mesa:i386
libglvnd0:i386 libglx-mesa0:i386 libglx0:i386 libllvm10:i386 libllvm7 libllvm8:i386 libllvm9
libllvm9:i386 libnvidia-cfg1-440 libnvidia-common-390 libnvidia-common-440 libnvidia-compute-440
libnvidia-decode-440 libnvidia-encode-440 libnvidia-extra-440 libnvidia-fbc1-440 libnvidia-gl-440
libnvidia-ifr1-440 libpciaccess0:i386 libsensors4:i386 libstdc++6:i386 libwayland-client0:i386
libwayland-server0:i386 libx11-6:i386 libx11-xcb1:i386 libxau6:i386 libxcb-dri2-0:i386
libxcb-dri3-0:i386 libxcb-glx0:i386 libxcb-present0:i386 libxcb-sync1:i386 libxcb1:i386
libxdamage1:i386 libxdmcp6:i386 libxext6:i386 libxfixes3:i386 libxshmfence1:i386 libxxf86vm1:i386
linux-hwe-5.4-headers-5.4.0-42 linux-hwe-5.4-headers-5.4.0-45 linux-hwe-5.4-headers-5.4.0-47
nvidia-compute-utils-440 nvidia-dkms-440 nvidia-kernel-common-440 nvidia-kernel-source-440
nvidia-utils-440 xserver-xorg-video-nvidia-440
これを削除するには 'apt autoremove' を利用してください。
以下のパッケージが新たにインストールされます:
libnvidia-cfg1-450 libnvidia-compute-450 libnvidia-decode-450 libnvidia-encode-450
libnvidia-extra-450 libnvidia-fbc1-450 libnvidia-gl-450 libnvidia-ifr1-450
nvidia-compute-utils-450 nvidia-dkms-450 nvidia-driver-450 nvidia-kernel-common-450
nvidia-kernel-source-450 nvidia-utils-450 xserver-xorg-video-nvidia-450
以下のパッケージはアップグレードされます:
libnvidia-cfg1-440 libnvidia-compute-440 libnvidia-decode-440 libnvidia-encode-440
libnvidia-extra-440 libnvidia-fbc1-440 libnvidia-gl-440 libnvidia-ifr1-440
nvidia-compute-utils-440 nvidia-dkms-440 nvidia-driver-440 nvidia-kernel-common-440
nvidia-kernel-source-440 nvidia-utils-440 xserver-xorg-video-nvidia-440
アップグレード: 15 個、新規インストール: 15 個、削除: 0 個、保留: 0 個。
Inst nvidia-driver-440 [440.100-0ubuntu0.18.04.1] (450.80.02-0ubuntu0.18.04.2 Ubuntu:18.04/bionic-updates [amd64]) []
Inst libnvidia-gl-440 [440.100-0ubuntu0.18.04.1] (450.80.02-0ubuntu0.18.04.2 Ubuntu:18.04/bionic-updates [amd64]) []
Inst libnvidia-gl-450 (450.80.02-0ubuntu1 NVIDIA CUDA:developer.download.nvidia.com [amd64]) []
Inst nvidia-dkms-440 [440.100-0ubuntu0.18.04.1] (450.80.02-0ubuntu0.18.04.2 Ubuntu:18.04/bionic-updates [amd64]) []
Inst nvidia-kernel-source-440 [440.100-0ubuntu0.18.04.1] (450.80.02-0ubuntu0.18.04.2 Ubuntu:18.04/bionic-updates [amd64]) []
Inst nvidia-kernel-source-450 (450.80.02-0ubuntu1 NVIDIA CUDA:developer.download.nvidia.com [amd64]) []
Inst nvidia-kernel-common-440 [440.100-0ubuntu0.18.04.1] (450.80.02-0ubuntu0.18.04.2 Ubuntu:18.04/bionic-updates [amd64]) []
Inst nvidia-kernel-common-450 (450.80.02-0ubuntu1 NVIDIA CUDA:developer.download.nvidia.com [amd64]) []
Inst nvidia-dkms-450 (450.80.02-0ubuntu1 NVIDIA CUDA:developer.download.nvidia.com [amd64]) []
Inst libnvidia-decode-440 [440.100-0ubuntu0.18.04.1] (450.80.02-0ubuntu0.18.04.2 Ubuntu:18.04/bionic-updates [amd64]) []
Inst libnvidia-decode-450 (450.80.02-0ubuntu1 NVIDIA CUDA:developer.download.nvidia.com [amd64]) []
Inst libnvidia-compute-440 [440.100-0ubuntu0.18.04.1] (450.80.02-0ubuntu0.18.04.2 Ubuntu:18.04/bionic-updates [amd64]) [libcuinj64-9.1:amd64 ]
Inst libnvidia-compute-450 (450.80.02-0ubuntu1 NVIDIA CUDA:developer.download.nvidia.com [amd64]) []
Inst libnvidia-extra-440 [440.100-0ubuntu0.18.04.1] (450.80.02-0ubuntu0.18.04.2 Ubuntu:18.04/bionic-updates [amd64]) []
Inst libnvidia-extra-450 (450.80.02-0ubuntu1 NVIDIA CUDA:developer.download.nvidia.com [amd64]) []
Inst nvidia-compute-utils-440 [440.100-0ubuntu0.18.04.1] (450.80.02-0ubuntu0.18.04.2 Ubuntu:18.04/bionic-updates [amd64]) []
Inst nvidia-compute-utils-450 (450.80.02-0ubuntu1 NVIDIA CUDA:developer.download.nvidia.com [amd64]) []
Inst libnvidia-encode-440 [440.100-0ubuntu0.18.04.1] (450.80.02-0ubuntu0.18.04.2 Ubuntu:18.04/bionic-updates [amd64]) []
Inst libnvidia-encode-450 (450.80.02-0ubuntu1 NVIDIA CUDA:developer.download.nvidia.com [amd64]) []
Inst nvidia-utils-440 [440.100-0ubuntu0.18.04.1] (450.80.02-0ubuntu0.18.04.2 Ubuntu:18.04/bionic-updates [amd64]) []
Inst nvidia-utils-450 (450.80.02-0ubuntu1 NVIDIA CUDA:developer.download.nvidia.com [amd64]) []
Inst xserver-xorg-video-nvidia-440 [440.100-0ubuntu0.18.04.1] (450.80.02-0ubuntu0.18.04.2 Ubuntu:18.04/bionic-updates [amd64]) []
Inst libnvidia-cfg1-440 [440.100-0ubuntu0.18.04.1] (450.80.02-0ubuntu0.18.04.2 Ubuntu:18.04/bionic-updates [amd64]) []
Inst libnvidia-cfg1-450 (450.80.02-0ubuntu1 NVIDIA CUDA:developer.download.nvidia.com [amd64]) []
Inst xserver-xorg-video-nvidia-450 (450.80.02-0ubuntu1 NVIDIA CUDA:developer.download.nvidia.com [amd64]) []
Inst libnvidia-ifr1-440 [440.100-0ubuntu0.18.04.1] (450.80.02-0ubuntu0.18.04.2 Ubuntu:18.04/bionic-updates [amd64]) []
Inst libnvidia-ifr1-450 (450.80.02-0ubuntu1 NVIDIA CUDA:developer.download.nvidia.com [amd64]) []
Inst libnvidia-fbc1-440 [440.100-0ubuntu0.18.04.1] (450.80.02-0ubuntu0.18.04.2 Ubuntu:18.04/bionic-updates [amd64]) []
Inst libnvidia-fbc1-450 (450.80.02-0ubuntu1 NVIDIA CUDA:developer.download.nvidia.com [amd64]) []
Inst nvidia-driver-450 (450.80.02-0ubuntu1 NVIDIA CUDA:developer.download.nvidia.com [amd64])
Conf nvidia-driver-440 (450.80.02-0ubuntu0.18.04.2 Ubuntu:18.04/bionic-updates [amd64])
Conf libnvidia-gl-440 (450.80.02-0ubuntu0.18.04.2 Ubuntu:18.04/bionic-updates [amd64])
Conf libnvidia-gl-450 (450.80.02-0ubuntu1 NVIDIA CUDA:developer.download.nvidia.com [amd64])
Conf nvidia-dkms-440 (450.80.02-0ubuntu0.18.04.2 Ubuntu:18.04/bionic-updates [amd64])
Conf nvidia-kernel-source-440 (450.80.02-0ubuntu0.18.04.2 Ubuntu:18.04/bionic-updates [amd64])
Conf nvidia-kernel-source-450 (450.80.02-0ubuntu1 NVIDIA CUDA:developer.download.nvidia.com [amd64])
Conf nvidia-kernel-common-440 (450.80.02-0ubuntu0.18.04.2 Ubuntu:18.04/bionic-updates [amd64])
Conf nvidia-kernel-common-450 (450.80.02-0ubuntu1 NVIDIA CUDA:developer.download.nvidia.com [amd64])
Conf nvidia-dkms-450 (450.80.02-0ubuntu1 NVIDIA CUDA:developer.download.nvidia.com [amd64])
Conf libnvidia-decode-440 (450.80.02-0ubuntu0.18.04.2 Ubuntu:18.04/bionic-updates [amd64])
Conf libnvidia-decode-450 (450.80.02-0ubuntu1 NVIDIA CUDA:developer.download.nvidia.com [amd64])
Conf libnvidia-compute-440 (450.80.02-0ubuntu0.18.04.2 Ubuntu:18.04/bionic-updates [amd64])
Conf libnvidia-compute-450 (450.80.02-0ubuntu1 NVIDIA CUDA:developer.download.nvidia.com [amd64])
Conf libnvidia-extra-440 (450.80.02-0ubuntu0.18.04.2 Ubuntu:18.04/bionic-updates [amd64])
Conf libnvidia-extra-450 (450.80.02-0ubuntu1 NVIDIA CUDA:developer.download.nvidia.com [amd64])
Conf nvidia-compute-utils-440 (450.80.02-0ubuntu0.18.04.2 Ubuntu:18.04/bionic-updates [amd64])
Conf nvidia-compute-utils-450 (450.80.02-0ubuntu1 NVIDIA CUDA:developer.download.nvidia.com [amd64])
Conf libnvidia-encode-440 (450.80.02-0ubuntu0.18.04.2 Ubuntu:18.04/bionic-updates [amd64])
Conf libnvidia-encode-450 (450.80.02-0ubuntu1 NVIDIA CUDA:developer.download.nvidia.com [amd64])
Conf nvidia-utils-440 (450.80.02-0ubuntu0.18.04.2 Ubuntu:18.04/bionic-updates [amd64])
Conf nvidia-utils-450 (450.80.02-0ubuntu1 NVIDIA CUDA:developer.download.nvidia.com [amd64])
Conf xserver-xorg-video-nvidia-440 (450.80.02-0ubuntu0.18.04.2 Ubuntu:18.04/bionic-updates [amd64])
Conf libnvidia-cfg1-440 (450.80.02-0ubuntu0.18.04.2 Ubuntu:18.04/bionic-updates [amd64])
Conf libnvidia-cfg1-450 (450.80.02-0ubuntu1 NVIDIA CUDA:developer.download.nvidia.com [amd64])
Conf xserver-xorg-video-nvidia-450 (450.80.02-0ubuntu1 NVIDIA CUDA:developer.download.nvidia.com [amd64])
Conf libnvidia-ifr1-440 (450.80.02-0ubuntu0.18.04.2 Ubuntu:18.04/bionic-updates [amd64])
Conf libnvidia-ifr1-450 (450.80.02-0ubuntu1 NVIDIA CUDA:developer.download.nvidia.com [amd64])
Conf libnvidia-fbc1-440 (450.80.02-0ubuntu0.18.04.2 Ubuntu:18.04/bionic-updates [amd64])
Conf libnvidia-fbc1-450 (450.80.02-0ubuntu1 NVIDIA CUDA:developer.download.nvidia.com [amd64])
Conf nvidia-driver-450 (450.80.02-0ubuntu1 NVIDIA CUDA:developer.download.nvidia.com [amd64])
tomoaki@550-240jp:~$
440はアップグレードされ、450がインストールされるとのこと。
440の方はもう必要とされませんと出てるので、削除されそう。まあ、削除されるべきだと思うけども。
でも、ubuntu-drivers devicesを打ったときには450は450-serverとしか出てなかった気がするのだけど。気にせず保留分をアップデートする。
$ sudo apt dist-upgrade
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
アップグレードパッケージを検出しています... 完了
以下のパッケージが自動でインストールされましたが、もう必要とされていません:
golang-1.13-go golang-1.13-src libatomic1:i386 libbsd0:i386 libdrm-amdgpu1:i386
libdrm-intel1:i386 libdrm-nouveau2:i386 libdrm-radeon1:i386 libdrm2:i386 libedit2:i386
libelf1:i386 libexpat1:i386 libffi6:i386 libgl1:i386 libgl1-mesa-dri:i386 libglapi-mesa:i386
libglvnd0:i386 libglx-mesa0:i386 libglx0:i386 libllvm10:i386 libllvm7 libllvm8:i386 libllvm9
libllvm9:i386 libnvidia-cfg1-440 libnvidia-common-390 libnvidia-common-440 libnvidia-compute-440
libnvidia-decode-440 libnvidia-encode-440 libnvidia-extra-440 libnvidia-fbc1-440 libnvidia-gl-440
libnvidia-ifr1-440 libpciaccess0:i386 libsensors4:i386 libstdc++6:i386 libwayland-client0:i386
libwayland-server0:i386 libx11-6:i386 libx11-xcb1:i386 libxau6:i386 libxcb-dri2-0:i386
libxcb-dri3-0:i386 libxcb-glx0:i386 libxcb-present0:i386 libxcb-sync1:i386 libxcb1:i386
libxdamage1:i386 libxdmcp6:i386 libxext6:i386 libxfixes3:i386 libxshmfence1:i386 libxxf86vm1:i386
linux-hwe-5.4-headers-5.4.0-42 linux-hwe-5.4-headers-5.4.0-45 linux-hwe-5.4-headers-5.4.0-47
nvidia-compute-utils-440 nvidia-dkms-440 nvidia-kernel-common-440 nvidia-kernel-source-440
nvidia-utils-440 xserver-xorg-video-nvidia-440
これを削除するには 'sudo apt autoremove' を利用してください。
以下のパッケージが新たにインストールされます:
libnvidia-cfg1-450 libnvidia-compute-450 libnvidia-decode-450 libnvidia-encode-450
libnvidia-extra-450 libnvidia-fbc1-450 libnvidia-gl-450 libnvidia-ifr1-450
nvidia-compute-utils-450 nvidia-dkms-450 nvidia-driver-450 nvidia-kernel-common-450
nvidia-kernel-source-450 nvidia-utils-450 xserver-xorg-video-nvidia-450
以下のパッケージはアップグレードされます:
libnvidia-cfg1-440 libnvidia-compute-440 libnvidia-decode-440 libnvidia-encode-440
libnvidia-extra-440 libnvidia-fbc1-440 libnvidia-gl-440 libnvidia-ifr1-440
nvidia-compute-utils-440 nvidia-dkms-440 nvidia-driver-440 nvidia-kernel-common-440
nvidia-kernel-source-440 nvidia-utils-440 xserver-xorg-video-nvidia-440
アップグレード: 15 個、新規インストール: 15 個、削除: 0 個、保留: 0 個。
98.2 MB のアーカイブを取得する必要があります。
この操作後に追加で 16.0 MB のディスク容量が消費されます。
続行しますか? [Y/n] Y
取得:1 http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64 libnvidia-gl-450 450.80.02-0ubuntu1 [60.5 MB]
取得:2 http://jp.archive.ubuntu.com/ubuntu bionic-updates/restricted amd64 nvidia-driver-440 amd64 450.80.02-0ubuntu0.18.04.2 [6,492 B]
取得:3 http://jp.archive.ubuntu.com/ubuntu bionic-updates/restricted amd64 libnvidia-gl-440 amd64 450.80.02-0ubuntu0.18.04.2 [6,492 B]
取得:4 http://jp.archive.ubuntu.com/ubuntu bionic-updates/restricted amd64 nvidia-dkms-440 amd64 450.80.02-0ubuntu0.18.04.2 [6,492 B]
取得:5 http://jp.archive.ubuntu.com/ubuntu bionic-updates/restricted amd64 nvidia-kernel-source-440 amd64 450.80.02-0ubuntu0.18.04.2 [6,500 B]
取得:6 http://jp.archive.ubuntu.com/ubuntu bionic-updates/restricted amd64 nvidia-kernel-common-440 amd64 450.80.02-0ubuntu0.18.04.2 [6,504 B]
nvidia-modeset.ko:
Running module version sanity check.
- Original module
- No original module exists within this kernel
- Installation
- Installing to /lib/modules/5.4.0-52-generic/updates/dkms/
nvidia-drm.ko:
Running module version sanity check.
- Original module
- No original module exists within this kernel
- Installation
- Installing to /lib/modules/5.4.0-52-generic/updates/dkms/
nvidia-uvm.ko:
Running module version sanity check.
- Original module
- No original module exists within this kernel
- Installation
- Installing to /lib/modules/5.4.0-52-generic/updates/dkms/
depmod...
DKMS: install completed.
nvidia-compute-utils-450 (450.80.02-0ubuntu1) を設定しています ...
nvidia-compute-utils-440:amd64 (450.80.02-0ubuntu0.18.04.2) を設定しています ...
libnvidia-extra-440:amd64 (450.80.02-0ubuntu0.18.04.2) を設定しています ...
nvidia-kernel-source-440 (450.80.02-0ubuntu0.18.04.2) を設定しています ...
libnvidia-gl-440:amd64 (450.80.02-0ubuntu0.18.04.2) を設定しています ...
xserver-xorg-video-nvidia-450 (450.80.02-0ubuntu1) を設定しています ...
libnvidia-ifr1-450:amd64 (450.80.02-0ubuntu1) を設定しています ...
libnvidia-decode-450:amd64 (450.80.02-0ubuntu1) を設定しています ...
libnvidia-encode-450:amd64 (450.80.02-0ubuntu1) を設定しています ...
libnvidia-fbc1-440:amd64 (450.80.02-0ubuntu0.18.04.2) を設定しています ...
nvidia-dkms-440 (450.80.02-0ubuntu0.18.04.2) を設定しています ...
libnvidia-cfg1-440:amd64 (450.80.02-0ubuntu0.18.04.2) を設定しています ...
nvidia-driver-450 (450.80.02-0ubuntu1) を設定しています ...
libnvidia-ifr1-440:amd64 (450.80.02-0ubuntu0.18.04.2) を設定しています ...
libnvidia-decode-440:amd64 (450.80.02-0ubuntu0.18.04.2) を設定しています ...
libnvidia-encode-440:amd64 (450.80.02-0ubuntu0.18.04.2) を設定しています ...
xserver-xorg-video-nvidia-440:amd64 (450.80.02-0ubuntu0.18.04.2) を設定しています ...
nvidia-driver-440 (450.80.02-0ubuntu0.18.04.2) を設定しています ...
libc-bin (2.27-3ubuntu1.2) のトリガを処理しています ...
man-db (2.8.3-2ubuntu0.1) のトリガを処理しています ...
initramfs-tools (0.130ubuntu3.11) のトリガを処理しています ...
update-initramfs: Generating /boot/initrd.img-5.4.0-52-generic
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8125a-3.fw for module r8169
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8168fp-3.fw for module r8169
rebootし、確認してみる。
$ nvidia-smi
Fri Oct 30 06:53:52 2020
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 450.80.02 Driver Version: 450.80.02 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 GTX 106... On | 00000000:01:00.0 On | N/A |
| 0% 34C P8 5W / 120W | 90MiB / 6075MiB | 0% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| 0 N/A N/A 1641 G /usr/lib/xorg/Xorg 39MiB |
| 0 N/A N/A 2115 G /usr/bin/gnome-shell 47MiB |
+-----------------------------------------------------------------------------+
これでcuda11.0が使用可能になった。
ちなみに、docker19.03からはcudaとcudnnとなんちゃらって、あの依存ライブラリを悩まなくても、
nvidia-cuda-toolkitだけ入れておけば、docker側でバージョンを変えられるので、こちらの方が便利。
以前からいれているのだけど、これは更新しなくてもいいのだろうか、、、、
クラウドストレージの共有〜rclone導入 (2021/6/19)
ubuntuの環境ってバックアップとっていなかったのですが、別途USBHDD買ったりするのももったいないので、
cloudに保存・同期できるようにしたい。
自分はicloudとOneDrive使用しているのだけど、icloudの方は50GB契約で容量少ないので、OneDriveを使用することにする(というか、よくみるとrcloneだとicloudが使えなさそう)
こちらを参考にさせてもらいました。
公式からdebをダウンロード
$ wget https://downloads.rclone.org/v1.55.1/rclone-v1.55.1-linux-amd64.deb
インストール〜セットアップ
# install
$ sudo dpkg -i rclone-v1.55.1-linux-amd64.deb
# setup
$ rclone config
# 以降、対話形式でいくつか質問される
# 新しい接続先にする -> n
# 名前を決める -> onedrive
# クラウドストレージの種類を選ぶ -> 26 (Microsoft OneDriveに相当)
# client_id -> enterでよい(後で OneDriveにブラウザで接続する情報が使われる模様)
# client_secret -> enterでよい
# region を選ぶ -> 1 (Microsoft Cloud Global)
# Edit advanced config? -> n (default)
# Use auto config? -> y (default)
# 上記、デスクトップ接続ならこれでよいが、remoteログインならnにする必要ある模様
# ブラウザが開き、OneDriveへ接続しようとする(ここでアカウントや認証を求められる)
# One Driveの種類を選ぶ -> 1 (OneDrive Personal or Business)
# driveが検知され、使いたいドライブを選ぶ -> 0 (0しか出てこなかったが、複数出てくる場面もある?)
# Found drive 'root' of type 'personal', URL: https://onedrive.live.com/?cid=*****
# これでOKか? -> y
# 全部OKか? -> y
# 変更や新規接続追加等他にあるか? -> q (ないので、quit config~設定終了)
設定は、$HOME/.config/rclone/rclone.confに保存されます
設定確認
設定が完了していれば、以下のようにして、onedriveの内容を表示することができます。
$ rclone lsd onedrive:
onedriveを通常のファイルシステムと同様に扱えるようにします
# マウントするディレクトリを作成
$ mkdir $HOME/Documents/onedrive
# onedriveをマウント
$ rclone --vfs-cache-mode writes mount onedrive:ドキュメント ~/Documents/onedrive/ &
OneDrive上で、私は「ドキュメント」フォルダに大体必要なものをおいていて、「ミュージック」フォルダや画像はwindowsでしか使用していないので、ドキュメントフォルダのみ接続にしました。
まるごとマウントしたい場合は
$ mkdir $HOME/onedrive
$ rclone --vfs-cache-mode writes mount onedrive: ~/onedrive/ &
みたいな感じになるかと思います。
crontabの編集
ログインする度にマウントされるようにcrontabにエントリを追加します
$ crontab -e
# 以下を追加
@reboot rclone --vfs-cache-mode writes mount onedrive:ドキュメント ~/Documents/onedrive/ &
以上で完了
Discussion