이번 주는 리눅스라는 거대한 세계로 들어가는 첫 관문이었다. 우리는 운영체제가 무엇인지에서 시작해, 커널과 셸의 구조, 유닉스와 리눅스의 역사, 라이선스가 빚어낸 배포판 생태계, 전원을 켜는 순간부터 로그인까지의 부팅 과정, 그리고 파일시스템의 구조와 파일의 본질인 inode까지 훑었다. 오늘은 이 모든 것을 하나의 흐름으로 다시 엮어보고, 시험에 자주 나오는 비교 포인트를 정리한 뒤, 실전 유형의 연습 문제로 실력을 점검한다. 개별 사실을 암기하는 것을 넘어, "왜 그런가"를 설명할 수 있는지 스스로 확인해보자.
리눅스를 이해하는 가장 좋은 방법은 "전원을 켜면 무슨 일이 일어나는가"를 따라가는 것이다. 이 한 줄기 이야기 안에 이번 주 모든 개념이 들어있다.
전원을 켜면 **펌웨어(BIOS 또는 UEFI)**가 깨어나 하드웨어를 점검(POST)하고 부팅 장치를 고른다(Day 3). 그 디스크는 파티션으로 나뉘어 있고, 파티션 정보는 MBR 또는 GPT 테이블에 담겨 있다(Day 3). 펌웨어는 부트로더 GRUB2를 실행하고, GRUB2는 /boot에서 **커널(vmlinuz)**을 찾아 메모리에 올린다(Day 3). 커널은 모놀리식 구조로 모든 핵심 기능을 품고 있으며(Day 1), initramfs로 진짜 루트 파일시스템을 마운트한 뒤 첫 프로세스인 **systemd(PID 1)**를 실행한다(Day 3).
systemd는 서비스들을 병렬로 시작해 시스템을 사용 가능하게 만들고, 마침내 셸이 로그인한 사용자를 맞이한다(Day 1). 셸은 사용자의 명령을 fork-exec-wait 모델로 실행하며, 그 명령들은 /bin, /sbin에 있다(Day 1, Day 4). 사용자가 다루는 모든 것은 단일 루트(/)에서 뻗는 FHS 트리 위의 파일이며(Day 4), 그 파일의 진짜 정체는 이름이 아니라 inode다(Day 4).
그리고 이 모든 소프트웨어가 자유롭게 공유될 수 있는 이유는 GPL 라이선스의 카피레프트 덕분이고, 그 자유가 우분투·레드햇·SUSE 같은 배포판 생태계를 키웠다(Day 2). 이렇게 하나의 이야기로 엮으면 흩어진 개념들이 자기 자리를 찾는다.
💡 개념: 1급 시험은 단편 지식보다 "개념 간 연결"을 묻는 경향이 강하다. 예를 들어 "왜 /boot를 별도 파티션으로 두는가"는 파티션(Day 3) + 부팅 과정(Day 3) + 파일시스템(Day 4)을 한꺼번에 이해해야 답할 수 있다. 복습할 때 개별 명령어를 외우기보다 이런 연결고리를 정리하자.
이번 주에 등장한 "둘 중 무엇인가"를 묻는 비교들을 한자리에 모았다. 시험 직전 이 표만 봐도 큰 도움이 된다.
| 비교 주제 | A | B | 핵심 차이 |
|---|---|---|---|
| 커널 모드 vs 사용자 모드 | 커널(Ring0) | 사용자(Ring3) | 특권 vs 제한, 사이는 시스템 콜 |
| 모놀리식 vs 마이크로커널 | 리눅스(빠름) | Hurd(모듈성) | 단일 공간 vs 분리 서비스 |
| GPL vs BSD/MIT | 카피레프트(공개강제) | 허용적(폐쇄가능) | 파생물 공개 의무 유무 |
| GPL vs LGPL | 전체 공개 | 동적링크 비공개 가능 | 약한 카피레프트 |
| RPM 계열 vs DEB 계열 | rpm/dnf/.rpm | dpkg/apt/.deb | 패키지 형식과 도구 |
| MBR vs GPT | 2TB/4파티션 | 9.4ZB/128 | 디스크·파티션 한계 |
| BIOS vs UEFI | MBR/구식 | ESP/GPT/시큐어부트 | 펌웨어 세대 |
| SysV init vs systemd | 런레벨/직렬 | 타깃/병렬 | 부팅 방식 |
| 하드링크 vs 심볼릭링크 |
선택지를 클릭하면 정답·해설이 펼쳐집니다.
문제 1
리눅스 부팅 과정에서 각 단계의 역할로 옳지 않은 것은?
문제 2
다음 중 카피레프트(GPL)와 허용적 라이선스(BSD/MIT)의 차이를 가장 정확히 설명한 것은?
문제 3
리눅스 셸이 명령어를 실행하는 fork-exec-wait 모델에서 각 시스템 콜의 역할로 옳은 것은?
문제 4
레드햇 계열과 데비안 계열의 패키지 관리에 대한 설명으로 옳은 것은?
문제 5
하드링크와 심볼릭링크에 대한 설명으로 옳은 것은?
문제 6
다음 중 SysV init의 런레벨과 systemd 타깃의 대응이 옳은 것은?
문제 7
리눅스 파일시스템에서 inode에 대한 설명으로 옳은 것은?
문제 8
리눅스 커널과 운영체제의 기본 개념에 대한 설명으로 옳지 않은 것은?
문제 9
MBR과 GPT, BIOS와 UEFI의 관계에 대한 설명으로 옳은 것은?
문제 10
다음 중 "모든 것은 파일이다"라는 유닉스 철학을 가장 잘 보여주는 사례가 아닌 것은?
문제 11
자유 소프트웨어(FSF)와 오픈소스(OSI) 운동에 대한 설명으로 옳은 것은?
문제 12
GRUB2 설정을 변경하는 절차와 systemd 서비스 관리에 대한 설명으로 옳은 것은?
| 같은 inode |
| 경로 담은 새 inode |
| 파티션·디렉터리 가능 여부 |
| 블록 vs 문자 장치 | b/디스크/랜덤 | c/키보드/스트림 | I/O 단위 |
⚠️ 함정: 시험에서 가장 헷갈리는 함정 세 가지를 미리 못 박아두자. ① LGPL 라이브러리를 동적 링크한 폐쇄 소스 앱은 소스 공개 의무가 없다. ② SUSE는 계열은 독립이지만 패키지 형식은 RPM이다. ③ 런레벨 0은 종료(poweroff), 6이 재부팅(reboot)이다. 이 셋은 매 회차 변형되어 출제된다.
이번 주에 등장한 명령어를 기능별로 묶어 복습하자. 1급 실기를 위해 직접 쳐보는 것이 중요하다.
# --- 시스템 정보 ---
uname -r # 커널 버전
uname -a # 시스템 전체 정보
cat /etc/os-release # 배포판 정보
echo $SHELL # 현재 셸
# --- 패키지 관리(레드햇) ---
rpm -qa # 설치된 패키지 전체
dnf install <pkg> # 의존성 자동 설치
dnf update # 전체 업데이트
# --- 패키지 관리(데비안) ---
dpkg -l # 설치된 패키지 전체
apt install <pkg> # 의존성 자동 설치
apt update && apt upgrade # 목록 갱신 후 업그레이드
# --- 부팅/서비스 ---
systemctl status <svc> # 서비스 상태
systemctl enable <svc> # 부팅 시 자동 시작
systemctl get-default # 기본 타깃 확인
grub2-mkconfig -o /boot/grub2/grub.cfg # GRUB 재생성
# --- 디스크/파티션 ---
lsblk # 블록 장치 트리
fdisk -l # 파티션 테이블
blkid # UUID와 파일시스템 타입
# --- 파일/링크/inode ---
ls -li # inode 번호 포함 목록
stat <file> # 상세 메타데이터
ln <src> <link> # 하드링크
ln -s <src> <link> # 심볼릭링크
file <file> # 파일 종류 판별🔍 더 깊이: 명령어를 외울 때는 "옵션의 의미"를 함께 익히면 응용이 쉽다. 예를 들어
rpm -ivh의 i(install), v(verbose), h(hash 진행표시)를 알면rpm -Uvh(Upgrade)도 자연스럽게 이해된다.ls -li의 i가 inode인 것을 알면ls -a(all, 숨김파일)도 함께 떠오른다. 옵션은 대부분 영단어의 첫 글자다.
리눅스마스터 1급은 필기와 실기로 나뉜다. 필기는 개념·비교·역사를 묻고, 실기는 실제 명령어를 칠 수 있는지를 본다. 이번 주 내용을 기준으로 대비 전략을 정리하면 다음과 같다.
/etc/default/grub처럼 경로까지 묻는다.📚 유래/사례: 리눅스마스터는 한국정보통신진흥협회(KAIT)가 시행하는 국가공인 민간자격이다. 2급은 리눅스 입문자 수준, 1급은 서버 운영과 관리 실무 수준을 검증한다. 1급은 1차 필기 합격 후 2차 실기를 봐야 하므로, 명령어를 눈으로만 외우지 말고 가상머신에 리눅스를 직접 설치해 쳐보는 학습이 합격의 지름길이다.
이번 주가 "리눅스란 무엇인가"라는 큰 그림이었다면, 다음 주부터는 실제로 리눅스를 다루는 손기술로 들어간다. 파일과 디렉터리를 다루는 명령어, 권한과 소유권 관리(chmod, chown), 사용자와 그룹 관리, 그리고 프로세스 제어를 본격적으로 익힌다. 오늘 배운 inode와 파일 종류, 권한의 기초가 다음 주의 출발점이 되므로, 아래 연습 문제로 이번 주 내용을 확실히 다지고 넘어가자.