초기 커밋: 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 <noreply@anthropic.com>
This commit is contained in:
commit
9cbb971b6d
122
README.md
Normal file
122
README.md
Normal file
@ -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는 언제나 환영합니다!
|
||||
77
fix-pve9-repos.sh
Normal file
77
fix-pve9-repos.sh
Normal file
@ -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 <<EOF
|
||||
Types: deb
|
||||
URIs: http://download.proxmox.com/debian/pve
|
||||
Suites: ${CODENAME}
|
||||
Components: pve-no-subscription
|
||||
Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg
|
||||
Enabled: yes
|
||||
EOF
|
||||
|
||||
# 2) Configure Ceph no-subscription repository (disabled by default)
|
||||
echo "📝 Configuring Ceph no-subscription repository..."
|
||||
cat >/etc/apt/sources.list.d/ceph.sources <<EOF
|
||||
Types: deb
|
||||
URIs: http://download.proxmox.com/debian/ceph-squid
|
||||
Suites: ${CODENAME}
|
||||
Components: no-subscription
|
||||
Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg
|
||||
Enabled: no
|
||||
EOF
|
||||
|
||||
# 3) Disable enterprise repositories in .sources files
|
||||
echo "🔒 Disabling enterprise repositories..."
|
||||
for f in /etc/apt/sources.list.d/*.sources; do
|
||||
[ -f "$f" ] || continue
|
||||
if grep -q "enterprise\.proxmox\.com" "$f"; then
|
||||
awk -v RS= -v ORS="\n\n" '{
|
||||
if ($0 ~ /enterprise\.proxmox\.com/) {
|
||||
if ($0 ~ /Enabled:/) sub(/Enabled:.*/, "Enabled: no");
|
||||
else $0 = $0 "\nEnabled: no";
|
||||
}
|
||||
print
|
||||
}' "$f" > "$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 ""
|
||||
Loading…
Reference in New Issue
Block a user