Cert Notes/ 출퇴근 학습 노트
KOEN
CLF-C02 · FoundationalCloud Practitioner - Foundational
DVA-C02 · AssociateDeveloper - Associate
SAA-C03 · AssociateSolutions Architect - Associate
SOA-C02 · AssociateCloudOps Engineer - Associate
SAP-C02 · ProfessionalSolutions Architect - Professional
DOP-C02 · ProfessionalDevOps Engineer - Professional
SCS-C03 · SpecialtySecurity - Specialty
리눅스마스터 1급 · Professional리눅스마스터 1급
  • Week 1
    • 1.운영체제와 리눅스: 커널이 하는 일
    • 2.자유 소프트웨어와 배포판: 라이선스가 만든 생태계
    • 3.설치와 부팅: 전원을 켜는 순간부터
    • 4.파일시스템 구조와 파일의 종류: 모든 것은 파일이다
    • 5.Week 1 종합 복습: 개념을 꿰뚫는 시간
  • Week 2
    • 1.파일과 디렉터리 명령: 리눅스 파일 시스템을 손끝으로 다루기
    • 2.텍스트 처리: 유닉스의 진짜 힘, 파이프라인으로 데이터를 다듬다
    • 3.vi/vim 정밀 정복: 손을 떼지 않고 편집하는 에디터의 미학
    • 4.압축과 아카이브, 그리고 도움말: 파일을 묶고 줄이고, 스스로 배우는 법
    • 5.Week 2 종합 복습: 명령행에서 살아남기 위한 모든 것
  • Week 3
    • 1.셸의 정체: 명령을 해석하는 프로그램과 변수의 세계
    • 2.흐름을 잇고 비트는 기술: 리다이렉션, 파이프, 메타문자
    • 3.셸을 길들이다: 별칭, 히스토리, 그리고 작업 제어
    • 4.셸 스크립트: 명령을 코드로 엮는 첫걸음
    • 5.Week 3 종합 복습: 셸과 스크립트의 큰 그림
  • Week 4
    • 1.계정 파일 4종: /etc/passwd · /etc/shadow · /etc/group · /etc/gshadow 필드 해부
    • 2.계정 관리 명령과 권한 상승: useradd부터 sudo까지
    • 3.권한의 산수: rwx · 8진수 chmod · 소유권 · umask 계산
    • 4.특수 권한과 ACL: SetUID · SetGID · Sticky bit · getfacl/setfacl
    • 5.Week 4 종합 복습: 계정·권한 체계를 한 장으로 꿰기
  • Week 5
    • 1.파일시스템 종류와 구조: ext2/3/4 · xfs · btrfs · 저널링 · inode와 블록
    • 2.파티션과 마운트: fdisk · gdisk · parted · mkfs · mount/umount · /etc/fstab 6필드
    • 3.LVM과 스왑: PV·VG·LV 계층 · pvcreate부터 lvextend·resize2fs · mkswap·swapon
    • 4.RAID와 쿼터, 디스크 점검: RAID 0/1/5/6/10 · mdadm · quota/edquota · fsck/df/du/lsblk/blkid
    • 5.Week 5 종합 복습: 파일시스템·파티션·LVM·스왑·RAID·쿼터 총정리와 실전 연습
  • Week 6
    • 1.프로세스 관리: PID부터 시그널·우선순위까지
    • 2.데몬과 프로세스 생애: fork·exec부터 좀비·고아까지
    • 3.시스템 초기화: init·런레벨에서 systemd·target까지
    • 4.작업 예약: cron의 5필드부터 at·batch까지
    • 5.Week 6 종합 복습: 프로세스·초기화·예약을 한 장으로 꿰기
  • Week 7
    • 1.패키지 관리: RPM·YUM/DNF와 DEB·APT 두 계열을 한 손에
    • 2.소스 컴파일과 라이브러리: tar→configure→make→make install의 의미
    • 3.커널과 모듈: 시스템의 심장과 그 확장 부품 다루기
    • 4.장치 관리와 프린터: /dev·udev로 하드웨어 다루고 CUPS로 인쇄하기
    • 5.Week 7 종합 복습: 백업과 시스템 관리의 큰 그림
  • Week 8
    • 1.네트워크 기초: OSI 7계층과 IP 주소·서브넷 계산
    • 2.네트워크 설정: 인터페이스·게이트웨이·DNS를 손으로 잡기
    • 3.네트워크 진단: ping부터 tcpdump까지 문제를 좁히는 명령들
    • 4.네트워크 장비·프로토콜·이중화: 계층으로 꿰는 인프라
    • 5.Week 8 종합 복습: 네트워크를 계층 한 장으로 꿰기
  • Week 9
    • 1.DNS와 BIND: 이름을 주소로 바꾸는 인터넷의 전화번호부
    • 2.DHCP와 NTP: 주소를 나눠 주고 시계를 맞추는 두 서비스
    • 3.Apache 웹 서버: httpd.conf와 가상 호스트의 모든 것
    • 4.Nginx와 리버스 프록시: 이벤트 기반 웹 서버의 설계
    • 5.Week 9 종합 복습: 이름·주소·시간·웹을 한 장으로
  • Week 10
    • 1.메일 서비스: MTA·MDA·MUA와 SMTP·POP3·IMAP의 삼각 구도
    • 2.파일 전송 서비스: FTP의 능동·수동 모드와 vsftpd
    • 3.원격 접속의 표준: SSH와 sshd_config, 키 인증, 포트 포워딩
    • 4.원격 GUI: VNC와 X 윈도 시스템의 클라이언트·서버 역전
    • 5.Week 10 종합 복습: 네트워크 서비스를 포트 한 장으로 꿰기
  • Week 11
    • 1.Samba: 윈도와 리눅스를 잇는 파일·프린터 공유
    • 2.NFS: 유닉스 세계의 표준 파일 공유
    • 3.방화벽: iptables와 firewalld
    • 4.접근 제어와 보안: TCP Wrapper, SELinux, 로그 관리
    • 5.Week 11 종합 복습: 공유, 방화벽, 보안의 큰 그림
  • Week 12
    • 1.명령어 옵션 빈출 정리: 실기 단답으로 굳히는 핵심 명령
    • 2.설정 파일 경로·핵심 지시어 총정리: 빈칸 채우기를 위한 정밀 암기
    • 3.디스크·LVM·권한 작업형: 시나리오를 명령 순서로 풀어내기
    • 4.프로세스·스케줄링·systemd 작업형: 운영 명령을 시나리오로 굳히기
    • 5.시스템 작업형 모의고사 + 오답노트: 12문항으로 굳히기
  • Week 13
    • 1.네트워크 설정·진단 작업형: 손으로 IP를 세우고 길을 뚫는다
    • 2.서비스 설정파일 단답: 지시어 하나가 합격을 가른다
    • 3.셸 스크립트 작성형: 조건·반복·함수로 실무를 자동화한다
    • 4.보안·방화벽·로그 작업형: 규칙을 쓰고 컨텍스트를 바로잡는다
    • 5.네트워크·서비스 작업형 모의 + 오답노트
  • Week 14
    • 1.1차 과목① 종합 모의: 리눅스 실무의 이해 약점 정리
    • 2.1차 과목② 종합 모의: 리눅스 시스템 관리 약점 정리
    • 3.1차 과목③ 종합 모의: 네트워크와 서비스의 활용 약점 정리
    • 4.2차 실기 종합 모의: 단답·작업형 실전 훈련
    • 5.최종 오답·암기카드 총정리와 시험 당일 전략 (70일 마무리)
