Linux 강좌 / 가상 머신으로 리눅스 실습 환경 만들기

가상 머신(VM)은 현재 사용하는 컴퓨터 안에 별도의 리눅스 컴퓨터를 만드는 방법입니다. 새 가상 디스크에 설치하고 콘솔과 스냅샷 복구를 준비하면, 원래 운영체제의 디스크를 바꾸지 않고 강좌의 파일·서비스·네트워크 실습을 진행할 수 있습니다.

호스트·게스트와 강좌의 기준 환경

가상화 프로그램을 실행하는 컴퓨터가 호스트이고, 그 안에 설치한 리눅스가 게스트입니다. 이 강좌의 공통 기준은 Ubuntu 26.04 LTS 또는 Rocky Linux 9 계열, Bash, systemd를 사용하는 일반 VM입니다. 두 배포판을 모두 설치할 필요는 없습니다. 처음에는 Ubuntu 한 대로 시작하고, APT와 DNF·서비스 이름의 차이를 비교할 때 Rocky VM을 추가하면 됩니다.

이 글의 생성 메뉴는 VirtualBox 7.2를 기준으로 설명합니다. Oracle의 VM 생성 안내에서 현재 설치한 버전과 지원 게스트를 확인하세요. 아래 자원은 실습용 배정 예시이며 공식 최소 사양이 아닙니다. 호스트가 이 자원을 내주고도 정상적으로 동작할 여유가 있어야 합니다.

용도 CPU·메모리·디스크 배정 예시 선택 기준
Ubuntu Desktop 26.04 가상 CPU 2개, RAM 8GB, 동적 디스크 40GB 그래픽 화면과 터미널을 함께 사용
Ubuntu Server 또는 Rocky 최소 설치 가상 CPU 2개, RAM 4GB, 동적 디스크 30GB 명령행 위주 실습, 설치할 서비스에 따라 증설

Ubuntu 26.04 릴리스 노트는 Desktop의 편안한 사용을 위해 RAM 6GB와 여유 저장 공간 25GB 등을 안내합니다. VM의 디스크 파일과 스냅샷은 호스트 공간도 사용합니다. 동적 디스크가 최대 크기를 처음부터 모두 차지하지 않더라도, 앞으로 커질 공간을 따로 확보하세요.

CPU 아키텍처와 설치 이미지 확인하기

Windows에서는 설정 → 시스템 → 정보의 시스템 종류, macOS에서는 이 Mac에 관하여에서 프로세서를 확인합니다. Intel·AMD 64비트 호스트는 일반적으로 amd64 또는 x86_64 이미지, ARM64 호스트는 arm64 또는 aarch64 이미지와 해당 호스트를 지원하는 가상화 프로그램을 선택합니다. amd64라는 이름은 Intel 64비트 컴퓨터도 포함합니다. 이미지 이름만 바꾸어 다른 CPU용 이미지를 실행할 수는 없습니다.

Ubuntu는 공식 26.04 이미지 목록에서 Desktop 또는 live-server ISO를 받습니다. Rocky를 선택했다면 Rocky Linux 공식 다운로드에서 9 계열과 CPU 아키텍처를 확인하세요. 최신 메이저 버전을 자동으로 고르지 말고, 강좌에서 정한 기준과 설치 파일 이름이 일치하는지 확인합니다.

다운로드한 ISO의 SHA-256을 공식 배포 경로의 체크섬과 비교합니다. Windows PowerShell에서는 아래 명령의 파일 경로를 실제 다운로드 경로로 바꾸세요. 파일 해시 비교는 손상 여부를 확인하며, 체크섬 자체의 진위는 공식 HTTPS 경로와 배포판의 서명 검증 안내로 확인해야 합니다.

Get-FileHash -Algorithm SHA256 "C:\Downloads\YOUR-LINUX-IMAGE.iso"

새 가상 머신과 가상 디스크 만들기

  1. 호스트 운영체제용 VirtualBox를 공식 배포 경로에서 설치하고 실행합니다. 관리자 창의 Home → New를 선택합니다. 버전에 따라 도구 위치가 다를 수 있습니다.
  2. 이름을 linux-course-ubuntu처럼 정하고 VM 폴더와 ISO Image를 선택합니다. 설치 내용을 직접 익히기 위해 Install OS Using Unattended Installation을 해제합니다. 이전 화면에서는 Skip Unattended Installation을 선택하는 형태일 수 있습니다.
  3. 가상 CPU·메모리를 호스트 여유에 맞게 배정하고 새 동적 가상 디스크를 만듭니다. 기존 물리 디스크 연결이나 원시 디스크 기능은 사용하지 않습니다.
  4. 생성 후 VM의 Settings → Network에서 첫 번째 어댑터를 NAT로 두고 연결 상태를 확인합니다. 공유 폴더·양방향 클립보드·드래그 앤 드롭은 처음에는 꺼 둡니다.
  5. 요약에서 새 가상 디스크·ISO·메모리를 다시 확인하고 Start로 부팅합니다. 하드웨어 가상화 오류가 나오면 호스트 CPU와 가상화 프로그램의 지원 조건을 확인하세요. 다른 보안·가상화 기능을 이유 확인 없이 끄지는 않습니다.

게스트 운영체제 설치와 첫 로그인

