ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Ubuntu(우분투) 재설치 방법(2)
    리눅스(Ubuntu) 2021. 12. 6. 20:56

    2021.11.29 - [리눅스(Ubuntu)] - Ubuntu(우분투) 재설치 방법(1)

     

    Ubuntu(우분투) 재설치 방법(1)

    최근 들어 갑자기 cudNN 에러가 다시 한번 발생했다. 저번에 만든 새로운 가상환경 (새로운 cuda, torch 조합이 들어간..) 이후에 별다른 라이브러리를 설치하거나 update를 해준 기억이 없는데 다시 버

    deeplearning-hj.tistory.com

    이번 포스트에는 본격적으로 우분투 (재)설치 하는 방법에 대해 설명하도록 하겠다.

     

    2-2 우분투 재설치 방법

    부팅 usb를 본체에 연결한 후 재부팅해준다. 이때 부팅시 bios 세팅으로 진입하여 부팅 우선순위를 변경해준다. bios 세팅으로 진입하는 방법은 보통 부팅 시 아래와 같이 화면에 나와있다. 나의 경우, <DEL> 키를 누르면 setup환경으로 들어갈 수 있었다.

    바이오스 진입 후에는, 고급설정에 들어가서(F6) Boot 메뉴에 있는 Boot option #1을 설치 usb로 설정해주면 된다. 또한 이때 fast boot, secure boot를 비활성해주는 것이 도움이 되었는데 fast boot가 설정되어 있을 경우 나의 usb가 인식이 안 될 수 있으며 secure boot 시 nvidia driver 설치 후 무한 재부팅 루프에 빠질 수 있다고 한다. 모든 설정을 수정했다면 save and exit버튼을 누른다.

    모든 작업이 끝나면 설치 usb로 부팅이 되는데 이때 만약 검정색 빈 화면만이 계속해서 나타난다면, (어떠한 GUI 창이 나타나지 않는다면) nomodeset 옵션을 추가하는 작업이 필요하다. 이는 ubuntu와 gpu의 충돌 때문으로 nouveau 드라이버를 default로 쓰는 nvidia gpu에서 일어나는 문제라고 한다. (http://ubuntuforums.org/showthread.php?t=1613132)

     

    [SOLVED] How to set NOMODESET and other kernel boot options in grub2

     

    ubuntuforums.org

    해결방법은 아래와 같다.

    1. 설치 usb로 부팅하여 Try Ubuntu without installing/ Install Ubuntu등이 적힌 화면이 나타날 때 e를 눌러 텍스트 편집창으로 들어간다.
    2. 텍스트 편집창에서 quiet splash라는 문구 맨 끝에 nomodeset을 입력한다. (quiet splash --- → quiet splash nomodeset)
    3. F10을 눌러 재부팅한 후, 정상적인 설치 GUI가 나타나는지 확인한다.

    설치 화면이 나타난 이후에는 다음 ubuntu 튜토리얼대로 따라해준다. https://ubuntu.com/tutorials/install-ubuntu-desktop#5-installation-setup

     

    Install Ubuntu desktop | Ubuntu

    Ubuntu is an open source software operating system that runs from the desktop, to the cloud, to all your internet connected things.

    ubuntu.com

    여기까지 모두 했다면 이제 ubuntu 자체는 성공적으로 깔릴 것이다. 하지만 예상과는 달리 보라색/초록색의 우분투 GUI가 나타나는 것 대신에 빈 화면이 뜰 수 있다. (나의 경우 회색 창이 떴다.) 이는 우분투 드라이버가 깔리지 않아 발생하는 문제로 ctrl + Alt + (F3~F7)을 눌러 콘솔 화면에 접근한 후 드라이버를 수동으로 설치해주어야 한다. 드라이버를 설치하기 위해선 먼저 인터넷부터 연결을 해야하기 때문에 우분투 드라이버 설치 과정을 2단계로 나누어 설명하도록 하겠다.

     

    가. 우분투 콘솔 창에서 인터넷 연결하기

    콘솔 창에 ping www.google.com이라 입력하면 Temporary failure in name resolution이라는 에러가 발생할 것이다. 이는 아직 우리의 컴퓨터가 인터넷 연결이 되어 있지 않아 생기는 문제로 고정 IP주소가 있다면 수동으로 연결해 주어야 한다. 

    (1) 인터넷 연결을 위한 포트 정하기

    ipconfig -a
    ip -a

    위 명령어는 ip 정보 뿐만 아니라 서브넷 마스크 등의 정보도 보여준다. lo와 더불어 ens/enp 등의 여러 포트가 등장할 것인데, 이 중 inet(여기에 나의 고정 ip 주소를 넣어주면 된다)이 밑에 적혀 있는 장치(내경우는 enp100s0이였다)를 인터넷 연결을 위한 포트로 지정해준다. 

    (2) 포트 인터페이스에 대한 정보 확인하기

    ethtool enp100s0

    위와 같은 명령어로 enp100s0 인터페이스에 대한 정보를 확인할 수 있다. 여기서 주의깊게 봐야할 부분은 맨 마지막에 있는 Link detected 부분인데 정상적인 통신이 가능한 경우 이 부분이 yes라고 뜬다.

    우분투에서는 크게 두가지 방법으로 네트워크를 설정할 수 있는데 /etc/network/interfaces의 파일을 편집하는 방법과 /etc/netplan/01-network-manager-all.yaml 파일을 편집하는 방법이 있다. (나의 경우는 두 파일을 모두 편집했을 때 인터넷 연결이 됐다.)

     

    (3) /etc/network/interfaces의 파일 편집하기

    # interfaces(5) file used by ifup(8) and ifdown(8)
    auto lo
    iface lo inet loopback

    /etc/network/interfaces 을 열람하면 다음과 같은 파일이 들어있을 것이다. vi 편집기로 들어가 파일을 아래와 같은 형식으로 수정해주면 된다.

    # interfaces(5) file used by ifup(8) and ifdown(8)
    auto lo
    iface lo inet loopback 
    
    auto enp100s0
    iface enp100s0 static
    address xxx.xxx.xxx.xxx
    netmask xxx.xxx.xxx.xxx
    gateway xxx.xxx.xxx.xxx
    dns-nameservers xxx.xxx.xxx.xxx xxx.xxx.xxx.xxx

    여기서 address는 나의 고정 IP wnth, netmask는 서브넷마스크, dns-nameservers는 DNS서버와 보조 DNS서버를 의미한다. 설정 후, 저장을 한 이후에 1.sudo ervice networking restart 2. sudo ifdown enp100s0 && sudo ifup enp100s0 를 차례로 해준다. 

     

    (4) /etc/netplan/01-network-manager-all.yaml 파일 편집

    # Let NetworkManager manage all devices on this system
    network:
      version: 2
      renderer : NetworkManager

    이 파일을 아래처럼 바꿔주면 된다. 한가지 유의해야할 점은 tap을 사용하면 인식을 못한다.

    # Let NetworkManager manage all devices on this system
    network:
      version: 2
      renderer : NetworkManager
      ethernets:
        enp100s0:
          dhcp4: no
          addresses: [xxx.xxx.xxx.xxx/x]
          gateway4: xxx.xxx.xxx.xxx
          nameservers:
            addresses: [xxx.xxx.xxx.xxx, xxx.xxx.xxx.xxx]

    이때 여기서 addresses(IP 주소) /뒤에 붙는 값은 네트워크의 prefix 값으로 나의경우 22였다. 마찬가지로 저장한 이후에 sudo netplan apply 명령어를 실행시켜준다.

     

    모든 과정이 정상적으로 에러없이 작동했다면 적용 후 ip -a 로 네트워크를 다시 확인해준다. 이때 아마 내가 연결해준 포트 밑에 ip 주소가 추가된것을 확인할 수 있을 것이다.

     

    마지막으로 ping test를 통하여 ping이 게이트웨이, 외부 dns server ip, domain으로 나가는지 확인하는데, 만약 이때도 temporary 에러가 발생한다면 (5)단계를 실행시켜주면 된다.

     

    (5) /etc/resolv.conf nameserver 바꾸기

    /etc/resolv.conf 파일을 열어 다음과 같이 nameserver 부분을 수정해준다.

    nameserver 8.8.8.8
    nameserver 8.8.4.4

    아마 이 모든 단계를 무리없이 해냈다면, ping 연결이 손쉽게 될것이다.

     

    나. nividia driver 설치하기

    인터넷 연결이 가능해졌으므로 nvidia driver를 설치해주는데 드라이버 설치 과정은 아래와 같다.

    sudo add-apt-repository ppa:graphics-drivers/ppa
    sudo apt-get update
    sudo ubuntu-drivers autoinstall
    sudo reboot

     

    댓글

Designed by Tistory.