MLA-C01 · AssociateMachine Learning Engineer - Associate
AIF-C01 · FoundationalAI Practitioner - Foundational
DEA-C01 · AssociateData Engineer - Associate
MLS-C01 · SpecialtyMachine Learning - Specialty
← 리눅스마스터 1급/Week 1/Day 3
리눅스마스터 1급· ProWeek 1 · Day 3읽기 약 15분

Day 3 - 설치와 부팅: 전원을 켜는 순간부터

리눅스를 설치하는 일은 단순히 다음 버튼을 누르는 작업이 아니다. 디스크를 어떻게 나눌지(파티션 설계), 부트로더를 어디에 둘지, 시스템이 어떤 순서로 깨어날지를 이해해야 운영체제를 제대로 다룰 수 있다. 특히 리눅스마스터 1급은 실기가 있기 때문에, "전원 버튼을 누른 순간부터 로그인 프롬프트가 뜨기까지" 컴퓨터 안에서 무슨 일이 벌어지는지를 단계별로 설명할 수 있어야 한다. BIOS와 UEFI는 어떻게 다른가, GRUB2는 어디에 설치되며 무엇을 하는가, 커널이 메모리에 올라온 뒤 첫 프로세스인 init/systemd는 어떤 일을 하는가. 오늘은 파티션 설계에서 시작해 부트로더 GRUB2를 거쳐, 부팅의 전 과정을 깊이 추적한다.

