KoreaDevKNOWLEDGE SHARING

콘텐츠 유형학습하기

AI INFRASTRUCTURE · 02 / 12

Ubuntu 24.04 서버 운영

설치 첫 화면부터 파일·사용자·권한·패키지·systemd·네트워크·저장장치를 이어서 배우고 변경 전후의 증거로 서버 상태를 판정합니다.

난이도
입문
구성
핵심 단원 5개 · 판단 활동 · 3단계 평가

NEW HIRE ONBOARDING

첫 업무를 받는 순서로 시작합니다

중학교를 졸업하고 처음 IT 업무를 맡은 신입사원도 따라올 수 있도록, 어려운 정의보다 상황·할 일·증거·보고할 경계를 먼저 확인합니다.

  1. 01

    상황을 한 문장으로 읽기

    설치 대상, 경로·권한, package·service, network·storage의 증거를 분리하고 원인을 좁힌 뒤 변경합니다.

  2. 02

    오늘 맡은 일

    실패 증상에서 가설을 좁히고 중단·복구·escalation 결과를 보고할 수 있다.

  3. 03

    완료를 보여 주는 증거

    Ubuntu 24.04 문서와 교육용 판독 예시. 현재 장비 상태와 별도 실장비 시험은 미확인입니다.

  4. 04

    멈추고 선임에게 확인할 경계

    설치 직전 disk 목록이 작업서와 다릅니다. 어떤 행동을 선택합니까?

낯선 용어 먼저 풀기

Baseline(기준선)
변경 전후를 비교할 수 있게 대상·시각·상태를 모은 기록입니다.

이 과정의 운영 질문

서버 한 대의 기준선을 다른 사람이 다시 확인할 수 있습니까?

설치 대상, 경로·권한, package·service, network·storage의 증거를 분리하고 원인을 좁힌 뒤 변경합니다.

CORE UNIT 1 / 5

설치와 첫 기준선

Ubuntu Server 24.04 LTS 설치 조건을 확인하고 첫 로그인 직후의 변경 전 기준선을 기록합니다.

난이도
입문
구성
강의 1개 · 실습 2개 · 평가

도해·표 자료: 각 강의의 공식 1차 출처를 바탕으로 저자 구성. 원문과 검토일은 해당 강의 끝에서 확인합니다.

PREREQUISITE CHECK

본문을 읽기 전에 확인할 세 가지

정답을 외우는 시험이 아닙니다. 질문을 먼저 생각한 뒤 해설을 열어 이번 과목에서 사용할 바탕 개념을 확인하십시오.

1이 실습에서 실제 운영 서버를 변경합니까?

브라우저에서 예제를 읽고 판단합니다. 명령을 따로 재현하려면 승인된 격리 VM과 snapshot을 준비합니다.

2작업 대상이 기록과 다르면 어떻게 합니까?

변경을 멈추고 대상 identity와 권한을 확인합니다. 모르는 값은 미확인으로 적습니다.

3이 단원을 읽기 전에 확인할 바탕 지식은 무엇입니까?

처음 보는 명령은 도움말로 목적을 확인하고, 실습 환경과 운영 환경을 구분합니다.

TEXTBOOK GUIDE

개념의 배경부터 판단 기준까지 읽는 본문

IT를 처음 접하는 독자도 용어를 암기하지 않고 원인과 결과를 연결할 수 있도록 한 절씩 이어서 설명합니다.

  1. 설치 매체와 대상 disk를 구분하고 삭제 위험을 설명할 수 있다.
  2. OS·kernel·시간·자원·network의 첫 기준선을 수집할 수 있다.
  3. 설치 진행·중단 조건과 근거를 작업 기록으로 보고할 수 있다.
설치와 첫 기준선 실습 환경과 안전 경계
하드웨어CPU 2 core 이상 · memory 4 GiB 이상 · storage 30 GiB 이상 · GPU 불필요
소프트웨어Ubuntu Server 24.04 LTS 설치 ISO · 터미널 또는 SSH client
필요 권한실습 VM을 생성하거나 초기화할 권한 · 설치 후 sudo 권한
네트워크실습용 NAT 또는 격리 network · package repository 접속 가능 여부를 사전에 확인

Ubuntu 24.04 문서와 교육용 판독 예시. 현재 장비 상태와 별도 실장비 시험은 미확인입니다.

적용 버전: Ubuntu Server 24.04 LTS · 원고 검토일: 2026-08-31

CONCEPT FLOW

각 장은 이렇게 연결됩니다

각 장은 따로 외우는 단답이 아닙니다. 왼쪽에서 오른쪽으로 따라가며 앞 장의 개념이 다음 판단에 어떻게 쓰이는지 먼저 살펴보세요.

  1. 1장설치 전 확인표를 작성합니다
설치와 첫 기준선의 전체 지도입니다. 아래 장문 해설과 각 장을 읽다가 길을 잃으면 이 순서로 돌아오세요.

CONTROLLED EXPLANATION

확인할 증거를 한 단계씩 따라갑니다

현재 설명 · 1/1 · 설치 전 확인표를 작성합니다

다음 연결: 구체 사례와 실습에서 판단을 확인합니다.

  1. 설치 전 확인표를 작성합니다

    물리 서버나 기존 VM에서 대상 disk를 잘못 고르면 data를 복구하지 못할 수 있습니다. asset ID, disk serial, 용량과 연결 위치가 작업 승인서와 다르면 즉시 중단하고 선임에게 escalation하십시오.

개념 해설 01

Ubuntu Server 24.04 LTS 설치 조건을 확인하고 첫 로그인 직후의 변경 전 기준선을 기록합니다.

Baseline(기준선): 변경 전후를 비교할 수 있게 대상·시각·상태를 모은 기록입니다.

설치는 파일을 복사하는 작업이 아니라 어느 disk를 지우고 어떤 boot·network·identity 기준으로 서버를 시작할지 결정하는 변경입니다. 화면에 Install이 보인다는 이유만으로 진행하지 말고 설치 대상이 실습 VM인지, 기존 data가 있는 물리 서버인지, rollback이 가능한지부터 확인합니다.

기준선은 “설치가 끝났다”는 메모가 아닙니다. 이후 장애나 변경이 생겼을 때 비교할 수 있도록 OS release, kernel, clock, CPU·memory·disk, interface와 주소를 같은 시각에 기록한 증거 묶음입니다. 정상이라는 결론보다 무엇을 관찰했는지가 먼저입니다.

교육 사례에서 설치 직전 확인한 disk는 100GiB인데 작업서는 80GiB를 지정했습니다. VM 이름만 같다는 이유로 진행하지 않습니다. 가상 disk 추가나 잘못된 console 연결도 원인일 수 있습니다. serial과 장치 연결을 대조하고 대상이 확정될 때까지 설치를 멈춥니다.

하나의 기준선은 여러 명령의 출력으로 구성됩니다. OS release는 배포판, kernel은 현재 실행 중인 운영체제 핵심, mount는 사용 중인 filesystem을 설명합니다. 한 값이 정상이어도 다른 값의 정상 여부는 별도로 확인합니다. 같은 시각과 대상 이름으로 묶어야 다음 운영자가 비교할 수 있습니다.

