ComfyUI 모델 심볼릭 링크 설정 가이드
2026년 4월 26일업데이트 2026년 9월 7일약 3분
작성 DevSnack Lab원문·측정 조건·검수 범위는 본문에 기록
48이미지 생성튜토리얼ComfyUI
SEO meta description: DGX Spark에 ComfyUI 설치하고 Krea 2 모델로 이미지 생성하는 방법. UNETLoader 설정, NVFP4 모델 활용법.
스크립트를 소개합니다.
※ 이 글은 설명을 돕기 위한 실제 터미널 출력 화면과 설정 파일 예시를 포함하고 있습니다. 곧 스크린샷도 추가할 예정입니다.
개요
ComfyUI에서 사용하는 모델 파일(checkpoint, LoRA, VAE 등)은 용량이 매우 큽니다. 모델을 한 곳에 모아두고 심볼릭 링크(Symbolic Link)로 연결하면 디스크 공간을 절약하면서 여러 환경에서 동일한 모델을 공유할 수 있습니다.
이 글에서는 /srv/ai/models에 보관된 모델 파일들을 /home/user/ComfyUI/models로 심볼릭 링크하는
▲ Comfyui Terminal
디렉토리 구조
| 경로 | 역할 |
|---|---|
/srv/ai/models | 실제 모델 파일이 저장된 원본 디렉토리 |
/home/user/ComfyUI/models | ComfyUI가 읽는 디렉토리 (여기에 심볼릭 링크 생성) |
스크립트
아래 스크립트는 3단계로 동작합니다. 먼저 ComfyUI 표준 디렉토리(checkpoints, loras, vae 등)를 링크하고, 소스에 추가 디렉토리가 있으면 자동으로 링크하며, 루트에 개별 파일이 있는 경우도 처리합니다.
#!/bin/bash
# ============================================================
# ComfyUI 모델 심볼릭 링크 스크립트
# 소스: /srv/ai/models
# 대상: /home/user/ComfyUI/models
# ============================================================
SRC="/srv/ai/models"
DST="/home/user/ComfyUI/models"
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
RED='\033[0;31m'
NC='\033[0m'
MODEL_DIRS=(
"checkpoints"
"clip"
"clip_vision"
"controlnet"
"diffusers"
"diffusion_models"
"embeddings"
"gligen"
"hypernetworks"
"ipadapter"
"loras"
"style_models"
"unet"
"upscale_models"
"vae"
"vae_approx"
"photomaker"
"insightface"
"ultralytics"
"sams"
"grounding-dino"
"blip"
"LLM"
"Joy_caption"
"instantid"
"pulid"
"reactor"
"facerestore_models"
"facedetection"
"mmdets"
"onnx"
"text_encoders"
)
echo "============================================================"
echo " ComfyUI 모델 심볼릭 링크 설정"
echo " 소스: $SRC"
echo " 대상: $DST"
echo "============================================================"
echo ""
if [ ! -d "$SRC" ]; then
echo -e "${RED}[오류] 소스 디렉토리가 존재하지 않습니다: $SRC${NC}"
exit 1
fi
if [ ! -d "$DST" ]; then
echo -e "${RED}[오류] 대상 디렉토리가 존재하지 않습니다: $DST${NC}"
exit 1
fi
linked=0
skipped=0
not_found=0
echo "▶ 정의된 디렉토리 목록 기반으로 링크 생성..."
echo ""
for dir in "${MODEL_DIRS[@]}"; do
src_path="$SRC/$dir"
dst_path="$DST/$dir"
if [ ! -d "$src_path" ]; then
echo -e " ${YELLOW}[없음]${NC} $dir (소스에 디렉토리 없음, 건너뜀)"
((not_found++))
continue
fi
if [ -L "$dst_path" ]; then
echo -e " ${YELLOW}[스킵]${NC} $dir (이미 심볼릭 링크)"
((skipped++))
continue
fi
if [ -d "$dst_path" ]; then
backup_path="${dst_path}.bak.$(date +%Y%m%d%H%M%S)"
echo -e " ${YELLOW}[백업]${NC} $dir → ${backup_path}"
mv "$dst_path" "$backup_path"
fi
ln -s "$src_path" "$dst_path"
if [ $? -eq 0 ]; then
echo -e " ${GREEN}[링크]${NC} $dir → $src_path"
((linked++))
else
echo -e " ${RED}[실패]${NC} $dir"
fi
done
echo ""
echo "▶ 소스에 존재하지만 목록에 없는 추가 디렉토리 검색..."
echo ""
for src_sub in "$SRC"/*/; do
[ ! -d "$src_sub" ] && continue
dir=$(basename "$src_sub")
dst_path="$DST/$dir"
already_handled=false
for handled in "${MODEL_DIRS[@]}"; do
if [ "$handled" == "$dir" ]; then
already_handled=true
break
fi
done
$already_handled && continue
if [ -L "$dst_path" ]; then
echo -e " ${YELLOW}[스킵]${NC} $dir (이미 심볼릭 링크)"
((skipped++))
continue
fi
if [ -d "$dst_path" ]; then
backup_path="${dst_path}.bak.$(date +%Y%m%d%H%M%S)"
echo -e " ${YELLOW}[백업]${NC} $dir → ${backup_path}"
mv "$dst_path" "$backup_path"
fi
ln -s "$src_sub" "$dst_path"
if [ $? -eq 0 ]; then
echo -e " ${GREEN}[링크]${NC} $dir → $src_sub"
((linked++))
else
echo -e " ${RED}[실패]${NC} $dir"
fi
done
echo ""
echo "============================================================"
echo " 완료! 링크 생성: ${linked}개 / 건너뜀: ${skipped}개 / 소스 없음: ${not_found}개"
echo "============================================================"
echo ""
echo "결과 확인: ls -la $DST"
사용 방법
# 스크립트 저장
nano [local path]
# 실행 권한 부여
chmod +x [local path]
# 실행
./link_comfyui_models.sh
스크립트 주요 특징
- 자동 백업 — 기존 디렉토리가 있으면
.bak.타임스탬프로 백업 후 링크를 생성합니다. 기존 파일이 날아갈 걱정이 없습니다. - 중복 실행 안전 — 이미 심볼릭 링크가 걸려 있으면 건너뜁니다. 여러 번 실행해도 문제없습니다.
- 자동 탐색 — 미리 정의된 목록 외에도 소스 디렉토리에 추가 폴더가 있으면 자동으로 링크합니다.
- 컬러 출력 — 링크 성공(초록), 건너뜀(노랑), 실패(빨강)를 한눈에 확인할 수 있습니다.
SRC와 DST 경로, 그리고 MODEL_DIRS 배열을 본인 환경에 맞게 수정해서 사용하시면 됩니다.