LFCS 영문 요구사항과 로컬 문서 찾기
영문 task를 최종 상태로 분해하고 man page, help, 기존 설정과 배포판 문서에서 해결 방법을 찾는 기준
LFCS task를 단어별로 번역하는 것보다 요구된 최종 상태, 제약, 영속성, 검증을 정확히 뽑는 것이 중요하다. 이 문서는 외울 답안이 아니라 시험 환경에 설치된 문서에서 답을 찾는 방법을 정리한다.
작성·검증 상태: AI 보조 초안이다. 허용 자료의 경계는 2026-08-13 Linux Foundation 공식 시험 지침을 기준으로 대조했다.
시험 중 참고 자료의 경계
2026-08-13에 확인한 Linux Foundation 공식 LFCS 안내는 시험 환경의 terminal에서 접근하는 다음 자료를 허용한다.
- man page
/usr/share와 그 하위의 배포판 설치 문서- 배포판에 포함된 package와 그 package의 문서
개인 Docs, 개인 노트, 강의 교재와 허용되지 않은 외부 자료를 시험 중 사용할 수 있다고 가정하지 않는다. 정책은 바뀔 수 있으므로 응시 직전 공식 시험 지침을 다시 확인한다.
1. 문장을 여섯 칸으로 분해한다
문제를 읽고 command를 떠올리기 전에 다음 표를 채운다.
| 항목 | 질문 | 예시 |
|---|---|---|
| host | 어느 시스템에서 작업하는가? | node-2, the client |
| target | 무엇을 바꾸는가? | user, LV, service, route |
| action | 어떤 상태로 만드는가? | create, extend, enable, deny |
| constraints | 이름·크기·사용자·경로·기존 상태 조건은? | 1 GiB, without changing... |
| persistence | 지금과 재적용·부팅 뒤 중 어디까지 필요한가? | immediately, persistently |
| verification | 완료를 무엇으로 증명하는가? | 실제 mount, client request, new login |
예시 문장:
On node-2, configure the existing service webcheck to run as account monitor,
start automatically at boot, and restart only when it exits unsuccessfully.
Do not replace the vendor unit file.
분해:
| 칸 | 요구사항 |
|---|---|
| host | node-2 |
| target | existing webcheck service |
| action | run as monitor, enable, failure restart |
| constraints | vendor unit 교체 금지; drop-in과 최소 변경 검토 |
| persistence | 현재 적용과 boot activation |
| verification | effective unit, user, active·enabled, 실패 후 재시작 |
2. 자주 쓰이는 동작 동사
| 표현 | 요구되는 결과 | 확인할 점 |
|---|---|---|
create | 없던 객체 생성 | 이름·owner·mode·초기값 |
configure | 지정 상태로 설정 | 현재값과 영구 저장 위치 |
set | 특정 값 지정 | 단위, 범위, runtime·persistent |
add | 기존 상태에 항목 추가 | 기존 항목을 덮어쓰지 않는가 |
remove | 지정 항목만 제거 | 다른 객체·규칙 보존 |
enable | 일반적으로 boot activation | 현재 실행까지 요구하는지 별도 확인 |
start | 현재 실행 | boot 후 자동 시작을 의미하지 않음 |
reload | 설정을 다시 읽도록 요청 | unsupported면 restart가 필요한지 확인 |
restart | 중지 후 다시 시작 | 연결 중단과 실패 상태 영향 |
extend | 크기 증가 | container와 filesystem 모두 커졌는가 |
mount | VFS에 filesystem 연결 | source, target, options, persistence |
allow / permit | 지정 traffic·사용자 허용 | 허용 범위와 기존 deny 정책 |
deny / reject / drop | 접근 차단 | 응답 방식과 rule 순서 |
redirect | 목적 port·address 변경 | local redirect인지 DNAT인지 |
forward | packet을 다른 interface로 전달 | kernel forwarding과 filter 모두 |
synchronize | time source와 동기화 | service 실행과 실제 sync 상태 |
troubleshoot | 원인을 찾아 요구 상태 복구 | 증상만 숨기지 않고 근거 남기기 |
recover | 실패 상태에서 정상 상태 복원 | data 손실·부팅 가능성·검증 |
ensure | 해당 상태임을 보장 | 조회만 하지 말고 필요하면 변경 |
verify | 결과를 증명 | 설정 파일 외 실제 동작까지 확인 |
enable과 start, format과 mount, LV extend와 filesystem grow처럼 비슷해 보이지만 서로 다른 상태를 만드는 동사를 합치지 않는다.
3. 영속성과 시간 범위
| 표현 | 의미 | 흔한 누락 |
|---|---|---|
immediately, now | 현재 running system에 적용 | 설정 파일만 작성하고 적용하지 않음 |
persistently | 재부팅·재적용 뒤 유지 | runtime command만 실행 |
at boot | boot 과정에서 활성화 | 현재 start와 혼동 |
after reboot | 재부팅 뒤에도 상태 유지 | 영구 설정과 activation 누락 |
for the current session | 현재 session만 | system-wide file을 불필요하게 수정 |
for all users | system-wide 범위 | 특정 사용자의 dotfile만 수정 |
for newly created files | 미래 객체에 적용 | 기존 객체에만 chmod·ACL 적용 |
on demand | 요청 시 생성·mount·start | 항상 mount된 상태로 구성 |
문제에 persistently가 없어도 설정 종류상 영구 상태가 자연스러운 경우가 있다. 반대로 명시적으로 runtime만 요구하는 문제에 영구 파일까지 변경하면 부수 효과가 된다. 문장의 범위를 우선한다.
4. 보존과 금지 조건
| 표현 | 행동 기준 |
|---|---|
without modifying existing ... | 조회 후 추가·drop-in·별도 파일을 우선 |
do not change ... | 해당 객체는 read-only 기준 상태로 취급 |
only | 범위를 확대하지 말고 지정 대상만 변경 |
existing | 삭제·재생성보다 수정 command 사용 |
using the provided ... | 다른 disk·NIC·file을 대신 사용하지 않음 |
must not | 완료 조건과 같은 수준으로 검증 |
unless otherwise specified | 기본 정책을 먼저 확인하고 예외만 적용 |
예를 들어 “기존 supplementary groups를 유지”해야 한다면 usermod -G로 전체 목록을 교체하는 대신 append 방식이 필요한지 확인한다. “vendor unit을 변경하지 말라”면 /usr/lib/systemd/system의 unit을 직접 고치지 않고 /etc/systemd/system/...d/*.conf drop-in을 검토한다.
5. 수량·단위와 비교 표현
| 표현 | 해석 주의 |
|---|---|
at least | 이상, 경계값 포함 |
at most / no more than | 이하, 경계값 포함 |
more than | 초과 |
less than | 미만 |
exactly | 정확히 해당 값 |
additional 1 GiB | 기존 값에 1 GiB 추가 |
to 1 GiB | 최종 크기를 1 GiB로 |
by 1 GiB | 현재 크기에서 1 GiB만큼 증가 |
50% of the free extents | byte가 아니라 VG free extent 기준일 수 있음 |
GB와 GiB, sector·block·extent의 단위가 다를 수 있다. command의 --help에서 인자 형식과 대문자·소문자를 확인하고 적용 전후 값을 같은 단위로 비교한다.
6. host와 방향을 놓치지 않는다
네트워크·원격 filesystem 문제는 server/client, source/destination, local/remote 방향을 먼저 표시한다.
client ── request ──> reverse proxy ──> backend
source ── route/NAT ──> destination
NFS server export ── mount ──> NFS client path
SSH client key ── authentication ──> SSH server account
다음 표현은 서로 다르다.
listen on port 8080: local service socketallow port 8080: filter/firewall policyredirect port 80 to 8080: destination translationforward traffic to 192.0.2.20: routing·DNAT 가능성
작업 시작과 종료 때 hostname, ip -brief address, pwd를 확인하면 잘못된 node에서 정답을 만드는 실수를 줄일 수 있다.
7. man page에서 찾는 순서
command 이름을 모를 때
man -k 'logical volume'
apropos -s 8 'packet filter'
apropos 'access control list'
command는 알지만 option을 모를 때
command --help
man command
man 안에서:
/keyword 아래 방향 검색
n 다음 결과
N 이전 결과
g 첫 줄
G 마지막 줄
q 종료
설정 파일 형식을 모를 때
설정 파일은 일반적으로 section 5를 먼저 확인한다.
man 5 fstab
man 5 sshd_config
man 5 crontab
man 5 systemd.unit
systemd directive가 어느 page에 있는지 모르면:
man 7 systemd.directives
man -K 'RestartSec='
man -K는 모든 man page 본문을 검색하므로 느릴 수 있다. directive index, man -k, 기존 unit을 먼저 사용한다.
8. 기존 설정과 package 문서 활용
깨끗한 예제를 처음부터 기억하지 못해도 설치된 working configuration이 가장 가까운 template가 될 수 있다.
systemctl cat sshd.service
systemctl show sshd.service -p FragmentPath -p DropInPaths
sshd -T | less
nginx -T 2>/dev/null | less
package가 설치한 파일:
rpm -ql package-name
dpkg -L package-name
find /usr/share/doc -maxdepth 2 -iname '*keyword*' -print
sample을 복사한 뒤에는 현재 version의 문법인지 전용 검사 command로 확인한다.
systemd-analyze verify /etc/systemd/system/example.service
sshd -t
nginx -t
haproxy -c -f /etc/haproxy/haproxy.cfg
nft -c -f /etc/nftables.conf
findmnt --verify
9. 작업 종류별 출발 man page
| 작업 | 첫 command·page | 다음 확인 |
|---|---|---|
| user 수정 | man 8 usermod | man 5 passwd, man 5 group |
| ACL | man 1 setfacl | man 5 acl, getfacl |
| systemd service | man 5 systemd.service | systemd.unit, systemd.exec |
| kernel parameter | man 8 sysctl | man 5 sysctl.d |
| recurring job | man 5 crontab | man 8 cron 또는 crond |
| LVM | man lvm | pvcreate, vgcreate, lvcreate, lvextend |
| persistent mount | man 5 fstab | mount, findmnt |
| autofs | man 5 auto.master | autofs, map 형식 |
| address·route | man 8 ip-address, ip-route | 사용 중인 network manager 문서 |
| SSH server | man 5 sshd_config | sshd -t, sshd -T |
| nftables | man 8 nft | installed examples, ruleset listing |
| SELinux context | man 8 semanage-fcontext | restorecon, ausearch |
| container | engine의 --help | run, create, inspect, logs 하위 help |
| libvirt | man 1 virsh | virt-install --help, libvirt XML docs |
배포판에 따라 man page package가 별도로 필요하거나 이름이 다를 수 있다. 없는 command를 전제로 답을 쓰지 말고 command -v, package database와 설치된 문서를 확인한다.
10. 네 단계 힌트 체계
연습 문서에서 막힐 때 정답 전체를 바로 보지 않고 다음 순서로 도움을 제한한다.
- 영역 힌트: 어떤 subsystem인지 확인한다.
- 문서 힌트: 시작할 man page·기존 설정 위치만 본다.
- 흐름 힌트:
현재 상태 → 변경 → 적용 → 검증순서만 본다. - 풀이: command와 설정 예시를 확인한다.
풀이를 본 문제는 완료로 세지 않는다. 환경을 초기화한 뒤 같은 요구를 다른 이름·크기로 바꿔 다시 수행한다.
11. 제한시간 안의 탐색 루틴
0~1분 host·target·action·constraints·persistence·verification 표시
1~2분 현재 상태와 설치 command 확인
2~4분 --help, man -k, 기존 설정에서 출발점 찾기
4분 시작 경로가 없으면 문제 표시 후 다음 task
마지막 검산 상태·동작·영속성·부수 효과 확인
한 task에서 man page 전체를 읽는 것은 탐색이 아니라 정체에 가깝다. keyword를 좁혀 필요한 directive와 option만 확인한다.
연습 문장
각 문장을 여섯 칸으로 직접 분해한다.
1. Extend the existing logical volume data by 512 MiB and grow its XFS
filesystem online without changing its current mount point.
2. Ensure that newly created files under /srv/team are readable by auditor,
while auditor must not be able to modify them.
3. Configure the SSH server to disallow direct root login. Validate the
configuration before reloading the service and preserve existing access.
4. Redirect local TCP connections arriving at port 8080 to the service
listening on port 80, immediately and persistently.
분해 기준
- 기존 LV와 XFS가 대상이다. 최종 크기가 아니라
by 512 MiB만큼 증가하며 mount point 보존과 online filesystem grow가 조건이다. - 기존·신규 파일을 구분한다.
newly created는 default ACL 같은 미래 객체 정책이며 read와 write의 negative test가 모두 필요하다. - SSH server 설정, root login 차단, 문법 검사 선행, 기존 access 보존이 각각 독립된 조건이다.
- local TCP redirect이고 runtime·persistent가 모두 필요하다. service 자체의 listening port와 firewall/NAT rule을 혼동하지 않는다.
완료 기준
- 영문 task에서 host·target·action·constraints·persistence·verification을 1분 안에 표시한다.
-
enable과start,by와to,runtime과persistent를 구분한다. - command를 모를 때
man -k에서 후보를 찾고 section별 page로 이동한다. - 설정 형식을 기존 working configuration과 section 5 man page에서 찾는다.
- 정답을 본 task는 값을 바꾼 변형 문제로 다시 푼다.