작업서와 실제 대상의 asset 이름·disk 용량과 serial·rollback 위치를 대조해 모두 일치하면 설치와 기준선 기록으로, 하나라도 다르면 중단과 escalation으로 갈리는 분기 도표
그림 읽는 법 위 세 칸에서 작업서의 값과 실제 대상의 값을 한 줄씩 대조합니다. 초록 화살표는 세 항목이 모두 일치할 때만 설치와 기준선 기록으로 이어지고, 호박 화살표는 하나라도 다르면 파괴적 변경 전에 중단하고 escalation한다는 뜻입니다. 예시에서 작업서의 80GiB와 설치 화면의 100GiB가 다르므로 진행한 뒤 확인하는 것이 아니라 그 자리에서 멈추고 serial과 장치 연결을 다시 대조합니다. 아래 네 칸은 기준선을 이루는 명령 묶음으로, OS·kernel, 시각 동기화, CPU·memory, disk·network가 각각 다른 층의 증거임을 보여 줍니다. 한 값이 정상이어도 다른 값의 정상 여부는 별도로 확인하고, 네 묶음을 같은 시각과 같은 대상 이름으로 묶어야 다음 운영자가 비교할 수 있습니다. 마지막 상자는 기준선의 합격 기준이며, 값이 다르면 설치 완료가 아니라 차이의 원인을 조사한다는 규칙입니다. 도표의 이름·용량·주소는 원고의 교육용 예시입니다.
왜 이런가
한 시점의 OS·장치·주소를 함께 기록해야 나중에 달라진 층을 구분할 수 있습니다. 명령 하나의 성공을 서버 전체의 정상 판정으로 확대하지 마십시오.
언제 문제가 되는가
작업서와 실제 disk 용량이 다르면 다른 VM이나 추가 disk를 보고 있을 수 있습니다. 설치 화면에서 진행하기 전에 대상 identity부터 대조하십시오.
초보자가 자주 하는 오해
물리 서버나 기존 VM에서 대상 disk를 잘못 고르면 data를 복구하지 못할 수 있습니다. asset ID, disk serial, 용량과 연결 위치가 작업 승인서와 다르면 즉시 중단하고 선임에게 escalation하십시오.
직접 확인하는 방법
아래 읽기 전용 명령의 결과를 한 기록에 모으고, 작업서의 대상·용량과 실제 disk·mount·route를 대조하십시오. 명령 실패도 기록에 남기십시오.
이 절을 정리하면작업 기록만 받은 다른 운영자가 OS·kernel·시간 동기화 상태, CPU·memory, root filesystem 여유 공간, 활성 interface와 기본 route를 같은 명령으로 다시 확인할 수 있어야 합니다. 값이 다르면 설치 완료가 아니라 차이의 원인을 조사할 수 있어야 합니다.

CHAPTER 1 / 1

설치 전 확인표를 작성합니다

설치 대상의 asset 이름, VM console 또는 물리 console, 대상 disk 용량, 기존 data 보존 여부, network 연결 방식, rollback 위치를 한 표에 기록하십시오. VM 실습이라면 설치 직전 snapshot 이름과 생성 시각도 남깁니다.

설치가 끝나고 대상 서버에 처음 로그인한 뒤 아래 명령을 실행합니다. 설치 전 disk 확인과 설치 후 기준선 수집은 서로 다른 단계입니다. 아래 출력은 도판과 별도로 구성한 판독 연습이므로 장치 이름·용량을 도판의 값과 섞지 마십시오.

격리 환경 재현용 명령 · 브라우저에서는 실행하지 않습니다
cat /etc/os-release
uname -r
timedatectl status
lscpu
free -h
lsblk -o NAME,SIZE,TYPE,FSTYPE,MOUNTPOINTS
df -hT /
ip -brief address
ip route
교육용 예상 출력 · 실제 측정값 아님
NAME   SIZE TYPE FSTYPE MOUNTPOINTS
vda    100G disk
vda1     1G part vfat   /boot/efi
vda2    99G part ext4   /

ens18  UP  192.0.2.10/24
default via 192.0.2.1 dev ens18

CONCRETE CASES

실습 VM에 Ubuntu Server 24.04를 설치하고 변경 전 상태를 재현 가능한 형식으로 기록한다.

교육 사례에서 설치 직전 확인한 disk는 100GiB인데 작업서는 80GiB를 지정했습니다. VM 이름만 같다는 이유로 진행하지 않습니다. 가상 disk 추가나 잘못된 console 연결도 원인일 수 있습니다. serial과 장치 연결을 대조하고 대상이 확정될 때까지 설치를 멈춥니다.

잘못된 대응과 확인할 경계

물리 서버나 기존 VM에서 대상 disk를 잘못 고르면 data를 복구하지 못할 수 있습니다. asset ID, disk serial, 용량과 연결 위치가 작업 승인서와 다르면 즉시 중단하고 선임에게 escalation하십시오.

시간 동기화가 되지 않으면 network 연결과 NTP source를 먼저 확인합니다. 주소가 없으면 cable·virtual NIC 연결, interface state, DHCP 또는 Netplan 설정 순서로 범위를 좁힙니다. root filesystem 여유가 기준보다 작으면 partition 변경 전에 snapshot 또는 재설치 가능성을 먼저 판단합니다.

INTERACTIVE LAB 1 / 2

실습 1 · 출력에서 판정 근거 찾기

브라우저 안에서 값을 입력하고 실행 결과와 실패·복구 경로를 확인합니다. 실제 장비나 NAS에는 어떤 명령도 보내지 않습니다.

실습 VM에 Ubuntu Server 24.04를 설치하고 변경 전 상태를 재현 가능한 형식으로 기록한다.

NAME   SIZE TYPE FSTYPE MOUNTPOINTS
vda    100G disk
vda1     1G part vfat   /boot/efi
vda2    99G part ext4   /

ens18  UP  192.0.2.10/24
default via 192.0.2.1 dev ens18

다음은 출력 읽기를 연습하기 위해 구성한 예시이며 실제 장비 측정값이 아닙니다. 장치 이름과 용량은 설치 환경에 따라 달라집니다. 단순히 예시와 같은 문자열인지 확인하지 말고 작업서와 실제 관찰값의 일치를 판단하십시오.


`/etc/os-release`에는 Ubuntu 24.04 계열 식별 정보가, `uname -r`에는 실제 실행 중인 kernel이 표시됩니다. `lsblk`의 disk·partition·filesystem·mountpoint와 `ip -brief address`의 interface 상태는 서로 다른 층의 정보이므로 한 줄로 합쳐 판단하지 않습니다.

INTERACTIVE LAB 2 / 2

실습 2 · 중단과 복구 계획 세우기

브라우저 안에서 값을 입력하고 실행 결과와 실패·복구 경로를 확인합니다. 실제 장비나 NAS에는 어떤 명령도 보내지 않습니다.

물리 서버나 기존 VM에서 대상 disk를 잘못 고르면 data를 복구하지 못할 수 있습니다. asset ID, disk serial, 용량과 연결 위치가 작업 승인서와 다르면 즉시 중단하고 선임에게 escalation하십시오.

KEY TERMS

이번 단원 핵심 용어

Baseline(기준선)
변경 전후를 비교할 수 있게 대상·시각·상태를 모은 기록입니다.

UNIT WORKBOOK

개념을 새로운 상황에 적용하는 문제와 기록지

기본 원리 확인에서 시작해 실제 업무 판단으로 확장합니다. 답을 제출하면 정답만이 아니라 모든 선택지가 맞거나 틀린 이유를 확인할 수 있습니다.

설치 진행·중단 조건과 근거를 작업 기록으로 보고할 수 있다.

PERSONAL WORKSHEET

내 환경에 옮겨 적는 학습 기록지

입력 내용은 현재 브라우저 화면에만 머물며 저장하거나 외부로 전송하지 않습니다. 민감한 실제 정보 대신 범주와 가명을 사용하십시오.

OFFICIAL SOURCES

공식 자료에서 다시 확인하기

Ubuntu 24.04 문서와 교육용 판독 예시. 현재 장비 상태와 별도 실장비 시험은 미확인입니다.

CORE UNIT 2 / 5

셸·경로·도움말

prompt와 명령 구조를 읽고 현재 경로와 종료 상태를 확인하며 모르는 명령을 공식 도움말로 조사합니다.

난이도
입문
구성
강의 1개 · 실습 2개 · 평가

도해·표 자료: 각 강의의 공식 1차 출처를 바탕으로 저자 구성. 원문과 검토일은 해당 강의 끝에서 확인합니다.

PREREQUISITE CHECK

본문을 읽기 전에 확인할 세 가지

정답을 외우는 시험이 아닙니다. 질문을 먼저 생각한 뒤 해설을 열어 이번 과목에서 사용할 바탕 개념을 확인하십시오.

1이 실습에서 실제 운영 서버를 변경합니까?

브라우저에서 예제를 읽고 판단합니다. 명령을 따로 재현하려면 승인된 격리 VM과 snapshot을 준비합니다.

