치춘짱베리굿나이스

M1 맥에 가상환경 설치하기 (Ubuntu) + ssh 설정 본문

기타공부/기타의 기타

M1 맥에 가상환경 설치하기 (Ubuntu) + ssh 설정

치춘 2022. 7. 19. 23:45

한번쯤은 돌려볼 법한 리눅스 가상머신 제가 한번 설치해보겠습니다

무료 가상화 소프트웨어로 VirtualBox가 있지만 M1맥에선 안 돌아간단다 (헉스)

VMWare는 유료인데 회원가입으로 개인 라이선스를 발급받을 수 있다

Parallels는 그냥 유료인듯..?

UTM

UTM

나는 완전 무료인 UTM을 선택했다 (사실 vmware 회원가입 귀찮았던 건 안 비밀이다)

오픈소스이고 M1 맥을 지원하기 때문에 혹시나 계속 가상머신을 쓰게 되어도 편할 것 같았다

설치하기

Download를 눌러 dmg 파일을 바로 다운로드받으면 된다

앱스토어 버전은 9,900원이었던 것 같은데 자동 업데이트와 개발자 후원 개념이라고 생각하면 될 듯

dmg 파일을 실행하면 어플리케이션 폴더에 자동으로 UTM이 들어간다

Ubuntu

Enterprise Open Source and Linux | Ubuntu

리눅스 커널을 기반으로 한 리눅스 배포판이며, 설치가 편리하고 인터페이스가 사용자 친화적이라 가장 널리 쓰이는 배포판이 되었다

그말인즉슨 자료도 제일 많다는 뜻이다

이미지 내려받기

데스크탑, 클라우드용, 서버용, IoT용으로 구분되어 있다

ssh 환경에서 iterm을 이용하여 작업하는게 편리하니 Ubuntu Server를 설치하자

GUI는.. 굳이?

M1 맥은 하단의 ARM을 클릭하면 된다

가장 안정적인 LTS 버전을 내려받았다 (글 쓰는 시점 기준 22.04가 가장 최신)

UTM에서 우분투 환경 설정하기

UTM으로 우분투 올리기

UTM을 처음 실행하면 다음과 같은 4개의 버튼이 보일 것이다

새 가상머신 만들기를 클릭해서 가상머신을 추가해 보자

토끼랑 거북이 중에 선택하라구 한다

토끼는 Virtualize로, 현재 PC의 CPU 아키텍쳐와 동일한 가상환경 이미지만 구동시킬 수 있지만 빠르다

거북이는 Emulate로, CPU의 제약이 없이 어떠한 이미지든 돌릴 수 있지만 느리다

아마 호환시키는 과정에서 연산이 추가로 들어가 느려지는 것 같다

M1 맥용 이미지를 다운받았으니 내 환경에 맞게 Virtualize를 클릭했다

운영체제 종류를 선택하면 사전 설정값으로 설정해주는 듯 하다

우분투는 리눅스 배포판이므로 Linux를 클릭한다

아래의 Boot ISO Image: 탐색 을 눌러 불러올 가상환경 이미지를 선택하자

커널 이미지는 파일이 아니라 커널 자체에서 부팅하는 것이므로 노놉

애플 가상화는 실험적인 기능이므로 노노놉

장치와 CPU 개수를 고를 수 있다

CPU 개수는 기본값 고정이길래 놔뒀고 메모리는 4096MB로 놔뒀다

저장소 용량을 제한할 수 있다

32GB 정도만 설정했다

넘어가면 된다

지금까지 선택한 값들의 요약본이 나온다

맘에 든다면 저장을 누르면 된다

와 가상환경이 만들어졌당

여기까지 하면 우분투를 UTM에 올리는 것까진 완료했다

이제 실행시켜보자

우분투 초기 설정하기

실행시켰더니 이런 게 나온다

뭐냐 너

자세히 읽어보면 우분투 서버를 설치하거나 볼륨에서 부팅하기, 펌웨어 세팅 등의 선택지 같다

나는 엔터버튼을 안 누르고 Try or Install Ubuntu Server에 커서가 가 있는 채로 이 글 작성하고 있었더니 자동으로 설치됐다

크흠,,, 감사합니다

우분투 서버 설치가 완료되면 언어 설정 화면이 나온다

한국어 없다 영어로 하자

한국어 있다는데 내가 못찾나보다 하지만 에러 검색하기엔 영어가 낫다 영어 짱 내가 한국어를 못찾아서 그런건 아니고

새로운 버전이 있으니 설치하라구 한다

공식 홈페이지에선 22.04가 LTS 최신이라 했으니 아마 LTS가 아닌 그냥 최신 버전을 뜻하는 듯 하다

키보드를 선택하는 화면이다

아까 영어로 설정 했으니 영어에 대한 기본값으로 넘어간다

설치 유형을 선택하라구 한다

전자 (Ubuntu Server) 는 서버를 돌릴 때 필요한 왠만한 패키지를 기본값으로 넣어주는 편-안한 버전

후자 (Ubuntu Server (minimized)) 는 사람이 개입할 수 없는 대신 아주 작고 가벼운 런타임 환경인 듯 하다

전자로 놔두어야겠다

네트워크 설정에 대한 문항이다

기본값으로 남겨두었다

우분투 패키지 등을 설치하기 위한 미러 사이트 주소이다

딱히 수정하지 않아도 괜찮다

용량에 관한 문항이다

아까 32기가로 설정한 것이 그대로 나오는 것을 볼 수 있다

굳이 건드릴 필요 없다 (아까 했으니까)

각 시스템 디렉토리별 용량 설정에 관한 내용이다

커스터마이징을 할 필요가 없다면 패스

오랜 설정 과정이 끝났다

