명령어/Linux

[RHEL] ksflatten 분할된 킥스타트를 한 파일로 병합

jykim23 2026. 8. 5. 23:33
반응형

부제: %include로 나뉜 킥스타트 조각을 하나의 완성본으로 펼친다

ksflatten -c main.cfg -v RHEL9 -o flat.cfg   # include 병합해 파일로 저장
ksflatten -c main.cfg -v RHEL9               # 병합 결과를 표준출력으로
ksflatten --help                             # 옵션 확인
# Generated by pykickstart v3.32
#version=RHEL9
# Keyboard layouts
keyboard 'us'
# System language
lang en_US.UTF-8
# Root password
rootpw --plaintext changeme
autopart
# Partition clearing information
clearpart --all --initlabel

%packages
@core

%end

ksflatten도 pykickstart에 들어 있는 도구로, %include로 여러 파일에 쪼개 둔 킥스타트를 하나로 펼쳐(flatten) 완성본을 만든다. 공통 파티션 설정, 패키지 목록, %post 스크립트를 조각 파일로 관리하다가 배포 직전에 한 덩어리로 합칠 때 쓴다.
출력 맨 위에 # Generated by pykickstart#version= 주석을 붙여 어느 문법으로 해석했는지 남긴다. -c로 입력 파일, -v로 문법 버전, -o로 저장 경로를 준다. 나뉜 파일은 사람이 관리하기 편하지만 PXE 서버나 설치 미디어에는 자기완결적인 단일 파일을 얹는 편이 안전해서, 그 변환을 담당한다.

이렇게도 쓴다

병합 결과를 파일로 저장하지 않고 화면에서 바로 확인한다.

ksflatten -c main.cfg -v RHEL9

 

펼친 결과를 저장하는 동시에 화면으로도 흘려 본다(조합용).

ksflatten -c main.cfg -v RHEL9 | tee flat.cfg

 

펼친 뒤 곧바로 문법까지 검증해 배포 전 최종 확인을 한 줄로 끝낸다.

ksflatten -c main.cfg -v RHEL9 -o flat.cfg && ksvalidator -v RHEL9 flat.cfg

 

병합 전후 줄 수를 비교해 include가 제대로 펼쳐졌는지 가늠한다.

wc -l main.cfg flat.cfg

 

날짜를 붙인 이름으로 펼쳐 배포 이력을 남긴다.

ksflatten -c main.cfg -v RHEL9 -o ks-$(date +%F).cfg
반응형