2작업 대상이 기록과 다르면 어떻게 합니까?

변경을 멈추고 대상 identity와 권한을 확인합니다. 모르는 값은 미확인으로 적습니다.

3이 단원을 읽기 전에 확인할 바탕 지식은 무엇입니까?

Ubuntu에 로그인하는 방법

TEXTBOOK GUIDE

개념의 배경부터 판단 기준까지 읽는 본문

IT를 처음 접하는 독자도 용어를 암기하지 않고 원인과 결과를 연결할 수 있도록 한 절씩 이어서 설명합니다.

  1. prompt·명령·option·argument를 구분할 수 있다.
  2. 절대·상대 경로를 사용해 파일을 변경하지 않고 탐색할 수 있다.
  3. 도움말과 종료 상태로 다음 확인 작업을 결정할 수 있다.
셸·경로·도움말 실습 환경과 안전 경계
하드웨어Ubuntu 24.04 실습 VM
소프트웨어bash · coreutils · man-db
필요 권한일반 사용자 권한
네트워크이 단원은 외부 network 없이 수행 가능

Ubuntu 24.04 문서와 교육용 판독 예시. 현재 장비 상태와 별도 실장비 시험은 미확인입니다.

적용 버전: Ubuntu Server 24.04 LTS · bash 5.2 계열 · 원고 검토일: 2026-08-31

CONCEPT FLOW

각 장은 이렇게 연결됩니다

각 장은 따로 외우는 단답이 아닙니다. 왼쪽에서 오른쪽으로 따라가며 앞 장의 개념이 다음 판단에 어떻게 쓰이는지 먼저 살펴보세요.

  1. 1장파일을 바꾸지 않고 경로를 탐색합니다
셸·경로·도움말의 전체 지도입니다. 아래 장문 해설과 각 장을 읽다가 길을 잃으면 이 순서로 돌아오세요.

CONTROLLED EXPLANATION

확인할 증거를 한 단계씩 따라갑니다

현재 설명 · 1/1 · 파일을 바꾸지 않고 경로를 탐색합니다

다음 연결: 구체 사례와 실습에서 판단을 확인합니다.

  1. 파일을 바꾸지 않고 경로를 탐색합니다

    현재 사용자, 현재 directory, login shell과 ls 명령의 실제 해석 위치가 순서대로 표시됩니다. man을 종료한 직후 $?가 0이면 도움말 명령 자체가 성공한 것입니다. 이 값은 그 전에 실행한 다른 명령의 상태를 보존하지 않습니다.

개념 해설 01

prompt와 명령 구조를 읽고 현재 경로와 종료 상태를 확인하며 모르는 명령을 공식 도움말로 조사합니다.

Working directory(현재 작업 디렉터리): 상대 경로를 해석할 때 기준이 되는 현재 위치입니다.

prompt는 운영체제의 출력과 사용자의 입력 경계를 알려 주는 표시입니다. $#를 명령의 일부로 복사하지 않습니다. 특히 # prompt는 대개 root 권한을 뜻하므로 같은 명령도 영향 범위가 달라집니다.

절대 경로는 /에서 시작하고 상대 경로는 현재 작업 directory를 기준으로 해석됩니다. cd가 성공했다는 사실만으로 의도한 위치라고 단정하지 말고 pwdls -la로 현재 위치와 숨김 항목을 확인합니다.

교육 사례에서 /srv/lab에 있다고 생각하고 ./data를 조회했지만 실제 pwd는 /home/learner였습니다. 같은 상대 경로도 시작 위치가 다르면 다른 파일을 가리킵니다. 먼저 pwd와 ls로 대상을 확인하고 cd 뒤에 다시 확인합니다. 특히 삭제·덮어쓰기 명령은 절대 경로와 소유자를 대조하기 전 실행하지 않습니다.

셸은 입력 문자열을 명령 이름과 인자로 나누어 실행합니다. 따옴표는 공백이나 특수 문자가 포함된 값을 하나의 인자로 전달할 때 필요합니다. 파이프는 앞 명령의 출력을 뒤 명령의 입력으로 연결하며 원본 파일을 직접 바꾸는 뜻은 아닙니다. 반면 리다이렉션 >는 대상 파일을 덮어쓸 수 있으므로 읽기 명령과 구분합니다.

명령 한 줄을 prompt·명령 이름·option·argument 네 조각으로 나누고, 실행 뒤 남는 표준 출력·표준 오류·종료 상태와 경로를 착각한 사례를 함께 보여 주는 도판
그림 읽는 법 ①의 네 상자는 learner@host:/srv/lab$ ls -la ./data 한 줄을 prompt·명령 이름·option·argument로 나눈 것입니다. prompt의 `$`와 `#`는 명령의 일부가 아니며, `#`는 대개 root 권한이므로 같은 명령도 영향 범위가 달라집니다. ②의 세 상자는 실행 뒤 남는 증거로, 표준 출력에 내용이 보인다는 사실만으로 성공이라고 단정하지 않고 표준 오류와 종료 상태를 함께 읽습니다. `man`을 끝낸 직후의 exit=0은 man이 성공했다는 뜻이며 그 전에 실행한 명령의 상태를 보존하지 않습니다. ③은 /srv/lab에 있다고 믿고 ./data를 조회했지만 실제 pwd가 /home/learner였던 교육 사례로, 같은 상대 경로가 다른 파일을 가리킨 자리입니다. 이동 전에 `pwd`와 `ls -la`로 확인하고 `cd` 뒤에 다시 `pwd`로 대조하며, 삭제·덮어쓰기 명령은 절대 경로와 소유자를 확인하기 전에 실행하지 않습니다. 도판의 사용자 이름과 경로는 원고의 교육 사례이며 실제 서버에서 얻은 값이 아닙니다.
왜 이런가
셸은 입력 문자열을 명령 이름과 인자로 나누어 실행합니다. 따옴표는 공백이나 특수 문자가 포함된 값을 하나의 인자로 전달할 때 필요합니다. 파이프는 앞 명령의 출력을 뒤 명령의 입력으로 연결하며 원본 파일을 직접 바꾸는 뜻은 아닙니다. 반면 리다이렉션 >는 대상 파일을 덮어쓸 수 있으므로 읽기 명령과 구분합니다.
언제 문제가 되는가
교육 사례에서 /srv/lab에 있다고 생각하고 ./data를 조회했지만 실제 pwd는 /home/learner였습니다. 같은 상대 경로도 시작 위치가 다르면 다른 파일을 가리킵니다. 먼저 pwd와 ls로 대상을 확인하고 cd 뒤에 다시 확인합니다. 특히 삭제·덮어쓰기 명령은 절대 경로와 소유자를 대조하기 전 실행하지 않습니다.
초보자가 자주 하는 오해
인터넷에서 찾은 명령을 `sudo`와 함께 바로 실행하지 않습니다. 먼저 `type`, `--help`, `man`과 package 출처로 명령의 소유자·option·변경 범위를 확인하십시오.
직접 확인하는 방법
현재 위치를 확인하고 안전하게 이동한 뒤 도움말과 종료 상태를 판독한다.
이 절을 정리하면학습자는 prompt, 입력한 명령, 표준 출력과 종료 상태를 서로 구분하고, 절대 경로와 상대 경로 두 방식으로 같은 directory에 도착한 뒤 `pwd`로 일치 여부를 증명해야 합니다.

CHAPTER 1 / 1

파일을 바꾸지 않고 경로를 탐색합니다

격리 환경 재현용 명령 · 브라우저에서는 실행하지 않습니다
whoami
pwd
printf '%s\n' "$SHELL"
ls -la
type -a ls
man ls
printf 'exit=%s\n' "$?"

CONCRETE CASES

현재 위치를 확인하고 안전하게 이동한 뒤 도움말과 종료 상태를 판독한다.

