mirror of
https://github.com/community-scripts/ProxmoxVE.git
synced 2026-03-11 02:34:56 +00:00
fix(migration): atomic /usr/bin/update replacement to prevent syntax errors
All 8 migration scripts (runtipi, dockge, dokploy, coolify, komodo, alpine-komodo, overseerr, jellyseerr) overwrote /usr/bin/update in-place while the parent shell still had the file open for reading. Since the new content is longer than the original, bash would read leftover bytes after the child process exited, causing garbled output or syntax errors like: /usr/bin/update: line 2: syntax error near unexpected token ) Fix: - Write to a temp file first, then mv over /usr/bin/update (atomic inode replacement so parent shell sees EOF on old fd) - Remove unnecessary shebang from heredoc content in overseerr/jellyseerr (consistent with all other update scripts and install.func)
This commit is contained in:
@@ -48,9 +48,11 @@ function update_script() {
|
||||
fi
|
||||
|
||||
msg_info "Migrating update function"
|
||||
cat <<'MIGRATION_EOF' >/usr/bin/update
|
||||
TMP_UPDATE=$(mktemp)
|
||||
cat <<'MIGRATION_EOF' >"$TMP_UPDATE"
|
||||
bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/tools/addon/komodo.sh)"
|
||||
MIGRATION_EOF
|
||||
mv "$TMP_UPDATE" /usr/bin/update
|
||||
chmod +x /usr/bin/update
|
||||
|
||||
ln -sf /usr/bin/update /usr/bin/update_komodo 2>/dev/null || true
|
||||
|
||||
@@ -46,9 +46,11 @@ function update_script() {
|
||||
fi
|
||||
|
||||
msg_info "Migrating update function"
|
||||
cat <<'MIGRATION_EOF' >/usr/bin/update
|
||||
TMP_UPDATE=$(mktemp)
|
||||
cat <<'MIGRATION_EOF' >"$TMP_UPDATE"
|
||||
bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/tools/addon/coolify.sh)"
|
||||
MIGRATION_EOF
|
||||
mv "$TMP_UPDATE" /usr/bin/update
|
||||
chmod +x /usr/bin/update
|
||||
|
||||
ln -sf /usr/bin/update /usr/bin/update_coolify 2>/dev/null || true
|
||||
|
||||
@@ -48,9 +48,11 @@ function update_script() {
|
||||
fi
|
||||
|
||||
msg_info "Migrating update function"
|
||||
cat <<'MIGRATION_EOF' >/usr/bin/update
|
||||
TMP_UPDATE=$(mktemp)
|
||||
cat <<'MIGRATION_EOF' >"$TMP_UPDATE"
|
||||
bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/tools/addon/dockge.sh)"
|
||||
MIGRATION_EOF
|
||||
mv "$TMP_UPDATE" /usr/bin/update
|
||||
chmod +x /usr/bin/update
|
||||
|
||||
ln -sf /usr/bin/update /usr/bin/update_dockge 2>/dev/null || true
|
||||
|
||||
@@ -46,9 +46,11 @@ function update_script() {
|
||||
fi
|
||||
|
||||
msg_info "Migrating update function"
|
||||
cat <<'MIGRATION_EOF' >/usr/bin/update
|
||||
TMP_UPDATE=$(mktemp)
|
||||
cat <<'MIGRATION_EOF' >"$TMP_UPDATE"
|
||||
bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/tools/addon/dokploy.sh)"
|
||||
MIGRATION_EOF
|
||||
mv "$TMP_UPDATE" /usr/bin/update
|
||||
chmod +x /usr/bin/update
|
||||
|
||||
ln -sf /usr/bin/update /usr/bin/update_dokploy 2>/dev/null || true
|
||||
|
||||
@@ -45,14 +45,15 @@ function update_script() {
|
||||
fi
|
||||
|
||||
msg_info "Switching update script to Seerr"
|
||||
cat <<'EOF' >/usr/bin/update
|
||||
#!/usr/bin/env bash
|
||||
TMP_UPDATE=$(mktemp)
|
||||
cat <<'EOF' >"$TMP_UPDATE"
|
||||
bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/seerr.sh)"
|
||||
EOF
|
||||
mv "$TMP_UPDATE" /usr/bin/update
|
||||
chmod +x /usr/bin/update
|
||||
msg_ok "Switched update script to Seerr"
|
||||
msg_warn "Please type 'update' again to complete the migration"
|
||||
exit
|
||||
exit 0
|
||||
fi
|
||||
|
||||
msg_info "Updating Jellyseerr"
|
||||
|
||||
@@ -52,9 +52,11 @@ function update_script() {
|
||||
fi
|
||||
|
||||
msg_info "Migrating update function"
|
||||
cat <<'MIGRATION_EOF' >/usr/bin/update
|
||||
TMP_UPDATE=$(mktemp)
|
||||
cat <<'MIGRATION_EOF' >"$TMP_UPDATE"
|
||||
bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/tools/addon/komodo.sh)"
|
||||
MIGRATION_EOF
|
||||
mv "$TMP_UPDATE" /usr/bin/update
|
||||
chmod +x /usr/bin/update
|
||||
|
||||
ln -sf /usr/bin/update /usr/bin/update_komodo 2>/dev/null || true
|
||||
|
||||
@@ -44,10 +44,11 @@ function update_script() {
|
||||
fi
|
||||
|
||||
msg_info "Switching update script to Seerr"
|
||||
cat <<'EOF' >/usr/bin/update
|
||||
#!/usr/bin/env bash
|
||||
TMP_UPDATE=$(mktemp)
|
||||
cat <<'EOF' >"$TMP_UPDATE"
|
||||
bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/seerr.sh)"
|
||||
EOF
|
||||
mv "$TMP_UPDATE" /usr/bin/update
|
||||
chmod +x /usr/bin/update
|
||||
msg_ok "Switched update script to Seerr"
|
||||
msg_warn "Please type 'update' again to complete the migration"
|
||||
|
||||
@@ -46,9 +46,11 @@ function update_script() {
|
||||
fi
|
||||
|
||||
msg_info "Migrating update function"
|
||||
cat <<'MIGRATION_EOF' >/usr/bin/update
|
||||
TMP_UPDATE=$(mktemp)
|
||||
cat <<'MIGRATION_EOF' >"$TMP_UPDATE"
|
||||
bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/tools/addon/runtipi.sh)"
|
||||
MIGRATION_EOF
|
||||
mv "$TMP_UPDATE" /usr/bin/update
|
||||
chmod +x /usr/bin/update
|
||||
|
||||
ln -sf /usr/bin/update /usr/bin/update_runtipi 2>/dev/null || true
|
||||
|
||||
Reference in New Issue
Block a user