ubuntu를 이용한 딥러닝 Server 설치하기 1
ubuntu 설치와 트러블슈팅
Installation of Ubuntu 18.04 LTS for Deep Learning Computer -1
Ubuntu Installation - The Trouble Shooting
평소에 캐글 대회에 관심이 있었고, 제대로 대회에 참여해봐야지 하는 생각이 있었습니다. 그러다가 IEEE 대회에 참여해 봤습니다. 결과는 노메달!, 동메달이라도 따보고 싶었는데 아쉽게 메달을 놓치게 되었습니다. 그때 정말로 캐글 대회에서 메달을 따보고 싶다는 생각이 들었고, 올해가 되기 전에 대회에 한번 더 참여하는 것과, 내년 초까지 Competition으로 Expert를 따보자는 계획을 하게 되었습니다.
계획을 위해서는 딥러닝용 사양 좋은 PC가 필수라는 생각이 들었고, 시원하게 2백만원 정도의 사양의 컴퓨터를 맞추게 되었습니다.
딥러닝용 PC서버를 만들기 위해서 OS를 정해야 했는데, 캐글 고수분들께서 Ubuntu로 세팅을 많이 하시는 걸 보고 바로 usb에 부팅용 iso를 받아서 시동 디스크를 만들었습니다.
제가 주로 보고 따라한 블로그 주소는 다음과 같습니다. 장지수님 블로그, 개인 딥러닝용 서버 설치 과정기
이 과정을 보고 쭉 따라했고, usb를 넣고 부팅을 시켰더니,
Ubuntu 18.04 USB 설치 error (Mac OS 이용)
쉽게 될 줄 알았더니 똭!! 에러가 떠버렸습니다. Google신을 답을 알고 계시겠죠? 하지만 답을 쉽게 주지는 않으시는 것 같습니다. 3시간의 서칭 끝에 ‘nouveau
unknown chipset’, 누보(새 시작 이라는 말이라고 합니다)에 대한 해결법을 찾았습니다. 부팅 디스크를 넣고, ubuntu Grub화면까지 간 다음(grub 화면이 안나올 경우 shift를 누르면 된다고 하네요), e를 눌러서 텍스트 편집기로 갑니다. 이후 나타나는 화면에서 quiet splash
혹은 quiet ---
로 표시된 부분으로 갑니다. quiet splash nomodeset
또는 quiet splash nomodeset
을 입력 후 F10을 눌러 저장하고 리부팅 합니다.
보통 이렇게 하면 문제없이 ubuntu화면으로 넘어가서 설치가 될 것입니다. 하지만 신은 저에게 편한 삶을 허락하지 않는 것 같습니다. 일요일에 좀 쉬고싶었는데 눈치없이 등장하는 에러들… couldn't get size 0x80000000000e
와 MODSIGN: Couldn't get UEFI db list
그리고 line 7: can't open /dev/sdc: No medium found
. 또 다시 Google 신에게 달려가서 2시간 동안 서칭하고 실패하고를 반복했습니다. 그러다가 사막의 오아시스 같은 솔루션을 발견했습니다.
3 보트업 받은 솔루션을 보면 약간의 야매 방법이 등장합니다. 아까 nouveau 메시지에 대한 해결을 하기 위해 nomodeset
을 사용했는데 그것 대신 break debug
를 입력하는 것 입니다. 이렇게 하면 debug 메시지가 쭈우욱 등장하고 엔터를 눌렀을 때 입력할 수 있는 터미널이 나오게 됩니다. 여기서
- 부팅 디스크인 USB를 빼고
- 다시 USB를 넣은 후에
- exit을 입력하고 엔터를 누릅니다.
이렇게 되면 화면이 후루룩 쭉죽 지나가면서 된다 된다…라는 희망에 빠지게 됩니다.
성공입니다. ubuntu 설치 화면으로 정상적으로 이동하였습니다. 여기서부터 세팅은 안내에 따라서 착착 맞춰서 하면 되고, 쭉 진행 하면 성공적으로 username과 서버명이 등록된 ubuntu 화면을 볼 수 있게 됩니다.
잠시 달콤한 성공을 맛봤으니 원격 부팅 세팅을 해보아야겠습니다. 블로그 설명에 따라
1 | sudo vi /etc/ssh/sshd_config |
를 쳐봅니다.
?????
그런건 없습니다. ssd_config를 오타냈나 싶어서 쳐보고 확인해보지만 블로그 설명과는 다른 값이 나옵니다. 찾아보니
1 | sudo apt-get install openssh -server |
을 해야 만들어진다고 합니다. 자 그럼 sudo apt-get install openssh -server를 입력해봅니다. Unable to fetch ~~
가 나올 것입니다. 이것은 현재 ubuntu 라이브러리를 받는 서버가 맛이 갔거나, 현재 인터넷 연결이 안되어 있다는 말입니다. 또 다시 문제에 봉착했습니다.
인터넷 연결이 안되어있습니다. Ubuntu에서는 인터넷 연결을 어떻게 하는 것일까요?
또 다시 서칭을 시작했습니다. 인생은 깁니다. 주말은 짧습니다. 일단 떡볶이를 먹고 제정신을 차린 후 다시 시도해보았습니다. 여러 솔루션들이 나왔지만 고정 ip를 이용하는 글이 대부분이었고 제가 원하는 답은 없는 것 같았습니다.
먼저
1 | vi /etc/network/interfaces |
명령어를 통해서 네트워크 설정이 어떻게 되어있는지 확인했습니다. 보통의 경우라면
1 | # This file describes the network interfaces available on your system |
이렇게 나와있는 게 정상이고 default 값이라는 얘기가 많아서 똑같이 설정을 해주었습니다. 하지만 리부트해도 여전히 인터넷 연결은 되지 않았습니다.
하지만 스스로 답을 구하는 자에게는 복이 주어집니다. fresh ubuntu installation을 한 사람이 인터넷 연결이 안된다는 글을 올린 것을 보았고 솔루션 내용은 다음과 같았습니다.
1 | sudo ifconfig eth0 up |
물론 바로 되지는 않습니다. 세상에는 쉬운일이 없습니다. 항상 자신의 상황에 맞는지 확인하고 문제에 쏙 맞게 다듬을 필요가 있습니다. 문제는 eth0 부분이었습니다. eth0에 해당하는, 자신의 값을 알아야 했습니다.
ifconfig -a
를 이용하면 logical name을 알 수 있습니다. 저의 경우에는 enp34s0였습니다.
이 값을 다시 넣어서 엔터를 눌러주고
1 | ping www.google.com |
로 테스트를 해주면, 이제 구글에 ping을 날릴 수 있는 것을 확인할 수 있습니다.
일요일을 다 날렸지만, 이제 나름대로 세팅할 수 있는 환경을 만들어 놔서 뿌듯합니다. 월요일에 퇴근하고 이제 원격 부팅 접속을 만져봐야겠습니다.
ubuntu를 이용한 딥러닝 Server 설치하기 1