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.

분해:

칸요구사항
hostnode-2
targetexisting webcheck service
actionrun as monitor, enable, failure restart
constraintsvendor unit 교체 금지; drop-in과 최소 변경 검토
persistence현재 적용과 boot activation
verificationeffective 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 모두 커졌는가
mountVFS에 filesystem 연결source, target, options, persistence
allow / permit지정 traffic·사용자 허용허용 범위와 기존 deny 정책
deny / reject / drop접근 차단응답 방식과 rule 순서
redirect목적 port·address 변경local redirect인지 DNAT인지
forwardpacket을 다른 interface로 전달kernel forwarding과 filter 모두
synchronizetime 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 bootboot 과정에서 활성화현재 start와 혼동
after reboot재부팅 뒤에도 상태 유지영구 설정과 activation 누락
for the current session현재 session만system-wide file을 불필요하게 수정
for all userssystem-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 extentsbyte가 아니라 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 socket
  • allow port 8080: filter/firewall policy
  • redirect port 80 to 8080: destination translation
  • forward 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 usermodman 5 passwd, man 5 group
ACLman 1 setfaclman 5 acl, getfacl
systemd serviceman 5 systemd.servicesystemd.unit, systemd.exec
kernel parameterman 8 sysctlman 5 sysctl.d
recurring jobman 5 crontabman 8 cron 또는 crond
LVMman lvmpvcreate, vgcreate, lvcreate, lvextend
persistent mountman 5 fstabmount, findmnt
autofsman 5 auto.masterautofs, map 형식
address·routeman 8 ip-address, ip-route사용 중인 network manager 문서
SSH serverman 5 sshd_configsshd -t, sshd -T
nftablesman 8 nftinstalled examples, ruleset listing
SELinux contextman 8 semanage-fcontextrestorecon, ausearch
containerengine의 --helprun, create, inspect, logs 하위 help
libvirtman 1 virshvirt-install --help, libvirt XML docs

배포판에 따라 man page package가 별도로 필요하거나 이름이 다를 수 있다. 없는 command를 전제로 답을 쓰지 말고 command -v, package database와 설치된 문서를 확인한다.

10. 네 단계 힌트 체계

연습 문서에서 막힐 때 정답 전체를 바로 보지 않고 다음 순서로 도움을 제한한다.

  1. 영역 힌트: 어떤 subsystem인지 확인한다.
  2. 문서 힌트: 시작할 man page·기존 설정 위치만 본다.
  3. 흐름 힌트: 현재 상태 → 변경 → 적용 → 검증 순서만 본다.
  4. 풀이: 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.
분해 기준
  1. 기존 LV와 XFS가 대상이다. 최종 크기가 아니라 by 512 MiB만큼 증가하며 mount point 보존과 online filesystem grow가 조건이다.
  2. 기존·신규 파일을 구분한다. newly created는 default ACL 같은 미래 객체 정책이며 read와 write의 negative test가 모두 필요하다.
  3. SSH server 설정, root login 차단, 문법 검사 선행, 기존 access 보존이 각각 독립된 조건이다.
  4. 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는 값을 바꾼 변형 문제로 다시 푼다.

참고 자료