교육 사례에서 /srv/lab에 있다고 생각하고 ./data를 조회했지만 실제 pwd는 /home/learner였습니다. 같은 상대 경로도 시작 위치가 다르면 다른 파일을 가리킵니다. 먼저 pwd와 ls로 대상을 확인하고 cd 뒤에 다시 확인합니다. 특히 삭제·덮어쓰기 명령은 절대 경로와 소유자를 대조하기 전 실행하지 않습니다.

잘못된 대응과 확인할 경계

인터넷에서 찾은 명령을 `sudo`와 함께 바로 실행하지 않습니다. 먼저 `type`, `--help`, `man`과 package 출처로 명령의 소유자·option·변경 범위를 확인하십시오.

`command not found`이면 철자, alias·function 여부, executable 경로와 package 설치 여부를 확인합니다. `Permission denied`이면 경로가 없다는 뜻이 아니므로 파일 mode, 소유자, mount option을 따로 확인합니다.

INTERACTIVE LAB 1 / 2

실습 1 · 출력에서 판정 근거 찾기

브라우저 안에서 값을 입력하고 실행 결과와 실패·복구 경로를 확인합니다. 실제 장비나 NAS에는 어떤 명령도 보내지 않습니다.

현재 위치를 확인하고 안전하게 이동한 뒤 도움말과 종료 상태를 판독한다.

현재 사용자, 현재 directory, login shell과 `ls` 명령의 실제 해석 위치가 순서대로 표시됩니다. `man`을 종료한 직후 `$?`가 0이면 도움말 명령 자체가 성공한 것입니다. 이 값은 그 전에 실행한 다른 명령의 상태를 보존하지 않습니다.

INTERACTIVE LAB 2 / 2

실습 2 · 중단과 복구 계획 세우기

브라우저 안에서 값을 입력하고 실행 결과와 실패·복구 경로를 확인합니다. 실제 장비나 NAS에는 어떤 명령도 보내지 않습니다.

인터넷에서 찾은 명령을 sudo와 함께 바로 실행하지 않습니다. 먼저 type, --help, man과 package 출처로 명령의 소유자·option·변경 범위를 확인하십시오.

KEY TERMS

이번 단원 핵심 용어

Working directory(현재 작업 디렉터리)
상대 경로를 해석할 때 기준이 되는 현재 위치입니다.

UNIT WORKBOOK

개념을 새로운 상황에 적용하는 문제와 기록지

기본 원리 확인에서 시작해 실제 업무 판단으로 확장합니다. 답을 제출하면 정답만이 아니라 모든 선택지가 맞거나 틀린 이유를 확인할 수 있습니다.

도움말과 종료 상태로 다음 확인 작업을 결정할 수 있다.

PERSONAL WORKSHEET

내 환경에 옮겨 적는 학습 기록지

입력 내용은 현재 브라우저 화면에만 머물며 저장하거나 외부로 전송하지 않습니다. 민감한 실제 정보 대신 범주와 가명을 사용하십시오.

OFFICIAL SOURCES

공식 자료에서 다시 확인하기

Ubuntu 24.04 문서와 교육용 판독 예시. 현재 장비 상태와 별도 실장비 시험은 미확인입니다.

CORE UNIT 3 / 5

파일·사용자·권한

사용자·group·rwx·sudo의 관계를 읽고 서비스 계정과 작업 directory를 최소 권한으로 구성합니다.

난이도
입문
구성
강의 1개 · 실습 2개 · 평가

도해·표 자료: 각 강의의 공식 1차 출처를 바탕으로 저자 구성. 원문과 검토일은 해당 강의 끝에서 확인합니다.

PREREQUISITE CHECK

본문을 읽기 전에 확인할 세 가지

정답을 외우는 시험이 아닙니다. 질문을 먼저 생각한 뒤 해설을 열어 이번 과목에서 사용할 바탕 개념을 확인하십시오.

1이 실습에서 실제 운영 서버를 변경합니까?

브라우저에서 예제를 읽고 판단합니다. 명령을 따로 재현하려면 승인된 격리 VM과 snapshot을 준비합니다.

2작업 대상이 기록과 다르면 어떻게 합니까?

변경을 멈추고 대상 identity와 권한을 확인합니다. 모르는 값은 미확인으로 적습니다.

3이 단원을 읽기 전에 확인할 바탕 지식은 무엇입니까?

절대·상대 경로 · 명령 종료 상태

TEXTBOOK GUIDE

개념의 배경부터 판단 기준까지 읽는 본문

IT를 처음 접하는 독자도 용어를 암기하지 않고 원인과 결과를 연결할 수 있도록 한 절씩 이어서 설명합니다.

  1. UID·GID와 파일 소유권이 접근 판정에 쓰이는 순서를 설명할 수 있다.
  2. 서비스 계정과 group 공유 directory를 최소 권한으로 만들 수 있다.
  3. 허용·거부 결과를 각각 확인하고 권한 변경의 영향을 보고할 수 있다.
파일·사용자·권한 실습 환경과 안전 경계
하드웨어Ubuntu 24.04 실습 VM
소프트웨어bash · coreutils · sudo
필요 권한실습 계정을 추가할 sudo 권한
네트워크외부 network 불필요

Ubuntu 24.04 문서와 교육용 판독 예시. 현재 장비 상태와 별도 실장비 시험은 미확인입니다.

적용 버전: Ubuntu Server 24.04 LTS · 원고 검토일: 2026-08-31

CONCEPT FLOW

각 장은 이렇게 연결됩니다

각 장은 따로 외우는 단답이 아닙니다. 왼쪽에서 오른쪽으로 따라가며 앞 장의 개념이 다음 판단에 어떻게 쓰이는지 먼저 살펴보세요.

  1. 1장실습용 group과 작업 directory를 만듭니다
파일·사용자·권한의 전체 지도입니다. 아래 장문 해설과 각 장을 읽다가 길을 잃으면 이 순서로 돌아오세요.

CONTROLLED EXPLANATION

확인할 증거를 한 단계씩 따라갑니다

현재 설명 · 1/1 · 실습용 group과 작업 directory를 만듭니다

다음 연결: 구체 사례와 실습에서 판단을 확인합니다.

  1. 실습용 group과 작업 directory를 만듭니다

    aiworker는 system account이고 login shell은 /usr/sbin/nologin으로 표시됩니다. /srv/ai-work는 owner aiworker, group aiops, mode 2770이어야 합니다. 앞의 2는 새 파일이 directory group을 이어받도록 하는 setgid bit입니다.

개념 해설 01

사용자·group·rwx·sudo의 관계를 읽고 서비스 계정과 작업 directory를 최소 권한으로 구성합니다.

Permission(접근 권한): owner·group·other별 읽기·쓰기·실행 허용 범위를 정하는 규칙입니다.

Linux는 화면에 보이는 사용자 이름만으로 접근을 결정하지 않습니다. process의 UID와 GID, 대상 파일의 소유자·group, rwx bit와 추가 정책을 함께 평가합니다. chmod 777은 문제를 해결하는 만능 명령이 아니라 누구나 읽고 쓰고 실행할 수 있게 범위를 넓히는 위험한 변경입니다.

서비스 계정은 사람이 로그인하는 개인 계정과 목적이 다릅니다. 필요한 directory에만 접근하게 하고 shell login과 불필요한 home directory를 제한하면 credential 오용과 사고의 blast radius를 줄일 수 있습니다.

교육 사례에서 파일 읽기 권한은 있지만 상위 디렉터리의 통과 권한이 없어 접근이 거부되었습니다. 파일 하나의 mode만 바꾸면 해결되지 않을 수 있습니다. 경로의 각 디렉터리와 실제 process의 UID·group을 확인합니다. 모든 대상에 777을 주는 방법은 원인을 설명하지 못하고 무관한 쓰기까지 열어 버립니다.

디렉터리의 읽기와 실행 권한은 파일과 의미가 다릅니다. 읽기는 항목 이름 목록을, 실행은 경로 탐색을 허용합니다. group에 사용자를 추가한 뒤에도 기존 로그인 session이 새 group을 반영하지 않을 수 있습니다. id로 현재 session의 group을 확인하고 새 session에서 필요한 행동만 허용되는지 시험합니다.

