RHEL 기초 #2 셋업 — RHEL 9 설치, Subscription Manager, 첫 로그인
#1에서 레드햇 계열의 전체 흐름을 잡았습니다. 이번 글은 RHEL 머신을 한 대 직접 띄우는 절차 — ISO를 받고, 가상 머신에 설치하고, Subscription Manager로 등록하고, 첫 로그인 직후의 잔주름을 정리하는 한 사이클을 다뤄요.
RHEL 기초 시리즈에서 이번 글의 위치:
- #1 RHEL이란 — Fedora에서 RHEL까지, 그리고 AlmaLinux와 Rocky Linux
- #2 셋업 — RHEL 9 설치, Subscription Manager, 첫 로그인 ← 이번 글
- #3 dnf와 패키지 관리 — repo, modules, AppStream
- #4 systemd 입문 — 서비스, target, journalctl
- #5 사용자/그룹/권한 — UID/GID, sudo, ACL
- #6 파일 시스템 기본 — XFS, mount, /etc/fstab
- #7 기본 보안 — firewalld, SSH 하드닝
어디에 깔까 #
학습용 RHEL 머신을 둘 곳은 세 가지입니다.
| 옵션 | 비용 | 한 줄 평 |
|---|---|---|
| 로컬 가상 머신 | 무료 | 추천. 스냅샷,롤백이 쉬워 망쳐도 부담 없음 |
| 클라우드 인스턴스 | 시간당 과금 | EC2/Lightsail. 외부에서 접근 가능, 잠시 뒤 끄는 걸 잊으면 비용 |
| 베어메탈 / 듀얼부팅 | 무료 | 디스크 영구 점유. 학습용으론 과함 |
이 글은 로컬 가상 머신을 기준으로 갑니다. 설치하다 꼬여도 VM만 지우고 다시 시작하면 되므로, 처음 OS를 다루는 분께 가장 안전합니다. 호스트 머신에 따라 도구가 갈립니다.
| 호스트 | 추천 도구 | 비고 |
|---|---|---|
| Apple Silicon (M1~M4) | UTM (mac.getutm.app) | 무료, ARM64 RHEL 9 잘 돔 |
| Intel Mac / Windows / Linux | VirtualBox (virtualbox.org) | 무료. 기업용은 VMware Workstation/Fusion도 |
이 글의 스크린샷,예시는 Apple Silicon + UTM + RHEL 9 (ARM64) 기준이지만, 인스톨러 화면과 명령은 x86_64 / VirtualBox 환경과 사실상 같습니다. 다른 점은 그때그때 짚어둘게요.
참고로 AWS에서 RHEL을 띄우고 SSH로 접속하는 방법도 있습니다. (AWS 기초 #1) Free Tier 한도 안에서 t2.micro 정도면 학습용으로 충분합니다. 다만 이 글에서는 인스톨러 화면을 직접 보는 경험을 위해 로컬 VM으로 진행합니다.
1) Developer Subscription 가입과 ISO 받기 #
RHEL을 합법적으로 무료로 쓰려면 Red Hat Developer Subscription이 필요합니다. 한 계정당 16대까지 RHEL을 설치할 수 있고, 보안 패치도 동일하게 받습니다.
가입 절차:
- developers.redhat.com 접속
- 우측 상단 Sign in → Register로 가입 (이메일 + 비밀번호 + 회사명 / 학생도 OK)
- 이메일 인증 마치면 끝
ISO 다운로드 #
access.redhat.com/downloads에서 Red Hat Enterprise Linux 9를 클릭하면 다운로드 페이지가 뜹니다. 받을 ISO는 두 종류입니다.
| ISO | 크기 | 차이 |
|---|---|---|
Binary DVD (x86_64-dvd.iso / aarch64-dvd.iso) | ~9 GB | 모든 패키지 포함, 오프라인 설치 가능 |
Boot ISO (x86_64-boot.iso / aarch64-boot.iso) | ~900 MB | 부팅만, 패키지는 설치 중 네트워크로 받음 |
학습용으로는 Binary DVD를 받으세요. 한 번 받아두면 인터넷 없이도 설치할 수 있습니다. Apple Silicon이면 aarch64, 그 외에는 x86_64입니다.
중요 — 다운로드 직전에 아키텍처 선택이 보입니다. 호스트 CPU와 맞춰야 합니다. M1~M4 Mac →
aarch64, Intel/AMD →x86_64. 잘못 받으면 VM이 부팅조차 안 됩니다.
다운로드는 보통 30 분~1 시간. 받는 동안 다음 단계를 먼저 진행해도 됩니다.
2) 가상 머신 만들기 #
Apple Silicon — UTM #
UTM을 처음 켜면 환영 화면이 나옵니다. Create a New Virtual Machine → Virtualize (Emulate 아님, 훨씬 느려요) → Linux를 고릅니다.
| 항목 | 값 |
|---|---|
| ISO Image | 받아둔 aarch64-dvd.iso 선택 |
| Memory | 4096 MB (최소 2 GB, 넉넉히 4 GB) |
| CPU Cores | 2~4 (호스트 코어 절반 정도) |
| Storage Size | 40 GB (최소 20 GB) |
| Shared Directory | (선택) — 호스트 폴더와 공유하고 싶을 때 |
마지막 Summary에서 Name을 rhel9-test처럼 알아보기 쉬운 이름으로 정하세요. Save를 누르면 왼쪽 목록에 VM이 생깁니다.
Intel/Windows/Linux — VirtualBox #
VirtualBox에서는 New → 이름 입력 → Type: Linux, Version: Red Hat (64-bit) 선택 → 메모리 / CPU / 디스크는 위 표와 동일하게 잡으면 됩니다.
생성 후 VM을 선택하고 Settings → Storage → Empty CD 아이콘에서 받아둔 x86_64-dvd.iso를 마운트합니다. 이 단계가 빠지면 VM이 시작될 때 “부팅 디스크 없음” 상태로 멈춥니다.
공통 — VM 시작 #
준비된 VM을 Start 하면 검은 화면에 부트 메뉴가 뜹니다.
Install Red Hat Enterprise Linux 9.x
Test this media & install Red Hat Enterprise Linux 9.x
Troubleshooting -->위쪽 Install Red Hat Enterprise Linux 9.x를 골라 Enter를 누르세요. 잠깐 텍스트 로그가 흘러간 뒤 그래픽 인스톨러 (Anaconda)가 뜹니다.
3) Anaconda 인스톨러 따라가기 #
Anaconda 화면은 한 허브 (Installation Summary) + 여러 스포크 (개별 설정) 모양입니다. 노란 ! 표시가 있는 항목은 반드시 한 번은 들어가야 설치가 시작됩니다.
┌──────────────────────────────────────────────┐
│ INSTALLATION SUMMARY │
├──────────────────────────────────────────────┤
│ LOCALIZATION │
│ 🌐 Keyboard [English (US)] │
│ 🌐 Language Support [English] │
│ 🌐 Time & Date [Americas/New York] │
├──────────────────────────────────────────────┤
│ SOFTWARE │
│ 💿 Connect to Red Hat │
│ 💿 Installation Source [Local media] │
│ 💿 Software Selection [Server with GUI] │
├──────────────────────────────────────────────┤
│ SYSTEM │
│ 💾 Installation Destination ⚠️ │
│ 💾 KDUMP │
│ 💾 Network & Host Name │
│ 💾 Security Profile │
├──────────────────────────────────────────────┤
│ USER SETTINGS │
│ 👤 Root Password ⚠️ │
│ 👤 User Creation │
└──────────────────────────────────────────────┘
[Begin Installation]각 항목을 채워가는 순서는 자유지만 보통 위에서 아래로. 핵심 항목만 짚어둡니다.
Language / Keyboard / Time & Date #
- Language —
한국어또는English (US). 서버 학습용은 영어 권장 — 에러 메시지를 검색하기 쉽습니다. - Keyboard — 한국에서 사 온 맥은
English (US)가 무난. 한글 키보드 쓰면Korean. - Time & Date —
Asia / Seoul. NTP 자동 동기는 켜두세요.
Software Selection #
기본값은 Server with GUI. 학습용엔 GUI가 부담스럽지 않다면 그대로 둬도 되고, 가벼운 걸 원하면 Server (텍스트 모드) 또는 Minimal Install을 골라요.
이 시리즈는 Server with GUI를 가정하고 진행합니다. GNOME 데스크탑까지 함께 설치되지만, 실제 작업은 거의 터미널에서 합니다.
Installation Destination — 디스크 파티셔닝 #
⚠️ 표시가 가장 자주 걸리는 곳입니다. 클릭해서 들어가면 디스크 목록이 보입니다. VM 디스크 한 장이 잡혀 있을 것입니다. 그 디스크를 클릭해 체크한 뒤:
- Storage Configuration: Automatic 선택
- Encryption: 학습용은 끄고 진행. 운영에선 LUKS 켜요 (고급 #5)
Done으로 빠져나와 ⚠️ 가 사라지는 걸 확인. 자동 파티셔닝은 이런 모양으로 잡힙니다.
/boot 1 GB XFS
/boot/efi 600 MB EFI (UEFI 부팅이면)
/ 남은 공간의 70% XFS
/home 남은 공간의 30% XFS
swap 메모리와 비슷한 크기LVM으로 묶이고 파일시스템은 XFS (#6에서 다룸)가 기본입니다. 수동 파티셔닝은 이번 글의 범위 밖입니다.
Network & Host Name #
자동으로 **Wired (eth0/enp0s1)**가 잡혀 있을 텐데 OFF로 비활성화돼 있습니다. ON으로 켜는 걸 빼먹지 마세요. 이걸 안 켜고 설치하면 부팅 후 인터넷이 안 통합니다.
화면 우하단 Host Name에 rhel9-test 같은 이름을 넣고 Apply. 안 넣으면 localhost.localdomain으로 들어갑니다.
Connect to Red Hat (선택) #
설치 시점에 바로 등록해버리는 옵션입니다. 가입한 Red Hat 계정 ID/PW를 넣으면 자동으로 Subscription이 붙습니다.
이 글은 건너뛰고 설치 후 명령으로 등록하는 길로 갑니다. 여기서 등록하든 나중에 등록하든 결과는 같지만, subscription-manager 명령을 한 번 직접 쳐 보는 경험이 더 남는 게 있습니다.
Root Password #
⚠️ 또 하나가 여기. 길게 잡으세요 (12자 이상 권장). 학습용 VM 이라도 패턴 있는 비밀번호는 들이지 마세요.
옵션으로 Lock root account와 Allow root SSH login with password가 있습니다. 학습용은 둘 다 기본값 (lock 안 함, SSH 비번 로그인 허용 안 함) 으로 두면 됩니다. 운영에선 SSH 키 인증만 허용하도록 잠가야 합니다 (#7).
User Creation #
일상 작업용 사용자를 한 명 만듭니다. 루트로 일하는 일은 만들지 마세요.
| 항목 | 값 예 |
|---|---|
| Full name | Curtis Kim |
| User name | curtis |
| Make this user administrator | ✅ 체크 (sudo 가능하게) |
| Password | (별개의 강한 비밀번호) |
Make this user administrator를 체크해야 wheel 그룹에 들어가 sudo가 됩니다. 안 하면 매번 root 비밀번호로 su - 해야 됩니다.
Begin Installation #
⚠️ 가 모두 사라졌으면 Begin Installation이 활성화됩니다. 누르면 설치가 시작됩니다.
Installing the software ...
100 / 1240 packages
...VM 사양과 디스크에 따라 10~25 분. 그동안 자리를 떠도 됩니다.
설치가 끝나면 Reboot System 버튼이 뜹니다. 누르면 VM이 재시작 — 그런데 다시 인스톨러 부트 화면이 뜨는 일이 흔합니다. 이때는 VM의 ISO 마운트를 해제 (UTM: VM 정지 후 Edit → Drive → Eject / VirtualBox: Devices → Optical Drives → Remove disk) 한 뒤 다시 부팅합니다.
4) 첫 부팅과 로그인 #
ISO를 빼고 재부팅하면 GRUB 부트 메뉴가 잠시 보이고 (자동으로 5초 후 진행), 곧 그래픽 로그인 화면이 뜹니다.
처음 한 번 Initial Setup 화면이 뜰 수 있는데, License Information에 동의 (I accept the license agreement) 하고 FINISH CONFIGURATION으로 빠져나오면 끝.
방금 만든 사용자 (curtis)로 로그인합니다. GNOME 환영 마법사가 뜨면 Skip으로 넘기세요. 마지막에 검은 데스크탑 + 터미널이 보이면 OS가 제 자리에 제대로 올라온 겁니다.
Activities → Terminal (또는 Ctrl+Alt+T)로 셸을 엽니다.
$ cat /etc/redhat-release
Red Hat Enterprise Linux release 9.5 (Plow)
$ uname -a
Linux rhel9-test 5.14.0-503.x.x.el9_5.aarch64 ...
$ whoami
curtis/etc/redhat-release에 Red Hat Enterprise Linux release 9.x가 찍히면 정확히 RHEL 위에 올라온 것입니다. AlmaLinux/Rocky 라면 여기 다른 문자열이 찍힙니다 (뒤에서 다룸).
5) Subscription Manager 등록 #
이제 이 머신을 내 Red Hat 계정에 묶어 야 합니다. 이걸 안 해두면 dnf install이 거의 다 실패합니다 — 패키지를 받을 저장소(repository) 에 접근 권한이 없기 때문입니다.
등록 #
$ sudo subscription-manager register --username <RHID> --password <PW>
The system has been registered with ID: a1b2c3d4-...
The registered system name is: rhel9-test<RHID>는 developers.redhat.com 가입할 때 만든 Red Hat 계정 ID, <PW>는 그 비밀번호입니다. 비밀번호를 명령줄에 직접 적기 싫으면 --password를 빼면 프롬프트가 떠요.
명령이 성공하면 Simple Content Access 모드로 자동으로 붙어 모든 RHEL 저장소가 활성화됩니다.
확인 #
$ sudo dnf repolist
repo id repo name
rhel-9-for-aarch64-appstream-rpms Red Hat Enterprise Linux 9 ...
rhel-9-for-aarch64-baseos-rpms Red Hat Enterprise Linux 9 ...두 줄이 보이면 성공. 안 보이면 등록이 제대로 안 된 것입니다. sudo subscription-manager status로 상태 확인 후 다시 시도.
첫 업데이트 #
$ sudo dnf update -y
Last metadata expiration check: 0:00:01 ago ...
Dependencies resolved.
...
Complete!설치 ISO 굽힐 때부터 며칠~몇 주가 지났을 테니 보안 패치가 꽤 떨어집니다. 첫 업데이트는 보통 5~15 분.
업데이트 후 커널이 바뀌었으면 재부팅이 필요합니다.
$ sudo dnf needs-restarting -r
Core libraries or services have been updated since boot-up:
* kernel
Reboot is required to fully utilize these updates.
$ sudo reboot6) 첫 잔주름 — 시간 / hostname / sudo / SSH #
설치는 끝났지만, 운영 직전에 한 번씩 손볼 곳이 몇 군데 있습니다.
시간 동기 — chronyd #
RHEL 9의 시간 동기 데몬은 chronyd 입니다. 이미 떠 있을 것입니다.
$ timedatectl
Local time: Fri 2026-04-10 14:23:01 KST
Universal time: Fri 2026-04-10 05:23:01 UTC
Time zone: Asia/Seoul (KST, +0900)
System clock synchronized: yes
NTP service: active
$ chronyc sources
MS Name/IP address Stratum ...
^* ntp.example.com 2 ...System clock synchronized: yes와 NTP service: active가 보이면 OK. 시간대가 잘못됐다면:
$ sudo timedatectl set-timezone Asia/SeoulHostname 확인 / 변경 #
$ hostnamectl
Static hostname: rhel9-test
Icon name: computer-vm
Chassis: vm
...
# 바꾸려면
$ sudo hostnamectl set-hostname rhel9-lab변경 후 새 셸을 열면 프롬프트가 새 이름으로 바뀌어 있습니다.
sudo가 잘 도는지 #
설치 시 Make this user administrator를 체크했으면 사용자가 wheel 그룹에 들어 있고, RHEL 9의 기본 sudoers 정책상 wheel 그룹은 sudo가 됩니다.
$ groups
curtis wheel
$ sudo whoami
[sudo] password for curtis:
rootwheel이 그룹 목록에 없다면 root로 로그인해 추가:
# su -로 root로 변경 후
# usermod -aG wheel curtis
# exit # 사용자 셸로 나가서 새로 로그인하면 적용SSH로 접속해보기 #
VM 콘솔만 쓰면 답답합니다. 호스트 터미널에서 SSH로 들어가면 복사,붙여넣기,여러 창이 자유로워집니다.
먼저 VM 안에서 IP를 확인:
$ ip -4 addr show
2: enp0s1: ...
inet 192.168.64.15/24 ...호스트 터미널에서:
$ ssh curtis@192.168.64.15
The authenticity of host '192.168.64.15 (192.168.64.15)' can't be established.
ED25519 key fingerprint is SHA256:...
Are you sure you want to continue connecting (yes/no)? yes
curtis@192.168.64.15's password:
[curtis@rhel9-lab ~]$처음엔 비밀번호로 들어가지만, 다음 글을 따라가면서 곧 SSH 키 인증으로 바꾸게 됩니다 (#7).
VirtualBox 사용자 — 기본 NAT 네트워크는 호스트에서 VM으로 직접 SSH가 안 됩니다. Settings → Network → Advanced → Port Forwarding에서 호스트
2222→ 게스트22를 추가하고ssh -p 2222 curtis@127.0.0.1로 접속하거나, 네트워크를 Bridged Adapter로 바꿔주세요.
AlmaLinux / Rocky로 따라오는 분께 #
거의 동일합니다. 차이만 짚으면:
| 단계 | RHEL | AlmaLinux / Rocky |
|---|---|---|
| ISO 받기 | developers.redhat.com (계정 필요) | almalinux.org / rockylinux.org (가입 불필요) |
| 인스톨러 | Anaconda | 동일 (브랜딩만 다름) |
| Subscription Manager 등록 | 필요 (subscription-manager register) | 필요 없음 — 이 단계 통째로 건너뜀 |
/etc/redhat-release | Red Hat Enterprise Linux release 9.x | AlmaLinux release 9.x / Rocky Linux release 9.x |
| 그 외 명령 | dnf / systemctl / firewalld / SELinux | 전부 동일 |
즉 (5) Subscription Manager 단계만 빼면 모든 게 같습니다. 이 시리즈의 나머지 편 (#3 부터) 도 그대로 따라올 수 있습니다.
자주 만나는 함정 #
“VM이 부팅이 안 됩니다” #
ISO 아키텍처를 잘못 받은 경우가 1순위. M1~M4 Mac 인데 x86_64를 받았거나, Intel 인데 aarch64를 받았으면 부팅조차 안 됩니다. 다시 받으세요.
VirtualBox에서 Version을 Linux/Other (64-bit) 같은 일반값으로 둔 경우도 가끔 부팅이 막혀요. 반드시 **Red Hat (64-bit)**으로.
“설치는 끝났는데 인스톨러 화면이 또 떠요” #
ISO가 가상 CD 드라이브에 그대로 마운트돼 있어 다시 그쪽으로 부팅된 겁니다. VM 정지 → ISO 제거 → 재부팅.
“dnf install이 다 실패합니다”
#
99%는 Subscription 등록이 안 된 상태입니다. sudo subscription-manager status로 확인.
“sudo가 안 됩니다”
#
설치 때 Make this user administrator를 안 체크한 경우. root로 로그인해 usermod -aG wheel <user> 후 다시 로그인.
“GUI가 너무 무거워요” #
학습이 어느 정도 익숙해지면 GUI를 끄고 텍스트 모드로 부팅하면 메모리/CPU가 한결 가벼워져요.
$ sudo systemctl set-default multi-user.target
$ sudo reboot다시 GUI를 원하면 graphical.target으로 되돌립니다. (target은 #4 systemd)
정리 #
이번 글에서 잡은 흐름:
- 학습용 RHEL은 로컬 VM으로 — Apple Silicon은 UTM, 그 외는 VirtualBox.
- ISO는 Developer Subscription 가입 후 access.redhat.com/downloads 에서. 아키텍처 (
aarch64/x86_64) 잘못 고르면 부팅이 안 됨. - Anaconda 인스톨러의 ⚠️ 항목 — 디스크 (Installation Destination) / Root Password / User Creation. Make this user administrator 체크 잊지 말기.
- Network & Host Name의 ON 토글 빼먹지 말기.
- 설치 후 **
subscription-manager register**로 등록하면 RHEL 저장소가 붙고dnf가 동작. - **
dnf update -y**로 첫 패치 적용, 커널 바뀌었으면 재부팅. - AlmaLinux / Rocky도 거의 동일. Subscription 단계만 통째로 생략.
다음 — 패키지 관리 본격적으로 #
이제 RHEL 머신이 살아 있고 인터넷도 통합니다. 다음으로 다룰 주제는 이 위에 무언가를 깔고 지우는 일 — 모든 운영의 출발점입니다.
#3 dnf와 패키지 관리 — repo, modules, AppStream에서는 dnf 명령군 (install, remove, search, info, history, repoquery), AppStream이 BaseOS와 다른 이유, modules로 같은 패키지의 여러 버전 (예: PostgreSQL 13/15/16)을 골라 설치하는 방법, 그리고 외부 저장소 (EPEL, COPR)를 안전하게 붙이는 방법까지 한 번에 잡습니다.