맥에 가상환경 (Virtual Box) 설치 & 우분투 서버 접속

kyukim·2021년 1월 7일
1

리눅스가 뭔지 유닉스가 뭔지 탄생 역사에 대해서 좀 살펴보았으나 모르는 용어들이 너무 많이 나와 전~혀 머릿속에 들어오지 않는다. 눈 딱 감고 그냥 설치부터 해보기로 했다.

먼저 리눅스 기반의 OS 우분투를 설치하기 위해서 가상환경을 만들어준다. 맥 OS를 다지우고 네이티브에 설치할수는 없기 때문이다.

Virtual Box 설치 오류

맥에서 설치오류가 떴다. 그냥 소프트웨어 제조업체에 물어봐라고 뜬다. 검색해보니 나와 같은 경우가 많았던 거 같다. 문제는 맥 시에라 버전부터 생긴 보안문제 때문이라고 한다.

해결하기 위해서 환경설정에서 '보안 및 개인 정보 보호'에 들어간다. 밑에 보면 Oracle America, Inc가 차단되었다는 식의 문구가 있고 옆에 허용 버튼이 있다. 허용 버튼을 누른다.

다시 설치하면 오류가 안생긴다.

우분투 설치

https://ubuntu.com/download/desktop 에서 약 2.8기가 우분투 iso 파일을 다운 받는다.

VirtualBox를 실행시키고 '새로 만들기'를 눌러서 선택 항목을 우분투로 설정해준다. 참고로 이름을 Ubuntu라고 하면 자동으로 선택항목이 전부 Ubuntu로 바뀐다. 나머지는 전부 기본으로 선택된 항목이나 추천하는 항목으로 설치한다.

VirtualBox 안에 Ubuntu가 화면이 작게 나옴

근데 맥에서 이상하게 화면이 너무 작게 나와서 그걸 고쳐야한다. 일단 검색을 통해 해결법을 찾아서 다음과 같은 명령어를 실행하려 했다.

apt-get update  
apt-get upgrade  
apt-get install dkms  
apt-get install build-essential

하지만 아래와 같은 오류가 떴다.

결론은 내가 root가 아니어서 sudo -s라는 명령어를 통해서 root로 설정해줘야 위에 있는 명령어들을 실행시킬 수 있다. 터미널이 꺼질때까지 root이다.

sudo -s 라고 치면 비밀번호를 입력해라고 나온다. 비밀번호를 쳐도 별표모양은 나오지 않는데 그냥 무시하고 비밀번호치고 엔터누르면 된다.

그런 다음에 다음 명령어들을 치면 정상적으로 작동하는 것을 볼 수 있다.

apt-get update  
apt-get upgrade  
apt-get install dkms  
apt-get install build-essential

참고로 upgrade 시에 여러가지 문구들이 나오면서 시간소요가 꽤 있다.

모두 설치하고 VM 장치 탭에 게스트 확장 이미지 CD 삽입...을 클릭한다.

우분투에 무슨 안내문이 뜨는데 Run을 누르면 터미널이 실행되면서 또 뭐가 설치된다.

그런 뒤에 VirtualBox를 재시작해서 우분투를 구동시키고 전체화면이나 화면을 늘리면 화면이 커진다!

또 다른 문제 발생, 우분투 부팅시 계속 검은화면

이 문제는 일단 VM을 종료시키고 Display 설정으로 들어가서 비디오메모리를 올리면 해결된다.
원래 16MB 로 설정되어있는데 64MB 정도까지 올려준뒤에 다시 실행하면 정상작동하는 모습을 볼수있다.

SSH 서버 구축

먼저 터미널을 열어서 sudo -s 라는 명령어를 쳐서 root로 전환해주자.
그런 다음에 apt-get install ssh 명령어를 통해서 ssh를 설치한다
설치가 완료되면 service ssh start 를 통해 서버를 시작할수 있고 service ssh status를 통해 현재 상태를 다음과 같이 확인할 수 있다.

참고로 리눅스 기반 os에서는 CLI 환경에서 편집과 프로그래밍이 가능한 vi 에디터를 많이 사용하는거 같아 이것도 apt-get install vim을 통해 설치했다.

useradd testid 라고 입력하고 passwd testid 라고 입력하면 새로운 아이디와 비밀번호를 생성할수있다

공유기 사용시(?) Connection refused 가 발생하는듯?

이 문제는 이 링크를 통해서 해결할수있다.
버추얼박스(VirtualBox)에 설치된 우분투(Ubuntu) 맥 터미널에서 접속하기

SSH 유저접근권한 & 파일접근권한

예를들어 useradd를 통해 만든 아이디로 접속해서 디렉토리를 생성하려면 permission denied라는 문구가 나온다.

앞에 sudo mkdir backup이런식으로 sudo 권한으로 들어가려고 해도 deny되면서 생성한 아이디가 sudo파일에 없다?라고 뜬다.

만든 user아이디가 낮은권한의 사용자이기 때문이다. 때문에 sudo 상승 권한을 주어야한다.

visudo라고 입력하면 visudo로 들어가진다. 아래 사이트를 참고해서 생성한 아이디에 sudo 권한을 준다.
참고: https://docs.microsoft.com/ko-kr/system-center/scom/manage-security-create-crossplat-sudo-sshkeys?view=sc-om-2019

sudo chmod 764 backup 명령어로 backup의 접근권한을 764로 바꿔서 내 계정을 쓸수 있도록한다

퍼미션에 관한 1
퍼미션에 관한 2

참고

SSH 구축
프로토콜이란?
SSH에 관한 1
SSH에 관한 2
connection refused 해결하기

프 to Everyone (19:46)
아무튼 주소처럼 윗부분 약속도 있겠지만
내부에서 어떻게어떻게 동작을 할거다 라고 약속을해놓고
쓰는거죠 ip를 쓰게되면 ip주소를가지고 패킷을 주고받는 동작을 할건데 그런걸 다 약속을 미리 해놓는거에요 (프로토콜에 대한)

profile
제 생각이 담긴 블로그입니다

0개의 댓글