はじめに
以前 CentOS7 に kernel-ml や NVIDIA のドライバを入れた.
たまに行うアップデートの流れを書いておく.
更新前の状態
kernel-ml と NVIDIA のドライバの状態は次の通り.
$ uname -a
5.6.6-1.el7.elrepo.x86_64
$ nvidia-smi
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 440.82 Driver Version: 440.82 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... Off | 00000000:01:00.0 Off | N/A |
| 19% 57C P0 29W / 120W | 0MiB / 6075MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| No running processes found |
+-----------------------------------------------------------------------------+
カーネルと NVIDIA ドライバを更新する
アップデートの流れは次の通り.
- ランレベルを変更して CLI で起動
- カーネルやパッケージを更新
- OS起動時のカーネルを指定
- NVIDIA ドライバを更新
- ランレベルを変更して GUI で起動
NVIDIA ドライバはダウンロードして,適当な場所に配置しておくこと.
早速アップデートを進める.
ランレベルを変更して再起動する.
$ sudo systemctl set-default multi-user.target
$ sudo reboot
カーネルやパッケージをアップデートする.デフォルトの 3 系カーネルは更新しないよう除外する.
$ sudo yum update --enablerepo elrepo-kernel --exclude=kernel.x86_64
OS 起動時に自動で選択されるカーネル指定と GRUB2 の設定を更新する.
$ sudo awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
$ sudo grub2-set-default 0
$ sudo grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg
NVIDIA ドライバを更新する.ドライバの更新時に,GCC のバージョンがカーネルをビルドしたものと異なると警告が出たため,カーネルにあわせて GCC9 もインストールする.コンパイラのバージョンが異なるとうまく GUI が起動出来ないことがあるので注意.
$ sudo yum install centos-release-scl
$ sudo yum install devtoolset-9-gcc
$ sh ./NVIDIA-Linux-x86_64-460.84.run
一通り更新が完了したので,ランレベルを戻して GUI で再起動できれば作業完了.
$ sudo systemctl set-default graphical.target
$ sudo reboot
更新後の状態は次の通り.
$ uname -r
5.13.0-1.el7.elrepo.x86_64
$ nvidia-smi
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 460.84 Driver Version: 460.84 CUDA Version: 11.2 |
|-------------------------------+----------------------+----------------------+
| 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... Off | 00000000:01:00.0 Off | N/A |
| 0% 57C P0 14W / 120W | 0MiB / 6075MiB | 3% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| No running processes found |
+-----------------------------------------------------------------------------+
おわりに
kernel-ml と NVIDIA ドライバの更新の流れを書いた.
CentOS7 のサポート終了まであと 3 年.そろそろ真面目にメイン OS の移行先を決めといたほうが良いだろうか.
コメント