commit 9cbb971b6d13437b2c209ca3309a55dce1ee8be2 Author: 시골약사 Date: Tue Oct 28 08:13:17 2025 +0000 초기 커밋: Proxmox VE 9.0 저장소 설정 수정 스크립트 ✨ 주요 기능: - Proxmox VE 9.0에서 apt update 오류 해결 - No-subscription 저장소 자동 구성 - Enterprise 저장소 자동 비활성화 - Ceph 저장소 설정 (기본 비활성) 🛠️ 포함 파일: - fix-pve9-repos.sh: 자동 설정 스크립트 - README.md: 한글 설치 가이드 및 사용법 📦 설치 방법: curl -fsSL https://git.0bin.in/thug0bin/pve9-repo-fix/raw/branch/main/fix-pve9-repos.sh | bash 🔧 해결하는 문제: - PVE 8.0 post-install 스크립트가 9.0에서 작동하지 않는 문제 - Debian 13 Trixie 기반 저장소 설정 오류 - apt update 실행 시 발생하는 인증 오류 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude diff --git a/README.md b/README.md new file mode 100644 index 0000000..57aa17e --- /dev/null +++ b/README.md @@ -0,0 +1,122 @@ +# Proxmox VE 9.0 Repository Fix + +Proxmox VE 9.0 (Debian 13 Trixie 기반)에서 `apt update`가 제대로 작동하지 않는 문제를 해결하는 스크립트입니다. + +## 문제 상황 + +- Proxmox VE 8.0의 post-install 스크립트가 9.0에서 제대로 작동하지 않음 +- Enterprise repository 설정 문제로 `apt update` 실패 +- No-subscription repository가 올바르게 구성되지 않음 + +## 해결 방법 + +이 스크립트는 자동으로 다음 작업을 수행합니다: + +- ✅ No-subscription repository 활성화 (deb822 형식) +- ✅ Enterprise repository 비활성화 +- ✅ Ceph no-subscription repository 설정 (기본 비활성) +- ✅ 중복되거나 잘못된 repository 항목 정리 +- ✅ Package list 업데이트 + +## 빠른 설치 + +Proxmox VE 9.0 shell에서 다음 명령어를 실행하세요: + +```bash +curl -fsSL https://git.0bin.in/thug0bin/pve9-repo-fix/raw/branch/main/fix-pve9-repos.sh | bash +``` + +### 또는 다운로드 후 실행 + +```bash +wget https://git.0bin.in/thug0bin/pve9-repo-fix/raw/branch/main/fix-pve9-repos.sh +chmod +x fix-pve9-repos.sh +./fix-pve9-repos.sh +``` + +## 수동 실행 + +스크립트를 검토한 후 실행하고 싶다면: + +```bash +curl -fsSL https://git.0bin.in/thug0bin/pve9-repo-fix/raw/branch/main/fix-pve9-repos.sh -o fix-pve9-repos.sh +cat fix-pve9-repos.sh # 스크립트 내용 확인 +chmod +x fix-pve9-repos.sh +sudo ./fix-pve9-repos.sh +``` + +## 설정 내용 + +### 생성/수정되는 파일 + +- `/etc/apt/sources.list.d/proxmox.sources` - PVE no-subscription repository (활성화) +- `/etc/apt/sources.list.d/ceph.sources` - Ceph no-subscription repository (비활성화) +- Enterprise repository 항목들 자동 비활성화 + +### Repository 구성 + +**활성화됨:** +``` +Types: deb +URIs: http://download.proxmox.com/debian/pve +Suites: trixie +Components: pve-no-subscription +``` + +**비활성화됨:** +- Enterprise repositories (`enterprise.proxmox.com`) +- Ceph repository (필요시 수동으로 활성화 가능) + +## 실행 후 확인 + +스크립트 실행 후 다음 명령어로 정상 작동을 확인하세요: + +```bash +apt update +apt list --upgradable +``` + +## 주의사항 + +- 이 스크립트는 **Proxmox VE 9.0 (Debian 13 Trixie)** 전용입니다 +- Enterprise subscription이 있다면 이 스크립트를 사용하지 마세요 +- Root 권한이 필요합니다 + +## Ceph 활성화 (선택사항) + +Ceph를 사용한다면 다음 명령어로 활성화하세요: + +```bash +sed -i 's/Enabled: no/Enabled: yes/' /etc/apt/sources.list.d/ceph.sources +apt update +``` + +## 문제 해결 + +### apt update가 여전히 실패하는 경우 + +```bash +# Repository 설정 확인 +cat /etc/apt/sources.list.d/proxmox.sources + +# 키링 재설치 +apt-get install --reinstall proxmox-archive-keyring + +# 다시 업데이트 +apt-get update +``` + +### Enterprise repository 경고가 계속 나오는 경우 + +```bash +# Enterprise repository 완전 비활성화 확인 +grep -r "enterprise.proxmox.com" /etc/apt/sources.list.d/ +``` + +## 라이선스 + +MIT License + +## 기여 + +Issues 및 Pull Requests는 언제나 환영합니다! diff --git a/fix-pve9-repos.sh b/fix-pve9-repos.sh new file mode 100644 index 0000000..ba2eebe --- /dev/null +++ b/fix-pve9-repos.sh @@ -0,0 +1,77 @@ +#!/usr/bin/env bash +set -euo pipefail + +# Proxmox VE 9.0 Repository Fix Script +# Fixes apt update issues by properly configuring no-subscription repositories + +echo "🔧 Fixing Proxmox VE 9.0 repositories..." + +# 0) Install required keyrings (usually pre-installed) +install -d -m 0755 /usr/share/keyrings +if [ ! -f /usr/share/keyrings/proxmox-archive-keyring.gpg ]; then + echo "📦 Installing proxmox-archive-keyring..." + apt-get update + apt-get install -y proxmox-archive-keyring || true +fi + +CODENAME="trixie" # PVE 9 = Debian 13 Trixie + +# 1) Configure PVE no-subscription repository (deb822 format) +echo "📝 Configuring PVE no-subscription repository..." +cat >/etc/apt/sources.list.d/proxmox.sources </etc/apt/sources.list.d/ceph.sources < "$f.new" && mv "$f.new" "$f" + echo " ✓ Disabled enterprise repo in $f" + fi +done + +# 4) Comment out enterprise repos in old .list files & remove duplicate no-sub entries +echo "🔒 Cleaning up old repository files..." +for f in /etc/apt/sources.list /etc/apt/sources.list.d/*.list; do + [ -f "$f" ] || continue + if grep -q "enterprise\.proxmox\.com" "$f" 2>/dev/null; then + sed -i -E 's|^(deb .*enterprise\.proxmox\.com.*)$|# \1|' "$f" + echo " ✓ Commented enterprise repo in $f" + fi +done +rm -f /etc/apt/sources.list.d/pve-no-subscription.list 2>/dev/null || true + +# 5) Update package lists +echo "🔄 Updating package lists..." +apt-get update + +echo "" +echo "✅ Proxmox VE 9.0 repository configuration completed!" +echo " - No-subscription repository: ENABLED" +echo " - Enterprise repository: DISABLED" +echo " - apt update should now work correctly" +echo ""