일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- jupyter
- Physics
- JupyterLab
- RemoteDesktop
- Ros
- GYM
- MuJoCo2.1.5
- Reinforcement Learning
- OpenAI
- Robot
- MuJoCo
- simulation
- Baselines
- 강화학습
- python
- Anaconda
- python3
- bindings
- Melodic
- systemctl
- ubuntu
- 무조코
- Robotics
- mujoco-py
- TensorFlow
- WSL
- pyTorch
- 우분투
- 주피터랩
- wsl2
- Today
- Total
Creative-Chan
우분투 reboot과 NVIDIA Driver 에러로 인한 재설치 본문
목차
1. 문제
Ubuntu 원격 서버를 재부팅했더니 다음과 같이 해상도가 깨지고 그래픽 카드 드라이버가 제대로 동작하지 않았다.
nvidia-smi 명령어를 통해 확인하면 다음과 같은 에러 메시지를 뱉어낸다.
NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.
확인해보니 Jupyter 원격 서버가 돌아가던 도중 여러가지 이유로 재부팅이 되었을 때, 그래픽카드 드라이버가 꼬여서 위와 같은 현상이 생긴다고 한다.
해결하는 방법은 간단하다고 한다. Nvidia 드라이버를 재설치 하는 것이다.
2. 해결방법
- 해당 컴퓨터에 설치된 nvidia-driver 버전을 확인한다.
apt --installed list | grep nvidia-driver
- 설치된 드라이버를 삭제한다.
sudo apt remove nvidia-drvier-<설치된 버전>
- 관련된 패키지를 모두 삭제한다.
sudo apt autoremove
- nvidia 드라이버를 재설치한다.
sudo apt-get install nvidia-driver-510
- 재부팅한다.
sudo reboot now
위의 방법으로 재설치하면 일반적으로는 깔끔하게 해결이 된다고 하는데 본인의 경우 드라이버가 제대로 설치되지 않았다.
수많은 시도 끝에 확인한 것은 설치되어있는 nvidia 드라이버는 510.54 버전이었는데 apt
로 받아지는 버전은 510.45 버전이었던 것이다.
복구했던 방법을 다시 소개하고자 한다.
이를 재설치하기 위해서는 우선 깔끔하게 nvidia 관련 프로그램을 삭제해주어야 한다.
4-1. nvidia와 관련된 모든 것을 삭제한다.
sudo apt remove --purge nvidia\*
sudo apt remove --purge nvidia*
sudo apt remove --purge nvidia-*
sudo apt remove --purge nvidia-\*
sudo apt remove --purge libvidia*
4-2. nvidia 드라이버를 다운받는다.
https://www.nvidia.com/Download/index.aspx
4-3. Ubuntu의 DisplayManager를 비활성화한다.
sudo systemctl isolate multi-user.target
4-4. 다운받은 파일의 실행 권한을 부여한다.
chmod +x ./NVIDIA-Linux-x86_64-510.54.run
4-5. 설치를 진행한다.
sudo sh ./NVIDIA-Linux-x86_64-510.54.run
- 본인의 경우 설치 과정 가운데 빌드가 안되는 경우가 있었다. 이는 c 컴파일러의 버전 문제가 있었던 것으로 확인하였다. 이를 해결하기 위해서는 요구하는 버전 (본인의 경우 clang 7.5 이상)으로 업데이트 후에 설정해주어야한다.
# c++ compiler
sudo update-alternatives --config c++
# c compiler
sudo update-alternatives --config cc
4-6. Ubuntu의 DisplayManager를 활성화한다.
sudo systemctl start graphical.target
그리고 우분투를 재부팅하면 다음과 같이 nvidia 드라이버가 잘 작동하는 것을 볼 수 있다.
'Programming > Linux' 카테고리의 다른 글
wsl에서 systemctl 사용하기 (0) | 2023.02.05 |
---|---|
Windows Deep Learning Server using WSL2 (0) | 2023.02.04 |
Jupyter Notebook (JupyterLab) 원격서버 설정하기 (0) | 2022.03.24 |
Anaconda 가상환경을 통한 딥러닝 환경 설정 (TensorFlow, PyTorch) (0) | 2022.03.23 |
Ubuntu 18.04에서 Chrome Remote Desktop 설정하기 (0) | 2022.03.23 |