파티션 — 하나의 디스크를 여러 방으로 나누기

물리 디스크 하나를 통째로 쓰는 것은 비효율적이고 위험하다. **파티션(partition)**은 하나의 물리 디스크를 논리적으로 여러 개의 독립된 영역으로 나누는 것이다. 파티션을 나누면 다음 이점이 있다.

  • 격리: 한 파티션이 가득 차거나 손상되어도 다른 파티션은 안전하다. 예를 들어 로그가 폭주해 /var가 가득 차도 /(루트)는 멀쩡하다.
  • 유연성: 파티션마다 다른 파일시스템·마운트 옵션을 적용할 수 있다.
  • 백업/복구 단위: 파티션 단위로 백업하고 복구할 수 있다.

리눅스 설치 시 일반적으로 권장되는 핵심 파티션은 다음과 같다.

파티션마운트 지점역할
루트/시스템 전체의 기준점, 필수
부트/boot커널 이미지와 부트로더 파일(별도 분리 권장)
스왑swap가상 메모리, RAM 부족 시 보조
홈/home사용자 데이터, 재설치 시 보존 유리
가변/var로그·캐시·메일 등 자주 변하는 데이터

**스왑(swap)**은 특별하다. 디렉터리에 마운트되지 않고, RAM이 부족할 때 사용하지 않는 메모리 페이지를 디스크로 내보내는(swap out) 가상 메모리 공간이다. 과거에는 "스왑 = RAM의 2배"가 정설이었지만, RAM이 충분한 현대 시스템에서는 RAM과 같거나 그보다 작게 잡기도 한다.

💡 개념: /boot를 별도 파티션으로 분리하는 전통적 이유는 두 가지다. 첫째, 과거 BIOS는 디스크의 앞쪽 일정 범위(1024 실린더) 안에서만 커널을 읽을 수 있었기 때문에 부트 파일을 디스크 앞쪽에 두어야 했다. 둘째, 루트 파일시스템이 LVM·암호화·RAID 등으로 복잡해도 /boot만은 단순하게 유지해 부트로더가 확실히 접근하게 하기 위함이다.

MBR vs GPT — 파티션 테이블의 두 방식

파티션 정보는 디스크 어딘가에 "파티션 테이블"로 기록된다. 여기에는 두 가지 방식이 있고, 1급 시험의 단골 비교 주제다.

**MBR(Master Boot Record)**은 1983년부터 쓰인 전통적 방식이다. 디스크의 첫 번째 섹터(512바이트)에 부트 코드와 파티션 테이블을 담는다. 한계가 명확하다.

  • 최대 2TB까지만 인식(섹터 주소 32비트 한계)
  • 주 파티션(primary) 최대 4개. 더 필요하면 확장 파티션(extended) 1개를 만들고 그 안에 논리 파티션(logical)을 둔다.

**GPT(GUID Partition Table)**는 UEFI와 함께 등장한 현대적 방식이다.

  • 최대 9.4ZB(사실상 무제한) 디스크 지원
  • 기본 128개의 파티션 지원
  • 파티션 테이블을 디스크 앞뒤에 이중 저장해 손상에 강함
항목MBRGPT
최대 디스크2TB9.4ZB
파티션 수주4 또는 주3+확장1기본 128개
펌웨어BIOSUEFI(BIOS 호환 가능)
백업단일앞뒤 이중 저장
# 디스크와 파티션 정보 확인
lsblk                       # 블록 장치를 트리 형태로
fdisk -l                    # MBR/GPT 파티션 테이블 상세
parted -l                   # GPT를 더 잘 다루는 도구
blkid                       # 파티션의 UUID와 파일시스템 타입
 
# 직접 쳐보기: 현재 디스크 구조를 트리로 확인
lsblk -f                    # 파일시스템 정보까지 표시

⚠️ 함정: MBR에서 "주 파티션 4개 + 확장 파티션"이라는 표현은 틀렸다. 확장 파티션도 4개의 슬롯 중 하나를 차지하므로, 정확히는 "주 파티션 최대 4개, 또는 주 파티션 3개 + 확장 파티션 1개"다. 확장 파티션 안에 논리 파티션을 여러 개 만들어 4개 제한을 우회한다.

부팅의 큰 그림 — 4단계 릴레이

전원 버튼을 누른 순간부터 로그인 화면이 뜨기까지는 거대한 릴레이 경주와 같다. 각 단계가 다음 단계를 깨워 바통을 넘긴다. 전체 흐름을 먼저 보자.