process의 UID·group에서 시작해 상위 directory 통과, owner·group·other 분류, rwx bit와 추가 정책까지 네 관문을 거쳐 허용과 거부 두 결과로 갈리는 접근 판정 도표
그림 읽는 법 배지 1부터 4까지가 kernel이 접근을 판정하는 순서이고, 앞 관문에서 막히면 뒤 관문은 평가되지 않습니다. 1번에서 id 출력의 uid·gid와 group 목록을 확인하며, usermod -aG aiops 뒤에도 기존 session에는 새 group이 없다는 점을 먼저 봅니다. 2번은 namei -l로 경로의 각 directory에 x가 있는지 보는 칸이고, 파일에 r이 있어도 상위에 x가 없으면 여기서 거부됩니다. 3번은 UID가 owner와 같은지, group 목록에 aiops가 있는지에 따라 owner·group·other 가운데 한 묶음만 적용된다는 규칙이며, 4번은 directory에서 r·w·x의 뜻과 mode 2770 앞자리의 setgid, 그래도 거부될 때 확인할 ACL·AppArmor·mount option입니다. 아래 두 상자는 같은 구성에서 허용(aiops 구성원의 새 login session)과 거부(group에 없는 실습 계정)가 모두 재현되어야 경계를 검증한 것임을 보여 줍니다. 마지막 상자는 chmod 777 대신 확인할 순서와 서비스 계정을 만드는 방법입니다. 도표의 계정 이름·UID·경로·mode는 원고의 교육용 예시이므로 실제 환경의 값과 다를 수 있습니다.
왜 이런가
디렉터리의 읽기와 실행 권한은 파일과 의미가 다릅니다. 읽기는 항목 이름 목록을, 실행은 경로 탐색을 허용합니다. group에 사용자를 추가한 뒤에도 기존 로그인 session이 새 group을 반영하지 않을 수 있습니다. id로 현재 session의 group을 확인하고 새 session에서 필요한 행동만 허용되는지 시험합니다.
언제 문제가 되는가
교육 사례에서 파일 읽기 권한은 있지만 상위 디렉터리의 통과 권한이 없어 접근이 거부되었습니다. 파일 하나의 mode만 바꾸면 해결되지 않을 수 있습니다. 경로의 각 디렉터리와 실제 process의 UID·group을 확인합니다. 모든 대상에 777을 주는 방법은 원인을 설명하지 못하고 무관한 쓰기까지 열어 버립니다.
초보자가 자주 하는 오해
권한 오류를 없애려고 전체 경로에 777을 부여하지 않습니다. 실제 사용자·group과 상위 디렉터리의 통과 권한을 확인합니다.
직접 확인하는 방법
실습용 서비스 계정과 group directory를 만들고 허용·거부 접근을 모두 검증한다.
이 절을 정리하면허용된 group 구성원은 새 login session에서 directory를 사용할 수 있고, group에 없는 실습 계정은 접근이 거부되어야 합니다. 성공 결과만 남기지 말고 의도한 거부도 시험해 최소 권한이 실제로 작동함을 증명합니다.

CHAPTER 1 / 1

실습용 group과 작업 directory를 만듭니다

격리 환경 재현용 명령 · 브라우저에서는 실행하지 않습니다
sudo groupadd --force aiops
sudo useradd --system --no-create-home --shell /usr/sbin/nologin aiworker
sudo usermod -aG aiops "$USER"
sudo install -d -o aiworker -g aiops -m 2770 /srv/ai-work
getent passwd aiworker
getent group aiops
stat -c '%U %G %A %a %n' /srv/ai-work

CONCRETE CASES

실습용 서비스 계정과 group directory를 만들고 허용·거부 접근을 모두 검증한다.

교육 사례에서 파일 읽기 권한은 있지만 상위 디렉터리의 통과 권한이 없어 접근이 거부되었습니다. 파일 하나의 mode만 바꾸면 해결되지 않을 수 있습니다. 경로의 각 디렉터리와 실제 process의 UID·group을 확인합니다. 모든 대상에 777을 주는 방법은 원인을 설명하지 못하고 무관한 쓰기까지 열어 버립니다.

잘못된 대응과 확인할 경계

개인 계정을 서비스 process에 공유하지 않고, service credential을 shell history나 원고에 기록하지 않습니다. sudoers 변경은 별도 검토 없이 실습하지 않습니다.

`usermod -aG` 뒤 현재 shell에 group이 보이지 않으면 명령 실패로 단정하지 말고 새 login session을 만들거나 `id`로 현재 process의 group 목록을 확인합니다. 소유권과 mode가 맞는데도 거부되면 상위 directory 권한, ACL, AppArmor와 mount option을 확인합니다.

INTERACTIVE LAB 1 / 2

실습 1 · 출력에서 판정 근거 찾기

브라우저 안에서 값을 입력하고 실행 결과와 실패·복구 경로를 확인합니다. 실제 장비나 NAS에는 어떤 명령도 보내지 않습니다.

실습용 서비스 계정과 group directory를 만들고 허용·거부 접근을 모두 검증한다.

`aiworker`는 system account이고 login shell은 `/usr/sbin/nologin`으로 표시됩니다. `/srv/ai-work`는 owner `aiworker`, group `aiops`, mode `2770`이어야 합니다. 앞의 `2`는 새 파일이 directory group을 이어받도록 하는 setgid bit입니다.

INTERACTIVE LAB 2 / 2

실습 2 · 중단과 복구 계획 세우기

브라우저 안에서 값을 입력하고 실행 결과와 실패·복구 경로를 확인합니다. 실제 장비나 NAS에는 어떤 명령도 보내지 않습니다.

개인 계정을 서비스 process에 공유하지 않고, service credential을 shell history나 원고에 기록하지 않습니다. sudoers 변경은 별도 검토 없이 실습하지 않습니다.

KEY TERMS

이번 단원 핵심 용어

Permission(접근 권한)
owner·group·other별 읽기·쓰기·실행 허용 범위를 정하는 규칙입니다.

UNIT WORKBOOK

개념을 새로운 상황에 적용하는 문제와 기록지

기본 원리 확인에서 시작해 실제 업무 판단으로 확장합니다. 답을 제출하면 정답만이 아니라 모든 선택지가 맞거나 틀린 이유를 확인할 수 있습니다.

허용·거부 결과를 각각 확인하고 권한 변경의 영향을 보고할 수 있다.

PERSONAL WORKSHEET

내 환경에 옮겨 적는 학습 기록지

입력 내용은 현재 브라우저 화면에만 머물며 저장하거나 외부로 전송하지 않습니다. 민감한 실제 정보 대신 범주와 가명을 사용하십시오.

OFFICIAL SOURCES

공식 자료에서 다시 확인하기

Ubuntu 24.04 문서와 교육용 판독 예시. 현재 장비 상태와 별도 실장비 시험은 미확인입니다.

CORE UNIT 4 / 5

패키지와 서비스

APT 변경 전후를 기록하고 systemd service의 실행·자동 시작·log·rollback을 검증합니다.

난이도
입문
구성
강의 1개 · 실습 2개 · 평가

도해·표 자료: 각 강의의 공식 1차 출처를 바탕으로 저자 구성. 원문과 검토일은 해당 강의 끝에서 확인합니다.

PREREQUISITE CHECK

본문을 읽기 전에 확인할 세 가지

정답을 외우는 시험이 아닙니다. 질문을 먼저 생각한 뒤 해설을 열어 이번 과목에서 사용할 바탕 개념을 확인하십시오.

1이 실습에서 실제 운영 서버를 변경합니까?

브라우저에서 예제를 읽고 판단합니다. 명령을 따로 재현하려면 승인된 격리 VM과 snapshot을 준비합니다.

2작업 대상이 기록과 다르면 어떻게 합니까?

변경을 멈추고 대상 identity와 권한을 확인합니다. 모르는 값은 미확인으로 적습니다.

3이 단원을 읽기 전에 확인할 바탕 지식은 무엇입니까?

sudo · 파일 경로 · 종료 상태

TEXTBOOK GUIDE

개념의 배경부터 판단 기준까지 읽는 본문

