
저번시간에 이어 Rufus로 Linux를 구운 USB를 통해 빈 컴퓨터에 Linux를 설치해보겠습니다.
먼저 BIOS Mode로 진입합니다.
Start up 메뉴에서 Boot Priority Order에서 exclueded 되어있는 Linux USB 를 x 키를 눌러 include 시킵니다.
이후 아래와 같이 First Boot Device를 USB HDD 로 설정합니다.

그리고 Exit 메뉴에서 Save Changes and Exit을 통해 변경사항을 저장 후 종료합니다.
그렇게 되면 컴퓨터는 BIOS 모드에서 변경된 사항을 저장하고 다시 Reboot를 진행합니다.
이후 첫 화면은 아래와 같이 Ubuntu Server를 설치할 것인지 묻습니다.

Enter 를 누르면 아래와 같이 Ubuntu Server 설치가 진행됩니다.

그 다음으로는 언어를 선택하는 화면이 나옵니다. 이때 영어를 선택해주는 것을 추천합니다.

마찬가지로 Keyboard configuration 메뉴에서도 English 를 선택합니다.

그리고 저희는 Ubuntu Server를 설치하기 때문에 installation type을 Ubuntu Server로 지정해줍니다.

Proxy 설정은 현재 필요하지 않기에 아무런 설정없이 진행합니다.

Ubuntu archive mirror configuration에서는 만약 network 가 설정되어있다면 kr로 잡혀있을 것이고 저처럼 network가 설정되어있지 않다면 default 값인 저 값으로 세팅되어있을 것입니다. 저는 한국에서 Ubuntu를 사용 하기 때문에 kr로 설정해주도록 하겠습니다.
http://kr.archive.ubuntu.com/ubuntu/

Build storage configuration 에서는 전체 disk를 할당 할 것이므로 Use an entire disk 를 선택합니다.
그리고 그 아래에 있는 LVM group은 지금 사용하지 않기에 x 표시를 해제합니다.
(사진에는 표시되어있지만 이후에 해제하였습니다.)

그리고 Storage configuration 에서 설정은 따로 하지 않고 그대로 진행하였스빈다. 하지만 Disk가 한개가 아닌 여러개라면 조금 복잡하게 설정을 잡아주어야 합니다. 아래에 첨부한 블로그를 참고해주세요.

Profile configuration 에서는 name과 server name 등 profile에 대한 설정을 진행합니다.
여기에서 _를 사용하지 않는 것이 좋습니다.
저는 jonghun_server로 설정하였지만 이후 Kubernetes 구성에서 hostname 인식이 정확하게 되지 않아 애를 먹었습니다. 결국 Ubuntu를 다시 구성하였습니다.

SSH configuration 에서는 아래와 같이 모두 체크표시를 진행합니다. 지금 SSH Key를 지금 Import를 진행해도 좋지만 저는 나중에 진행하기로 하였습니다.

여기까지 설정을 마치면 이제 Installation이 진행되고 곧 complete 화면을 보게 됩니다.
그리고 아래에 Reboot 를 누르고 USB를 빼면 정상적으로 설치가 완료된 것 입니다.

이때 USB를 빼다보니 아래와 같은 FAILED 가 발생하였는데 이는 정상적인 현상입니다. 그대로 ENTER를 눌러주시면 Reboot가 진행됩니다.

이후 다시 컴퓨터가 켜지면서 아래 login 화면을 볼 수 있게 됩니다.

로그인을 완료한 화면

추가적으로 저는 네트워크 설정을 따로 해주지 않았기 때문에 ubuntu를 모두 설치하고 진행하였습니다.
네트워크를 연결하는 형태는 공유기에 직접 Lan 선을 연결하여 유선으로 network를 구성하였습니다.
그런데 Lan 선을 연결해도 인식하지 못하는 현상이 발생하였습니다.
1분간 고민을 해보았을 때 Lan 선을 연결한 후 Reboot를 하면 iptime의 DHCP 서버로부터 동적으로 ip를 할당받지 않을까? 하였는데 그렇지 않았습니다. 그래서 수동으로 연결을 진행하였습니다.
netplan 폴더에서 50-cloud-init.yaml 파일을 생성합니다
# cd /etc/netplan
# ls -l
# vi 50-cloud-init.yaml
그리고 ip 설정을 아래와 같이 진행합니다.
network:
ethernets:
ens33:
dhcp4: no
addresses:
- 192.168.0.100/24
routes:
- to: default
via: 192.168.0.1
nameservers:
addresses:
- 8.8.8.8
version: 2
저는 위의 via 부분에서 띄워쓰기를 잘못 설정하여 애를 먹었습니다. 위 형식을 잘 참고하여 설정해주는게 좋습니다.
netplan 설정을 마무리 한 뒤 apply를 아래 명령어로 진행해줍니다.
# netplan apply
여기서 해당 파일에 권한이 넓에서 보안에 문제가 생길 수 있다는 에러가 발생했습니다.
Permissions for 50-cloud-init.yaml are too open. netplan configuration shoudl not be accessible by others
그래서 아래 명령어로 권한을 수정하였습니다. 600은 파일 소유자만 읽고 쓸 수 있게 설정하는 권한입니다.
sudo chmod 600 /etc/netplan/50-cloud-init.yaml
이후 다시 진행하면 정상적으로 set이 완료됩니다.
iptime의 메뉴 고급설정 -> DHCP 서버 설정 에서 수동 주소 입력이 있습니다. 여기에서 이전에 설정하였던 192.168.0.100 을 입력합니다. 그리고 MAC 주소는 ubuntu server에서 ip a 를 입력하면 eno2 에 있는 값들 중에서 확인할 수 있었습니다.
입력 후 수동 등록을 클릭하면 정상적으로 등록된 것을 확인 할 수 있습니다.

ubuntu server에서도 ping 8.8.8.8 (google ip) 로 요청을 해보면 정상적으로 packet을 받아오는 것을 확인할 수 있습니다.

References
/etc/systemd/logind.conf 파일을 루트 권한으로 오픈
sudo vi /etc/systemd/logind.conf
HandleidSwitch=suspend 값 ignore로 변경
...
HandleidSwitch=ignore
...
systemd-logind 재시작
systemctl restart systemd-logind