[전원 ON]
   ↓
1. 펌웨어 (BIOS 또는 UEFI) - 하드웨어 점검(POST), 부팅 장치 선택
   ↓
2. 부트로더 (GRUB2) - 커널을 메모리에 적재
   ↓
3. 커널 (vmlinuz) - 하드웨어 초기화, initramfs로 루트 마운트
   ↓
4. init/systemd (PID 1) - 서비스 시작, 로그인 프롬프트
   ↓
[로그인 화면]

이제 각 단계를 자세히 들여다보자.

1단계: 펌웨어 — BIOS와 UEFI

전원이 들어오면 가장 먼저 펌웨어가 깨어난다. 펌웨어는 메인보드의 ROM에 저장된, 하드웨어를 초기화하는 가장 낮은 수준의 소프트웨어다.

**BIOS(Basic Input/Output System)**는 전통적 펌웨어다. 켜지면 **POST(Power-On Self-Test)**를 실행해 CPU·메모리·키보드 등 핵심 하드웨어가 정상인지 점검한다. 그 후 부팅 우선순위에 따라 부팅 장치를 찾고, 그 디스크의 첫 섹터인 MBR(512바이트)을 읽어 거기 담긴 부트 코드를 실행한다.

**UEFI(Unified Extensible Firmware Interface)**는 BIOS를 대체하는 현대 펌웨어다. BIOS보다 훨씬 발전했다.

  • GPT 디스크와 2TB 초과 디스크 지원
  • **EFI 시스템 파티션(ESP)**이라는 전용 파티션(보통 /boot/efi, FAT 포맷)에 부트로더를 파일로 저장
  • **시큐어 부트(Secure Boot)**로 서명되지 않은 부트로더·커널 실행 차단
  • 그래픽 설정 화면, 마우스 지원, 네트워크 부팅 등
항목BIOSUEFI
부트로더 위치MBR(첫 섹터)ESP(EFI 파티션의 파일)
파티션 방식주로 MBR주로 GPT
디스크 한계2TB2TB 초과 가능
보안없음시큐어 부트

🔍 더 깊이: UEFI의 시큐어 부트는 부트로더와 커널에 디지털 서명을 요구해, 루트킷이 부팅 과정에 끼어드는 것을 막는다. 리눅스 배포판들은 이를 위해 "shim"이라는 마이크로소프트 서명을 받은 작은 부트로더를 거쳐 GRUB을 로드한다. 시큐어 부트가 켜진 상태에서 서명 안 된 커널 모듈을 적재하려면 추가 설정(MOK 등록)이 필요하다는 점이 실무 함정이다.

2단계: 부트로더 GRUB2 — 커널을 메모리로

펌웨어가 바통을 넘기면 **부트로더(boot loader)**가 등장한다. 부트로더의 임무는 단 하나, 커널을 디스크에서 찾아 메모리에 올리고 제어권을 넘기는 것이다. 리눅스의 표준 부트로더는 **GRUB2(GRand Unified Bootloader 2)**다.

GRUB2는 이전 버전 GRUB Legacy를 완전히 새로 작성한 것으로, 다음 특징이 있다.

  • 여러 운영체제·커널 중 선택하는 부팅 메뉴 제공
  • 모듈식 구조로 다양한 파일시스템·장치 지원
  • 부팅 시 셸로 들어가 명령을 직접 입력 가능(복구에 유용)

GRUB2의 설정은 두 곳으로 나뉜다. 사용자가 직접 만지는 곳과, 자동 생성되는 곳이 다르다는 점이 매우 중요하다.

# 사용자가 편집하는 설정 파일들
/etc/default/grub           # 기본 설정(타임아웃, 커널 파라미터 등)
/etc/grub.d/                # 메뉴 항목 생성 스크립트들
 
# 자동 생성되는 최종 설정 파일 (직접 편집 금지!)
/boot/grub2/grub.cfg        # 레드햇 계열
/boot/grub/grub.cfg         # 데비안 계열
 
# 설정 변경 후 grub.cfg를 재생성해야 적용됨
grub2-mkconfig -o /boot/grub2/grub.cfg    # 레드햇 계열
update-grub                               # 데비안 계열(grub-mkconfig 래퍼)

여기서 가장 흔한 실수가 있다. /boot/grub2/grub.cfg는 직접 편집하면 안 된다. 이 파일은 /etc/default/grub과 /etc/grub.d/의 내용을 바탕으로 자동 생성되기 때문에, 직접 수정해도 다음 grub2-mkconfig 실행 시 덮어써진다. 올바른 절차는 /etc/default/grub을 수정한 뒤 grub2-mkconfig로 재생성하는 것이다.