IT를 처음 접하는 독자도 용어를 암기하지 않고 원인과 결과를 연결할 수 있도록 한 절씩 이어서 설명합니다.

  1. package 설치와 process 실행, service 자동 시작의 차이를 설명할 수 있다.
  2. 변경 전 상태를 기록한 뒤 package와 service를 변경할 수 있다.
  3. 상태·기능·log·재부팅 후 동작을 검증하고 rollback 여부를 보고할 수 있다.
패키지와 서비스 실습 환경과 안전 경계
하드웨어Ubuntu 24.04 실습 VM
소프트웨어APT · systemd · journalctl
필요 권한package와 service를 변경할 sudo 권한
네트워크Ubuntu package repository 접속

Ubuntu 24.04 문서와 교육용 판독 예시. 현재 장비 상태와 별도 실장비 시험은 미확인입니다.

적용 버전: Ubuntu Server 24.04 LTS · systemd 255 계열 · 원고 검토일: 2026-08-31

CONCEPT FLOW

각 장은 이렇게 연결됩니다

각 장은 따로 외우는 단답이 아닙니다. 왼쪽에서 오른쪽으로 따라가며 앞 장의 개념이 다음 판단에 어떻게 쓰이는지 먼저 살펴보세요.

  1. 1장package와 service 상태를 분리해 확인합니다
패키지와 서비스의 전체 지도입니다. 아래 장문 해설과 각 장을 읽다가 길을 잃으면 이 순서로 돌아오세요.

CONTROLLED EXPLANATION

확인할 증거를 한 단계씩 따라갑니다

현재 설명 · 1/1 · package와 service 상태를 분리해 확인합니다

다음 연결: 구체 사례와 실습에서 판단을 확인합니다.

  1. package와 service 상태를 분리해 확인합니다

    package candidate와 installed version, boot 자동 시작 여부, 현재 active 상태, 최근 log와 listen port가 각각 표시됩니다. 하나가 정상이어도 다른 층이 실패할 수 있으므로 결과를 합쳐 한 단어로 줄이지 않습니다.

개념 해설 01

APT 변경 전후를 기록하고 systemd service의 실행·자동 시작·log·rollback을 검증합니다.

Service(서비스 process 관리 단위): systemd가 시작·종료·재시작과 의존성을 관리하는 실행 단위입니다.

package가 설치되었다는 사실과 service가 실행 중이라는 사실은 다릅니다. enable은 다음 boot의 시작 관계를 만들고 start는 현재 session에서 process를 시작합니다. 둘 중 하나만 확인하면 재부팅 뒤 또는 현재 요청 처리에서 장애가 날 수 있습니다.

변경 작업은 “명령 성공”으로 끝나지 않습니다. 변경 전 version과 상태, 적용한 package와 configuration, 현재 상태, 대표 기능, log, 재부팅 또는 restart 이후 상태, rollback 위치를 한 묶음으로 남깁니다.

교육 사례에서 package는 설치되었지만 service가 설정 오류로 시작하지 못했습니다. 설치 성공과 실행 성공은 다른 검사입니다. systemctl status와 journal에서 최초 오류를 확인한 뒤 설정 검사 기능을 사용합니다. 설정이 맞아도 listen 주소가 localhost에만 묶여 있으면 외부 요청 가능 여부는 별도로 확인해야 합니다.

enable은 다음 부팅의 시작 연결을 설정하고 start는 지금 실행을 요청합니다. active 상태는 관리자가 보는 process 상태이며 API 응답의 의미까지 보장하지 않습니다. restart는 진행 중인 요청에 영향을 줄 수 있으므로 변경 창과 복구 방법을 준비합니다. reload 지원 여부도 service마다 다르므로 사용 전에 해당 unit과 프로그램 문서를 확인합니다.

package 설치·configuration·boot 자동 시작·현재 process·listen socket·대표 기능 여섯 층을 각각 명령과 통과 기준, 실패 증상으로 검증하는 표
그림 읽는 법 배지 1부터 6까지가 확인 순서입니다. 둘째 칸은 실행할 명령과 화면에 보이는 값이고, 셋째 칸은 그 층을 통과로 볼 기준, 넷째 칸은 그 층만 실패했을 때 나타나는 증상입니다. is-enabled는 다음 boot의 시작 연결을, is-active는 지금의 process를 보여 주므로 두 결과를 한 단어로 합치지 않습니다. ss -lntp에서 127.0.0.1:22만 보이면 서버 안에서는 되고 외부 요청은 실패하므로 listen 주소는 상태와 따로 읽습니다. 어느 층에서 멈추든 journal의 첫 오류와 변경 전 version을 근거로 그 지점에서 rollback 여부를 판단합니다. 마지막 초록 상자는 upgrade 전에 기록할 항목과 production에서 지킬 조건입니다. 표의 version·port·상태 문자열은 실습 명령에 맞춘 교육용 예시이며 실제 서버에서 얻은 값이 아닙니다.
왜 이런가
enable은 다음 부팅의 시작 연결을 설정하고 start는 지금 실행을 요청합니다. active 상태는 관리자가 보는 process 상태이며 API 응답의 의미까지 보장하지 않습니다. restart는 진행 중인 요청에 영향을 줄 수 있으므로 변경 창과 복구 방법을 준비합니다. reload 지원 여부도 service마다 다르므로 사용 전에 해당 unit과 프로그램 문서를 확인합니다.
언제 문제가 되는가
교육 사례에서 package는 설치되었지만 service가 설정 오류로 시작하지 못했습니다. 설치 성공과 실행 성공은 다른 검사입니다. systemctl status와 journal에서 최초 오류를 확인한 뒤 설정 검사 기능을 사용합니다. 설정이 맞아도 listen 주소가 localhost에만 묶여 있으면 외부 요청 가능 여부는 별도로 확인해야 합니다.
초보자가 자주 하는 오해
active 표시는 API의 정상 응답을 보장하지 않습니다. listen 주소·port와 대표 기능을 따로 확인합니다.
직접 확인하는 방법
실습 service를 설치하고 enable·start·log·재부팅 경계를 확인한다.
이 절을 정리하면service가 enabled이면서 active이고, 예상 port가 listen하며, 최근 log에 반복 재시작이나 치명 오류가 없어야 합니다. 실제 client 연결 시험까지 성공해야 기능 검증이 끝납니다.

CHAPTER 1 / 1

package와 service 상태를 분리해 확인합니다

격리 환경 재현용 명령 · 브라우저에서는 실행하지 않습니다
apt-cache policy openssh-server
systemctl is-enabled ssh
systemctl is-active ssh
systemctl status ssh --no-pager
journalctl -u ssh -n 30 --no-pager
ss -lntp

CONCRETE CASES

실습 service를 설치하고 enable·start·log·재부팅 경계를 확인한다.

교육 사례에서 package는 설치되었지만 service가 설정 오류로 시작하지 못했습니다. 설치 성공과 실행 성공은 다른 검사입니다. systemctl status와 journal에서 최초 오류를 확인한 뒤 설정 검사 기능을 사용합니다. 설정이 맞아도 listen 주소가 localhost에만 묶여 있으면 외부 요청 가능 여부는 별도로 확인해야 합니다.

잘못된 대응과 확인할 경계

service가 failed이면 무작정 restart를 반복하지 않습니다. `systemctl status`의 종료 원인과 `journalctl`의 첫 오류를 확인하고 configuration syntax, port 충돌, 권한, dependency 순으로 좁힙니다. 수정 뒤에는 같은 상태·기능 검사를 다시 실행합니다.

INTERACTIVE LAB 1 / 2

실습 1 · 출력에서 판정 근거 찾기

브라우저 안에서 값을 입력하고 실행 결과와 실패·복구 경로를 확인합니다. 실제 장비나 NAS에는 어떤 명령도 보내지 않습니다.

실습 service를 설치하고 enable·start·log·재부팅 경계를 확인한다.

package candidate와 installed version, boot 자동 시작 여부, 현재 active 상태, 최근 log와 listen port가 각각 표시됩니다. 하나가 정상이어도 다른 층이 실패할 수 있으므로 결과를 합쳐 한 단어로 줄이지 않습니다.

