728x90
Synology WebStation에서 Python 빌드 시 mime-support 오류 해결하기 (실전 매뉴얼 + 캡처 가이드)
Synology NAS의 WebStation으로 Python(Django 등) 서비스를 배포할 때, 빌드 과정에서 다음과 같은 오류를 만난 경험이 있을 수 있습니다:
E: Package 'mime-support' has no installation candidate
The command '/bin/sh -c apt-get update && apt-get install -y ... mime-support ...' returned a non-zero code: 100
이 문제로 인해 WebStation에서 Python 서비스가 정상적으로 빌드되지 않고, 실행 후에는 502 Bad Gateway 오류까지 이어집니다.
원인 분석
- Python 버전 문제 아님: Python 3.11, 3.12, 3.13 어떤 버전으로 빌드하든 동일하게 발생합니다.
- 실제 원인: WebStation이 사용하는 Dockerfile 템플릿 안에 apt-get install mime-support 구문이 남아 있기 때문입니다.
- Debian bookworm / Ubuntu 최신 계열에서는 mime-support 패키지가 제거되고, media-types 또는 mailcap으로 대체되었습니다.
- 따라서 이 문제는 Synology WebStation 템플릿 버그이며 Python 자체와는 무관합니다.
해결 방법 — SSH 접속을 통한 직접 수정
1. SSH 접속
DSM 제어판 → 터미널 & SNMP → SSH 서비스 활성화.
이후 PC에서:
ssh admin@<NAS_IP>
sudo -i # root 권한으로 전환
📸 캡처 포인트: SSH 접속 화면 + root 전환 메시지
2. 문제 파일 검색
grep -R --line-number "mime-support" /var/packages/WebStation /usr/syno 2>/dev/null
출력 예시:
/var/packages/WebStation/etc/python_profile/9e619682-0533-4660-a55c-8670f077a58f/Dockerfile:12: mime-support \
/var/packages/WebStation/target/misc/python_dockerfile.mustache:12: mime-support \
📸 캡처 포인트: grep 결과 화면 (문제가 되는 파일 경로 표시)
3. 파일 백업
cp /var/packages/WebStation/etc/python_profile/<UUID>/Dockerfile \
/var/packages/WebStation/etc/python_profile/<UUID>/Dockerfile.bak
cp /var/packages/WebStation/target/misc/python_dockerfile.mustache \
/var/packages/WebStation/target/misc/python_dockerfile.mustache.bak
📸 캡처 포인트: cp 실행 결과 (→ 로 백업 완료 확인)
4. 수정 (mime-support → media-types)
sed -i 's/mime-support/media-types/g' \
/var/packages/WebStation/etc/python_profile/<UUID>/Dockerfile
sed -i 's/mime-support/media-types/g' \
/var/packages/WebStation/target/misc/python_dockerfile.mustache
📸 캡처 포인트: sed 실행 후 오류 없이 커서가 돌아온 화면
5. 수정 확인
grep -n "media-types" /var/packages/WebStation/etc/python_profile/<UUID>/Dockerfile
grep -n "media-types" /var/packages/WebStation/target/misc/python_dockerfile.mustache
출력 예:
12: media-types \
📸 캡처 포인트: mime-support가 사라지고 media-types로 바뀐 결과 화면
6. WebStation 재빌드
- WebStation UI에서 해당 Python 서비스 → 저장/적용 → 빌드 실행
- 빌드 로그 확인:
- tail -f /usr/syno/etc/packages/ContainerManager/projects/<UUID>.action.log
- mime-support 관련 에러가 사라지면 정상입니다.
📸 캡처 포인트: WebStation UI에서 재빌드 진행 중 화면 / 로그 tail 결과
다른 NAS에서의 상황
- 어떤 NAS에서는 아직 Python 서비스를 만들지 않은 경우, python_profile/<UUID>/Dockerfile이 없고 템플릿 파일만 존재할 수 있습니다.
- 이때도 템플릿(mustache)만 수정하면 충분합니다. 이후 새 Python 서비스를 생성할 때 자동으로 수정된 Dockerfile이 생성됩니다.
📸 캡처 포인트: ls /var/packages/WebStation/etc/python_profile/ 실행 → 빈 디렉터리 화면
UUID란?
- WebStation이 Python 서비스를 만들 때 /var/packages/WebStation/etc/python_profile/ 경로에 생성하는 폴더명이 UUID입니다.
- 예시:
- /var/packages/WebStation/etc/python_profile/9e619682-0533-4660-a55c-8670f077a58f/
- 여기 들어 있는 Dockerfile이 실제 서비스 빌드에 사용됩니다.
📸 캡처 포인트: ls -l /var/packages/WebStation/etc/python_profile/ 실행 결과 → UUID 폴더 표시
정리
- mime-support 오류는 Python과 무관하며, Synology WebStation의 구식 Dockerfile 템플릿이 원인입니다.
- SSH 접속 후 템플릿과 서비스별 Dockerfile에서 mime-support를 media-types로 교체하면 문제는 해결됩니다.
- 템플릿까지 수정하면, 이후 새 서비스 생성에도 자동 반영됩니다.
- 단, DSM/WebStation 업데이트 시 템플릿이 덮어씌워질 수 있으므로 업데이트 후 다시 확인이 필요합니다.
728x90
'SYLOLOGY > WEBSTATION' 카테고리의 다른 글
시놀로지 WebStation Node.js 볼륨 마운트 오류 해결 가이드 (0) | 2025.09.26 |
---|---|
깃허브-기반 Binance 생태계 프로그램 총람 (5) | 2025.07.20 |
Binance API 완벽 활용 가이드: 공식 문서, 실전 예제, AI 트레이딩까지 (0) | 2025.07.10 |
Binance API 레퍼런스 문서 완벽 가이드 (0) | 2025.07.10 |
웹호스팅 소셜로그인 기능 도입 메뉴얼 가이드 (0) | 2025.07.02 |