# 직접 쳐보기: GRUB 기본 설정 확인
cat /etc/default/grub
# GRUB_TIMEOUT=5            메뉴 대기 시간(초)
# GRUB_DEFAULT=0           기본 부팅 항목 번호
# GRUB_CMDLINE_LINUX="..." 커널에 넘길 부팅 파라미터

⚠️ 함정: 시험에서 "GRUB2 설정을 변경한 후 적용하는 명령"으로 grub2-mkconfig -o /boot/grub2/grub.cfg를 묻는다. /boot/grub2/grub.cfg를 직접 vi로 편집했다는 보기는 틀린 절차다. 또한 레드햇은 grub2-, 데비안은 grub-(또는 update-grub) 접두어를 쓰는 차이도 출제된다.

📚 유래/사례: GRUB의 "GRand Unified Bootloader"라는 이름은 물리학의 "대통일 이론(Grand Unified Theory)"을 패러디한 것이다. 하나의 부트로더로 모든 운영체제를 통일해 부팅하겠다는 야심을 담았다. 실제로 GRUB은 리눅스뿐 아니라 윈도우, BSD 등 거의 모든 OS를 체인 로딩(chain loading)으로 부팅할 수 있다.

3단계: 커널과 initramfs

GRUB2가 커널 이미지(/boot/vmlinuz-*)를 메모리에 올리고 제어권을 넘기면, 이제 커널이 주인공이 된다. 커널은 다음 일을 한다.

  1. 압축을 풀고 자기 자신을 메모리에 전개한다(vmlinuz는 압축된 커널).
  2. CPU·메모리·기본 장치를 초기화한다.
  3. initramfs(초기 램 파일시스템)를 임시 루트로 마운트한다.

여기서 **initramfs(initrd)**의 역할이 핵심이다. 커널이 진짜 루트 파일시스템(/)을 마운트하려면 그 디스크의 드라이버가 필요한데, 그 드라이버가 정작 루트 파일시스템 안에 있다면 "닭이 먼저냐 달걀이 먼저냐" 문제가 생긴다. initramfs는 이 문제를 푸는 임시 미니 루트 파일시스템이다. 부팅에 필요한 최소한의 드라이버와 도구를 담고 있어서, 이를 먼저 메모리에 띄워 실제 루트 디스크의 드라이버(예: RAID, LVM, 암호화 장치 드라이버)를 적재한 뒤, 진짜 루트를 마운트한다.

# initramfs 이미지 확인
ls /boot/initramfs-*        # 레드햇 계열
ls /boot/initrd.img-*       # 데비안 계열
 
# initramfs 재생성(드라이버 추가 후)
dracut -f                   # 레드햇 계열
update-initramfs -u         # 데비안 계열

진짜 루트 파일시스템이 마운트되면, 커널은 그 위에서 첫 번째 사용자 프로세스를 실행한다. 그것이 바로 PID 1번 프로세스다.

🔍 더 깊이: vmlinuz의 "z"는 압축(zip)을, "vm"은 가상 메모리(virtual memory)를 지원하는 커널이라는 뜻이다. 커널이 압축된 채 저장되는 이유는 디스크 공간 절약과, 부팅 시 디스크에서 읽는 시간을 줄여 압축 해제(CPU로 빠르게 처리) 비용을 상쇄하기 때문이다. 비압축 버전은 vmlinux(z 없음)로, 주로 디버깅에 쓰인다.

4단계: init과 systemd — 첫 번째 프로세스

커널이 마지막으로 하는 일은 **init 프로세스(PID 1)**를 실행하는 것이다. 이 프로세스는 모든 다른 프로세스의 조상이 되며, 시스템이 꺼질 때까지 절대 죽지 않는다. 그 임무는 시스템을 사용 가능한 상태로 만드는 것, 즉 네트워크·로그·웹서버 같은 서비스를 정해진 순서로 시작하는 것이다.

init에는 역사적으로 두 가지 방식이 있다.

전통적 SysV init은 **런레벨(runlevel)**이라는 개념으로 시스템 상태를 정의했다. 0(종료)부터 6(재부팅)까지 숫자로 상태를 구분하고, /etc/rc.d/ 아래의 스크립트를 순서대로 실행했다. 직렬 실행이라 느렸다.