INTERACTIVE LAB 2 / 2

실습 2 · 중단과 복구 계획 세우기

브라우저 안에서 값을 입력하고 실행 결과와 실패·복구 경로를 확인합니다. 실제 장비나 NAS에는 어떤 명령도 보내지 않습니다.

KEY TERMS

이번 단원 핵심 용어

Service(서비스 process 관리 단위)
systemd가 시작·종료·재시작과 의존성을 관리하는 실행 단위입니다.

UNIT WORKBOOK

개념을 새로운 상황에 적용하는 문제와 기록지

기본 원리 확인에서 시작해 실제 업무 판단으로 확장합니다. 답을 제출하면 정답만이 아니라 모든 선택지가 맞거나 틀린 이유를 확인할 수 있습니다.

상태·기능·log·재부팅 후 동작을 검증하고 rollback 여부를 보고할 수 있다.

PERSONAL WORKSHEET

내 환경에 옮겨 적는 학습 기록지

입력 내용은 현재 브라우저 화면에만 머물며 저장하거나 외부로 전송하지 않습니다. 민감한 실제 정보 대신 범주와 가명을 사용하십시오.

OFFICIAL SOURCES

공식 자료에서 다시 확인하기

Ubuntu 24.04 문서와 교육용 판독 예시. 현재 장비 상태와 별도 실장비 시험은 미확인입니다.

CORE UNIT 5 / 5

네트워크·저장장치·진단

interface·주소·route·DNS·port와 block device·filesystem·mount를 계층별 증거로 확인하고 장애 범위를 좁힙니다.

난이도
입문
구성
강의 1개 · 실습 2개 · 평가

도해·표 자료: 각 강의의 공식 1차 출처를 바탕으로 저자 구성. 원문과 검토일은 해당 강의 끝에서 확인합니다.

PREREQUISITE CHECK

본문을 읽기 전에 확인할 세 가지

정답을 외우는 시험이 아닙니다. 질문을 먼저 생각한 뒤 해설을 열어 이번 과목에서 사용할 바탕 개념을 확인하십시오.

1이 실습에서 실제 운영 서버를 변경합니까?

브라우저에서 예제를 읽고 판단합니다. 명령을 따로 재현하려면 승인된 격리 VM과 snapshot을 준비합니다.

2작업 대상이 기록과 다르면 어떻게 합니까?

변경을 멈추고 대상 identity와 권한을 확인합니다. 모르는 값은 미확인으로 적습니다.

3이 단원을 읽기 전에 확인할 바탕 지식은 무엇입니까?

sudo · systemd 상태와 log · 파일 권한

TEXTBOOK GUIDE

개념의 배경부터 판단 기준까지 읽는 본문

IT를 처음 접하는 독자도 용어를 암기하지 않고 원인과 결과를 연결할 수 있도록 한 절씩 이어서 설명합니다.

  1. interface·주소·route·DNS·port의 증거를 순서대로 수집할 수 있다.
  2. block device와 filesystem을 구분하고 UUID로 영구 mount를 설계할 수 있다.
  3. 실패 증상에서 가설을 좁히고 중단·복구·escalation 결과를 보고할 수 있다.
네트워크·저장장치·진단 실습 환경과 안전 경계
하드웨어network interface 1개 이상 · 추가 실습 disk 1개 또는 loop device
소프트웨어iproute2 · Netplan · util-linux · systemd
필요 권한network와 mount 설정을 변경할 sudo 권한
네트워크문서용 주소 대역 또는 격리된 실습 network

Ubuntu 24.04 문서와 교육용 판독 예시. 현재 장비 상태와 별도 실장비 시험은 미확인입니다.

적용 버전: Ubuntu Server 24.04 LTS · Netplan 1.0 계열 · 원고 검토일: 2026-08-31

CONCEPT FLOW

각 장은 이렇게 연결됩니다

각 장은 따로 외우는 단답이 아닙니다. 왼쪽에서 오른쪽으로 따라가며 앞 장의 개념이 다음 판단에 어떻게 쓰이는지 먼저 살펴보세요.

  1. 1장읽기 전용 증거부터 수집합니다
네트워크·저장장치·진단의 전체 지도입니다. 아래 장문 해설과 각 장을 읽다가 길을 잃으면 이 순서로 돌아오세요.

CONTROLLED EXPLANATION

확인할 증거를 한 단계씩 따라갑니다

현재 설명 · 1/1 · 읽기 전용 증거부터 수집합니다

다음 연결: 구체 사례와 실습에서 판단을 확인합니다.

  1. 읽기 전용 증거부터 수집합니다

    사례: /data가 가득 찼다는 신고를 받았습니다. 다음 출력은 교육용으로 구성했으며 실제 장비에서 수집한 로그가 아닙니다. /data 디렉터리가 이미 있는 조건에서 findmnt -T /data로 그 경로를 포함하는 filesystem을 확인합니다.

개념 해설 01

interface·주소·route·DNS·port와 block device·filesystem·mount를 계층별 증거로 확인하고 장애 범위를 좁힙니다.

Mount point(마운트 지점): filesystem을 현재 디렉터리 tree의 특정 경로에 연결한 위치입니다.

“서버에 접속되지 않는다”는 하나의 원인이 아닙니다. interface link, IP address, route, DNS, remote port와 application 상태는 서로 다른 층입니다. 이름 해석이 실패했는데 firewall을 먼저 바꾸면 증거를 잃고 새로운 장애를 만들 수 있습니다.

storage도 disk가 보이는 것, partition과 filesystem이 있는 것, mount된 것, application이 쓸 수 있는 것이 각각 다릅니다. /dev/sdb 같은 이름은 연결 순서에 따라 바뀔 수 있으므로 영구 mount에는 UUID 같은 안정적인 identity를 사용합니다.

원인까지 확인된 교육 사례에서는 /data의 용량 부족 신고 뒤 작업서·이전 기준선·mount 설정을 대조해 원격 volume의 mount가 풀린 것을 확인했습니다. 아래 실습은 그 결론을 모르는 최초 진단 단계에서 시작합니다. 디렉터리 이름이 같아도 실제 저장 장치는 달라질 수 있습니다. findmnt로 대상 경로의 source를 확인한 뒤 df와 du의 범위를 맞춥니다. 원인을 확인하기 전 파일을 삭제하면 다른 filesystem의 데이터를 지울 위험이 있습니다.

network 진단도 이름·주소·route·port를 한 덩어리로 보지 않습니다. 이름 해석 성공은 연결 성공이 아니며 ping 성공은 application port의 응답을 보장하지 않습니다. 각 조회는 배제할 가설을 하나씩 정해 수행합니다. 결과가 서로 어긋나면 먼저 대상과 시각이 같은지 확인하고 설정 변경은 그 다음에 검토합니다.

