SYLOLOGY/WEBSTATION

Synology WebStation에서 Python 서비스 빌드 시 mime-support 오류 해결하기

dma-ai 2025. 9. 19. 02:09
728x90

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. NAS에 SSH 접속

DSM 제어판 → 터미널 & SNMP → SSH 서비스 활성화.
이후 PC에서 접속:

ssh admin@<NAS_IP>
# 관리자 계정 비밀번호 입력
sudo -i   # root 권한 전환

2. mime-support가 들어 있는 파일 검색

grep -R --line-number "mime-support" /var/packages/WebStation /usr/syno 2>/dev/null

이렇게 하면 WebStation이 참조하는 Dockerfile템플릿 파일 경로가 출력됩니다.
예시:

/var/packages/WebStation/etc/python_profile/<UUID>/Dockerfile:12: mime-support
/var/packages/WebStation/target/misc/python_dockerfile.mustache:12: mime-support

3. 파일 백업

수정 전에 반드시 원본을 백업해 둡니다:

cp -v /var/packages/WebStation/etc/python_profile/<UUID>/Dockerfile \
      /var/packages/WebStation/etc/python_profile/<UUID>/Dockerfile.bak

cp -v /var/packages/WebStation/target/misc/python_dockerfile.mustache \
      /var/packages/WebStation/target/misc/python_dockerfile.mustache.bak

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

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 \

→ 정상적으로 반영된 상태.


6. WebStation에서 재빌드

DSM WebStation 관리 화면에서 해당 Python 서비스 → 저장/적용 → 빌드 실행.

빌드 로그 확인:

tail -f /usr/syno/etc/packages/ContainerManager/projects/<UUID>.action.log

이제 mime-support 오류가 더 이상 발생하지 않습니다.


결론

  • mime-support 오류는 Python 버전과 관계없음.
  • 문제의 원인은 Synology WebStation의 구식 Dockerfile 템플릿.
  • SSH로 접속해 Dockerfile과 템플릿 파일에서 mime-support를 media-types로 교체하면 해결 가능.
  • 수정 후 WebStation에서 빌드를 재시도하면 정상적으로 Python 서비스를 구동할 수 있습니다.

✅ 이 과정을 거친 뒤에는 더 이상 mime-support 오류에 막히지 않고, 원하는 Python/Django 애플리케이션을 Synology WebStation에서 문제없이 배포할 수 있습니다.

728x90