런레벨상태
0시스템 종료(halt)
1단일 사용자 모드(복구)
3다중 사용자 + 네트워크(텍스트)
5다중 사용자 + GUI
6재부팅

systemd는 현대 리눅스의 표준 init이다. SysV init의 느린 직렬 실행을 병렬 실행으로 바꾸고, 서비스 간 의존성을 자동 관리하며, 런레벨 대신 타깃(target) 개념을 쓴다.

SysV 런레벨systemd 타깃
3 (텍스트 다중사용자)multi-user.target
5 (GUI)graphical.target
0 (종료)poweroff.target
6 (재부팅)reboot.target
1 (단일사용자)rescue.target
# systemd로 서비스 관리
systemctl start httpd       # 서비스 시작
systemctl enable httpd      # 부팅 시 자동 시작 등록
systemctl status httpd      # 상태 확인
systemctl get-default       # 현재 기본 타깃 확인
systemctl set-default multi-user.target   # 기본 타깃을 텍스트 모드로
 
# 부팅 시간 분석(systemd 전용)
systemd-analyze             # 전체 부팅 소요 시간
systemd-analyze blame       # 서비스별 시작 시간 순위

💡 개념: systemd는 단순한 init이 아니라 시스템 관리 전체를 통합한 거대한 도구 모음이다. 서비스 관리(systemctl), 로그 관리(journalctl), 시간 관리(timedatectl), 네트워크(networkd) 등을 포괄한다. 일부에서는 "유닉스 철학(작은 도구)에 어긋난다"고 비판하지만, 거의 모든 주요 배포판이 systemd를 채택했다. 1급에서는 systemctl 명령과 런레벨↔타깃 대응이 핵심이다.

📚 유래/사례: systemd는 2010년 레드햇의 레너트 푀테링(Lennart Poettering)이 발표했다. 도입 초기 "유닉스 철학 위반", "너무 비대함"이라는 격렬한 논쟁(systemd controversy)이 있었고, 데비안은 init 시스템을 두고 투표까지 했다. 그럼에도 의존성 기반 병렬 부팅의 속도와 일관된 관리 인터페이스라는 장점이 커서, 결국 RHEL·우분투·데비안·SUSE 모두 systemd로 통일되었다.

마무리

오늘은 전원 버튼을 누른 순간부터 로그인 화면까지의 전 과정을 추적했다. 디스크는 파티션으로 나뉘고, 파티션 테이블은 MBR(2TB·4파티션 한계)과 GPT(현대적, UEFI와 짝)로 갈린다. 부팅은 펌웨어(BIOS/UEFI) → 부트로더(GRUB2) → 커널(initramfs로 루트 마운트) → init/systemd(PID 1, 서비스 시작)의 4단계 릴레이로 진행된다. GRUB2 설정은 /etc/default/grub을 고치고 grub2-mkconfig로 재생성해야 하며, systemd는 런레벨을 타깃으로 대체하고 병렬 부팅으로 속도를 높였다. 다음 시간에는 마운트된 파일시스템 안의 디렉터리 구조(FHS)와, 리눅스에서 "모든 것은 파일"이라는 철학이 구체적으로 어떤 파일 종류로 나타나는지를 다룬다.

📝 연습 문제

선택지를 클릭하면 정답·해설이 펼쳐집니다.

문제 1

리눅스 부팅 과정의 순서로 옳은 것은?

문제 2

MBR과 GPT 파티션 방식에 대한 설명으로 옳은 것은?

문제 3

GRUB2 설정을 변경하고 적용하는 올바른 절차는?

문제 4

부팅 과정에서 initramfs(initrd)의 역할로 가장 옳은 것은?

문제 5

SysV init의 런레벨과 systemd 타깃의 대응으로 옳지 않은 것은?

문제 6

BIOS와 UEFI 펌웨어에 대한 설명으로 옳은 것은?

이전자유 소프트웨어와 배포판: 라이선스가 만든 생태계Week 1 · Day 2다음 파일시스템 구조와 파일의 종류: 모든 것은 파일이다Week 1 · Day 4

이 페이지

  • 파티션 — 하나의 디스크를 여러 방으로 나누기
  • MBR vs GPT — 파티션 테이블의 두 방식
  • 부팅의 큰 그림 — 4단계 릴레이
  • 1단계: 펌웨어 — BIOS와 UEFI
  • 2단계: 부트로더 GRUB2 — 커널을 메모리로
  • 3단계: 커널과 initramfs
  • 4단계: init과 systemd — 첫 번째 프로세스
  • 마무리
  • 연습 문제