network를 link·address·route·DNS·listen port 다섯 칸으로, storage를 block device·UUID·mount·사용량 네 칸으로 나눠 칸마다 명령과 보이는 값, 멈추는 조건을 적은 두 lane 진단 도표
그림 읽는 법 위 lane은 network를 link에서 listen port까지, 아래 lane은 storage를 block device에서 사용량까지 왼쪽에서 오른쪽으로 읽습니다. 각 칸에는 실행할 명령, 보이는 값의 예, 그리고 여기서 멈추어야 하는 조건이 함께 있습니다. 앞 칸의 증거가 없으면 뒤 칸의 설정을 바꾸지 않습니다. 이름 해석 성공은 연결 성공이 아니고 ping 성공은 listen port의 응답을 보장하지 않으므로, DNS 칸과 port 칸은 각각 다른 가설을 배제합니다. storage lane에서는 /data 경로 이름만으로 저장 장치를 판단하지 않습니다. findmnt -T /data로 경로를 포함하는 filesystem을 확인하고, 별도 volume이 의도된 구성인지는 작업서와 이전 기준선으로 대조합니다. 이 확인과 df·du의 범위 대조 전에 파일을 지우지 않습니다. 두 lane이 모두 정상이어도 마지막 application 읽기·쓰기나 실제 client 요청이 실패하면 service 상태와 권한 층을 별도로 조사합니다. 마지막 호박색 상자는 netplan apply와 filesystem 생성처럼 먼저 멈추어야 하는 명령을 정리한 것입니다. 도표의 interface 이름·주소·UUID·사용량은 원고의 교육용 예시입니다.
왜 이런가
경로 이름은 저장 장치를 보장하지 않고 DNS 응답은 port 연결을 보장하지 않습니다. 실패한 기능에 가장 가까운 관찰값부터 앞뒤 층을 대조하십시오.
언제 문제가 되는가
별도 volume이 빠진 /data에 쓰면 root filesystem을 채울 수 있습니다. 파일 삭제보다 먼저 해당 경로가 실제로 어느 mount에 속하는지 확인하십시오.
초보자가 자주 하는 오해
원격 SSH session에서 `netplan apply`를 바로 실행하면 접속을 잃을 수 있습니다. 원격 network 변경은 console 접근과 rollback 계획을 확보한 뒤 `netplan try`처럼 시간 제한 복구가 가능한 절차를 우선합니다. filesystem 생성 명령은 대상 disk의 기존 data를 파괴할 수 있으므로 이 단원의 자동 실습에서는 실행하지 않습니다.
직접 확인하는 방법
읽기 전용 증거부터 수집해 network 또는 storage 장애 범위를 좁히고 안전하게 복구한다.
이 절을 정리하면학습자는 실패가 시작되는 첫 층을 지목하고 그 위·아래 층의 증거를 구분해야 합니다. 변경이 필요하면 적용 전 configuration backup, 자동 rollback 또는 console 접근 경로와 중단 기준을 먼저 제시해야 합니다.

CHAPTER 1 / 1

읽기 전용 증거부터 수집합니다

격리 환경 재현용 명령 · 브라우저에서는 실행하지 않습니다
ip -brief link
ip -brief address
ip route
resolvectl status
ss -lntp
lsblk -f
findmnt --real
df -hT
격리 환경 재현용 명령 · 브라우저에서는 실행하지 않습니다
findmnt -T /data
df -hT /data
교육용 예상 출력 · 실제 측정값 아님
TARGET SOURCE    FSTYPE OPTIONS
/      /dev/vda2 ext4   rw,relatime

Filesystem     Type  Size  Used Avail Use% Mounted on
/dev/vda2      ext4   99G   94G    5G  95% /

CONCRETE CASES

읽기 전용 증거부터 수집해 network 또는 storage 장애 범위를 좁히고 안전하게 복구한다.

원인까지 확인된 교육 사례에서는 /data의 용량 부족 신고 뒤 작업서·이전 기준선·mount 설정을 대조해 원격 volume의 mount가 풀린 것을 확인했습니다. 아래 실습은 그 결론을 모르는 최초 진단 단계에서 시작합니다. 디렉터리 이름이 같아도 실제 저장 장치는 달라질 수 있습니다. findmnt로 대상 경로의 source를 확인한 뒤 df와 du의 범위를 맞춥니다. 원인을 확인하기 전 파일을 삭제하면 다른 filesystem의 데이터를 지울 위험이 있습니다.

잘못된 대응과 확인할 경계

원격 SSH session에서 `netplan apply`를 바로 실행하면 접속을 잃을 수 있습니다. 원격 network 변경은 console 접근과 rollback 계획을 확보한 뒤 `netplan try`처럼 시간 제한 복구가 가능한 절차를 우선합니다. filesystem 생성 명령은 대상 disk의 기존 data를 파괴할 수 있으므로 이 단원의 자동 실습에서는 실행하지 않습니다.

별도 volume이 의도된 구성으로 확인되면 쓰기 작업을 승인된 절차로 멈추고, /data에 쌓인 기존 파일의 보존 위치를 먼저 정합니다. 그 위에 volume을 바로 mount하면 기존 파일이 가려질 수 있습니다. 담당자 승인과 보존 확인 뒤 mount를 복구하고, 같은 findmnt·df 조회 및 application의 읽기·쓰기를 재검증하십시오. IP는 있지만 이름만 실패하면 DNS 설정과 resolver log를 확인합니다. port가 listen하지 않으면 network보다 service 상태를 확인합니다. UUID가 맞지만 mount가 실패하면 filesystem type, option, mountpoint 권한과 `journalctl`의 mount unit 오류를 확인합니다. 수정 뒤에는 최초 실패와 같은 client·경로·입력으로 재검증합니다.

INTERACTIVE LAB 1 / 2

실습 1 · 출력에서 판정 근거 찾기

브라우저 안에서 값을 입력하고 실행 결과와 실패·복구 경로를 확인합니다. 실제 장비나 NAS에는 어떤 명령도 보내지 않습니다.

사례: /data가 가득 찼다는 신고를 받았습니다. 다음 출력은 교육용으로 구성했으며 실제 장비에서 수집한 로그가 아닙니다. /data 디렉터리가 이미 있는 조건에서 findmnt -T /data로 그 경로를 포함하는 filesystem을 확인합니다.

TARGET SOURCE    FSTYPE OPTIONS
/      /dev/vda2 ext4   rw,relatime

Filesystem     Type  Size  Used Avail Use% Mounted on
/dev/vda2      ext4   99G   94G    5G  95% /

network는 link→address→route→DNS→listen port 순서로, storage는 block device→filesystem UUID→mount target→사용량 순서로 증거가 나옵니다. 각 명령 결과를 시간과 host identity와 함께 보존합니다.

INTERACTIVE LAB 2 / 2

실습 2 · 중단과 복구 계획 세우기

브라우저 안에서 값을 입력하고 실행 결과와 실패·복구 경로를 확인합니다. 실제 장비나 NAS에는 어떤 명령도 보내지 않습니다.

원격 SSH session에서 netplan apply를 바로 실행하면 접속을 잃을 수 있습니다. 원격 network 변경은 console 접근과 rollback 계획을 확보한 뒤 netplan try처럼 시간 제한 복구가 가능한 절차를 우선합니다. filesystem 생성 명령은 대상 disk의 기존 data를 파괴할 수 있으므로 이 단원의 자동 실습에서는 실행하지 않습니다.

KEY TERMS

이번 단원 핵심 용어

Mount point(마운트 지점)
filesystem을 현재 디렉터리 tree의 특정 경로에 연결한 위치입니다.

UNIT WORKBOOK

개념을 새로운 상황에 적용하는 문제와 기록지

기본 원리 확인에서 시작해 실제 업무 판단으로 확장합니다. 답을 제출하면 정답만이 아니라 모든 선택지가 맞거나 틀린 이유를 확인할 수 있습니다.

실패 증상에서 가설을 좁히고 중단·복구·escalation 결과를 보고할 수 있다.

PERSONAL WORKSHEET

내 환경에 옮겨 적는 학습 기록지

입력 내용은 현재 브라우저 화면에만 머물며 저장하거나 외부로 전송하지 않습니다. 민감한 실제 정보 대신 범주와 가명을 사용하십시오.

OFFICIAL SOURCES

공식 자료에서 다시 확인하기

Ubuntu 24.04 문서와 교육용 판독 예시. 현재 장비 상태와 별도 실장비 시험은 미확인입니다.

DECISION ACTIVITY

설치 직전 disk 목록이 작업서와 다릅니다. 어떤 행동을 선택합니까?

먼저 필요한 증거와 중단 기준을 적은 뒤 판단을 선택하십시오.

답 선택

THREE-LEVEL ASSESSMENT

기본 원리에서 운영 판단까지

답을 제출하면 모든 선택지가 맞거나 틀린 이유를 확인할 수 있습니다.

기본 문제 1

상대 경로를 해석하는 기준은 무엇입니까?

답 선택
적용 문제 2

service가 active인데 접속이 안 됩니다. 다음 증거는?

답 선택
종합 문제 3

disk 사용률 경보가 났습니다. 안전한 진단 순서는?

답 선택

LEARNING RECORD

본문·판단 활동·모든 해설을 확인했나요?

완료 기록은 이 브라우저에만 저장됩니다.