Ubuntu Desktop에서는 설치 화면의 언어·키보드·네트워크를 확인하고 대화형 설치를 진행합니다. Ubuntu 공식 설치 절차를 함께 보되, 디스크 선택은 반드시 방금 만든 VM 안의 가상 디스크인지 용량과 장치 목록으로 확인하세요. 새 VM에 가상 디스크 하나만 연결했다면 그 디스크를 사용하는 자동 설치를 선택할 수 있습니다. 호스트에서 같은 이름의 디스크 초기화 작업을 실행하지 않습니다.

사용자명·컴퓨터 이름·시간대·비밀번호를 정합니다. 강좌용 일반 계정을 만들고 관리자 작업은 sudo로 수행합니다. Rocky의 설치 요약에서는 설치 대상과 소프트웨어 선택을 확인하고, 일반 사용자 생성 시 관리자 권한을 줄지 선택합니다. 설치 후 일반 사용자로 로그인했을 때 sudo가 허용되는지도 확인해야 합니다. 서버 설치를 선택하면 그래픽 화면 없이 로그인 프롬프트가 나오는 것이 정상입니다.

설치를 마치면 게스트를 재부팅합니다. 설치 이미지 제거 안내가 나오거나 다시 설치 화면으로 돌아오면 VM의 가상 광학 드라이브에서 ISO를 분리하고 가상 디스크로 부팅합니다. Desktop에서는 앱 목록의 터미널을 열고, Server에서는 콘솔에 로그인합니다.

설치 결과와 네트워크를 기록하기

cat /etc/os-release
uname -m
uname -r
bash --version
ps -p 1 -o comm=
ip -brief address
ip route

/etc/os-release의 배포판·VERSION_ID, CPU 아키텍처, 커널·Bash 버전을 기록합니다. ps에서 PID 1이 systemd인지도 봅니다. 이 출력이 기준 환경과 다르면 설치 이미지를 다시 확인하세요. IP 주소와 기본 경로는 VM 설정마다 달라지므로 특정 주소가 나와야 한다고 외우지 않습니다. 명령 형식은 터미널과 기본 명령어 강좌에서 이어서 익힐 수 있습니다.

NAT는 게스트의 외부 접속에 편리하지만, 호스트에서 게스트의 사설 주소로 바로 접속할 수 있다고 보장하지 않습니다. SSH 실습에서는 NAT 포트 전달을 따로 설정하거나 목적에 맞는 별도 네트워크를 구성합니다. 브리지는 게스트를 실제 LAN에 노출할 수 있으므로 방화벽·주소 충돌·회사 네트워크 정책을 확인한 뒤 선택합니다. 처음부터 인터넷에 VM 포트를 공개할 필요는 없습니다.

스냅샷을 만들고 실제 복구 확인하기

기본 설치가 정상 동작하면 게스트 안에서 종료하여 VM을 Powered Off 상태로 만듭니다. VirtualBox 관리자에서 해당 VM의 Snapshots → Take를 선택하고 clean-install처럼 의미 있는 이름을 지정합니다. 메뉴 위치와 복구 동작은 VirtualBox 7.2 사용자 가이드의 Snapshots 절을 참고하세요.

스냅샷을 만든 뒤 VM을 켜고 아래 파일을 만듭니다. 이 파일은 스냅샷 복구로 없어져도 되는 확인용 데이터입니다.

mkdir -p "$HOME/linux-course-recovery"
printf 'created after snapshot\n' > "$HOME/linux-course-recovery/after-snapshot.txt"
cat "$HOME/linux-course-recovery/after-snapshot.txt"
  1. VM을 정상 종료합니다. 스냅샷 이후의 필요한 파일이 있다면 먼저 VM 밖에 별도 보관합니다.
  2. Snapshots에서 clean-install을 선택하고 Restore를 실행합니다. 현재 상태를 추가 스냅샷으로 보관할지 묻는 경우 선택 결과를 확인합니다.
  3. 다시 부팅하여 로그인한 뒤 아래 명령으로 확인용 파일이 사라졌는지 확인합니다. 스냅샷 이전 상태에 파일이 없었다면 snapshot restored가 예상 결과입니다.
if test ! -e "$HOME/linux-course-recovery/after-snapshot.txt"; then
  printf "snapshot restored\n"
else
  printf "file still present; check selected snapshot\n"
fi

스냅샷은 같은 저장 장치의 VM 상태를 되돌리는 기능이며 독립된 백업이 아닙니다. 호스트 디스크 고장이나 VM 폴더 손상까지 대비하려면 종료한 VM의 별도 복사·내보내기와 중요 데이터 백업이 필요합니다. 공유 폴더·외부 서비스·VM 밖으로 전송한 데이터는 게스트 스냅샷 복구로 되돌아가지 않습니다.

실습을 시작하기 전 확인할 것

게스트 로그인, 터미널 실행, sudo 권한, NAT 연결, 가상 콘솔 재접속, 스냅샷 복구까지 확인하면 준비가 됩니다. 패키지·SSH·방화벽·마운트처럼 시스템을 바꾸는 실습은 이 VM에서 진행하고, 변경 전 스냅샷과 변경 내용을 남기세요. SSH가 끊겨도 가상 콘솔로 로그인할 수 있어야 원래 설정을 복구할 수 있습니다.