이제 돌이킬 수 없으니 신중하게 선택하라 이거다

콘티뉴를 누르자

유저명, 서버명, 내 이름, 비밀번호를 설정하는 창이 나온다

적당히 필요한 값을 입력했다

이때 입력하는 프로필은 기본적으로 sudo 권한을 가지고 있다

ssh 서버 패키지를 설치할것이냐는 문항이다

ssh로 통신이 필요하므로 설치한다

지금 설치하지 않아도 apt-get으로 설치할 수 있으므로 놓쳐도 실망하지 말자

서버 설정에 도움을 주는 패키지들의 목록이 나온다 (쿠버네티스, 도커, 구글 클라우드 등의 이름이 보인다)

필요한 사람은 받으면 된다

저는 안받고 넘겼음

설정해준 대로 열심히 패키지들을 설치한다 좀 오래걸리니까 인내심을 갖고 기다린다

설치가 완료되면 Install complete! 가 나온다

우분투를 실행시켜보자

두근두근하다

우분투 실행하기

우분투 처음 실행하기

첫 화면에서 커서만 무한정 깜빡이고 제대로 실행이 안 되는 경우가 있다

영겁의 시간을 기다리면… 큰일난다

오른쪽 위의 아이콘들 중 두번째 CD같은 녀석을 누르고 현재 이미지를 꺼낸다

이미지를 꺼낸 후, 가상환경 이름 왼쪽에 있는 화살표를 누르고 가상머신을 재실행한다

제대로 실행이 되었다 (만세~~)

사전에 설정해둔 아이디와 비밀번호로 로그인하자

현재 시스템 상태와 함께 안녕하세요 메시지가 표시된다

대충 우분투 시스템은 자유 소프트웨어이고 저작권 관련 사항은 어디에 있고 완전 무료이다

관리자 권한으로 무언가를 실행시킬거면 sudo 커맨드를 써라 정도의 내용이 담겨있다

시간을 보니 UTC 기준이라 우리나라랑 전혀 맞지 않는다

시간부터 바꿔보자

우분투 시간 설정하기

sudo timedatectl set-timezone Asia/Seoul --adjust-system-clock

tzselect는 우분투 시스템 자체 변경이 되지 않으므로 위의 명령어를 사용해야 시스템 시간이 변경된다

바뀐줄 알고 신났었는데.. UTC로 흘러가고 있는거 보고 깜짝 놀랐다

계정 생성하기

$> sudo -i

로컬에서 ssh로 접속하기 위한 계정을 새로 만들어 보자

우선 현재 로그인된 계정을 root로 변경해야 계정 생성이 된다

$> adduser [유저명]

adduser 명령어를 사용하여 계정을 추가한다

유저명, 패스워드를 묻고 뒤에는 뜬금없이 인적사항을 물어보는데 적당히 패스하면 된다

$> less /etc/passwd

위의 명령어로 좌르륵 뜨는 리스트 안에서 방금 생성한 계정을 찾을 수 있다

정말 모든 계정 리스트가 다 뜨기 때문에 잘 찾아봐야 한다

보통 맨 마지막에 위치한다

우분투 - 로컬 ssh 연결

ssh 설정하기

$> sudo apt update
$> sudo apt install openssh-server

우분투 가상환경이 아닌 내 로컬 터미널에서도 접속할 수 있도록 설정해보자

openssh 설치를 안했다면 이 명령어로 설치하면 된다

$> sudo systemctl status ssh

ssh는 설치하자마자 자동으로 실행되므로 실행 현황을 보기 위해 위 명령어를 입력한다

active (running) 이라고 나와 있으면 실행중이라는 뜻이다

위에 보면 UTC로 시간설정이 되어있다 ㅡ,,ㅡ; tzselect 쓰지 말자

$> sudo systemctl enable ssh
$> sudo systemctl start ssh

실행중이 아니라면 위 명령어로 실행시키자

로컬과 가상머신 ssh로 연결하기

$> ssh [서버의 유저명]@[서버의 hostname] # 포트번호 설정하기 위해서 -p 옵션 사용

로컬에서 ssh를 통한 원격 접속을 위해서라면 위와 같은 정보가 필요하다

id는 위에서 생성한 계정의 id를 이용하자

$> ip a

hostname (ip) 주소는 위 명령어로 알 수 있다

ip 명령어는 라우팅, 네트워크 장치나 인터페이스 등을 관리하는 명령어로, 인자 a는 address를 의미한다 (= ip 주소에 대한 전반적인 관리)

address라고 쳐야 맞지만 약자도 지원하기 때문에 ip a만 쳐도 된다

얻은 정보를 이용하여 로그인하면 로컬 쉘에서도 원격 접속이 가능하다 (와~~)

사진은 iterm2에서 접속한 모습이다

잘 보면 테마가 깔려 있다

 

이제 우분투를 즐기면 된다 온갖 명령어를 씹고 뜯고 맛보고 즐기고 파면팔수록 리눅스 계열은 어렵다…


참고자료

https://psychoria.tistory.com/707

https://codechacha.com/ko/ubuntu-change-timezone/

https://codechacha.com/ko/ubuntu-install-openssh/

https://eunguru.tistory.com/122

https://www.cyberciti.biz/faq/become-superuser-on-ubuntu-linux/

https://jjeongil.tistory.com/1552

'기타공부 > 기타의 기타' 카테고리의 다른 글

[백준] 2377  (0) 2023.07.05
[백준] 2372  (0) 2023.07.05
VSCode 자주쓰는 단축키 정리  (0) 2021.03.17
200810 Matlab csv -> RGB scatter graph  (0) 2021.02.09
200805 VSCode 자주쓰는 명령어 정리  (0) 2021.02.09
Comments