mirror of
https://github.com/community-scripts/ProxmoxVE.git
synced 2026-06-15 12:01:21 +02:00
Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| dba8ed5ff1 | |||
| 8824d8f58e |
@@ -483,25 +483,6 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
|
|||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
## 2026-06-15
|
|
||||||
|
|
||||||
### 🚀 Updated Scripts
|
|
||||||
|
|
||||||
- #### 🐞 Bug Fixes
|
|
||||||
|
|
||||||
- Vaultwarden: extend version check for VaultWarden update [@MickLesk](https://github.com/MickLesk) ([#15105](https://github.com/community-scripts/ProxmoxVE/pull/15105))
|
|
||||||
|
|
||||||
### 💾 Core
|
|
||||||
|
|
||||||
- #### ✨ New Features
|
|
||||||
|
|
||||||
- tools.func: extend mesa-vulkan-drivers and vulkan-tools to installation for ARC GPU's [@MickLesk](https://github.com/MickLesk) ([#15106](https://github.com/community-scripts/ProxmoxVE/pull/15106))
|
|
||||||
|
|
||||||
- #### 🔧 Refactor
|
|
||||||
|
|
||||||
- core: improve mirror selection and error handling [@MickLesk](https://github.com/MickLesk) ([#15108](https://github.com/community-scripts/ProxmoxVE/pull/15108))
|
|
||||||
- core: implement gateway validation for DHCP and static networks [@MickLesk](https://github.com/MickLesk) ([#15107](https://github.com/community-scripts/ProxmoxVE/pull/15107))
|
|
||||||
|
|
||||||
## 2026-06-14
|
## 2026-06-14
|
||||||
|
|
||||||
### 🚀 Updated Scripts
|
### 🚀 Updated Scripts
|
||||||
|
|||||||
+4
-33
@@ -979,20 +979,6 @@ base_settings() {
|
|||||||
|
|
||||||
IPV6_METHOD=${var_ipv6_method:-"none"}
|
IPV6_METHOD=${var_ipv6_method:-"none"}
|
||||||
GATE=${var_gateway:-""}
|
GATE=${var_gateway:-""}
|
||||||
|
|
||||||
# Guard against invalid gateway combinations from defaults/app vars:
|
|
||||||
# - DHCP must not force a static gateway
|
|
||||||
# - Static IPv4 must use a gateway in the same subnet
|
|
||||||
if [[ "$NET" == "dhcp" && -n "$GATE" ]]; then
|
|
||||||
msg_warn "Ignoring var_gateway '$GATE' because var_net is 'dhcp'"
|
|
||||||
GATE=""
|
|
||||||
elif [[ "$NET" != "dhcp" && -n "$GATE" ]]; then
|
|
||||||
if ! validate_gateway_in_subnet "$NET" "$GATE"; then
|
|
||||||
msg_warn "Ignoring var_gateway '$GATE' because it is not in subnet of var_net '$NET'"
|
|
||||||
GATE=""
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
APT_CACHER=${var_apt_cacher:-""}
|
APT_CACHER=${var_apt_cacher:-""}
|
||||||
APT_CACHER_IP=${var_apt_cacher_ip:-""}
|
APT_CACHER_IP=${var_apt_cacher_ip:-""}
|
||||||
|
|
||||||
@@ -4393,12 +4379,10 @@ EOF
|
|||||||
pct exec "$CTID" -- bash -c "apt-get update 2>&1 && apt-get install -y ${_base_pkgs} 2>&1" >>"$BUILD_LOG" 2>&1 || {
|
pct exec "$CTID" -- bash -c "apt-get update 2>&1 && apt-get install -y ${_base_pkgs} 2>&1" >>"$BUILD_LOG" 2>&1 || {
|
||||||
local failed_mirror
|
local failed_mirror
|
||||||
failed_mirror=$(pct exec "$CTID" -- bash -c "grep -m1 -oP '(?<=URIs: https?://)[^/]+' /etc/apt/sources.list.d/debian.sources 2>/dev/null || grep -m1 -oP '(?<=deb https?://)[^/]+' /etc/apt/sources.list 2>/dev/null" 2>/dev/null || echo "unknown")
|
failed_mirror=$(pct exec "$CTID" -- bash -c "grep -m1 -oP '(?<=URIs: https?://)[^/]+' /etc/apt/sources.list.d/debian.sources 2>/dev/null || grep -m1 -oP '(?<=deb https?://)[^/]+' /etc/apt/sources.list 2>/dev/null" 2>/dev/null || echo "unknown")
|
||||||
msg_warn "apt-get update failed (${failed_mirror})."
|
msg_warn "apt-get update failed (${failed_mirror}), trying alternate mirrors..."
|
||||||
msg_custom "ℹ️" "${YW}" "Probing alternate mirrors (this can take 1-2 minutes on network issues)"
|
|
||||||
local mirror_exit=0
|
local mirror_exit=0
|
||||||
pct exec "$CTID" -- env APT_BASE="$_base_pkgs" bash -c '
|
pct exec "$CTID" -- env APT_BASE="$_base_pkgs" bash -c '
|
||||||
DISTRO=$(. /etc/os-release 2>/dev/null && echo "$ID" || echo "debian")
|
DISTRO=$(. /etc/os-release 2>/dev/null && echo "$ID" || echo "debian")
|
||||||
echo " Mirror fallback for distro: $DISTRO"
|
|
||||||
|
|
||||||
if [ "$DISTRO" = "ubuntu" ]; then
|
if [ "$DISTRO" = "ubuntu" ]; then
|
||||||
EU_MIRRORS="de.archive.ubuntu.com fr.archive.ubuntu.com se.archive.ubuntu.com nl.archive.ubuntu.com it.archive.ubuntu.com ch.archive.ubuntu.com mirrors.xtom.de"
|
EU_MIRRORS="de.archive.ubuntu.com fr.archive.ubuntu.com se.archive.ubuntu.com nl.archive.ubuntu.com it.archive.ubuntu.com ch.archive.ubuntu.com mirrors.xtom.de"
|
||||||
@@ -4456,21 +4440,15 @@ EOF
|
|||||||
}
|
}
|
||||||
|
|
||||||
# Phase 1: Scan global mirrors first (independent of local CDN issues)
|
# Phase 1: Scan global mirrors first (independent of local CDN issues)
|
||||||
echo " Phase 1/3: Scanning global mirrors for reachability..."
|
|
||||||
OTHERS_OK=$(scan_reachable "$OTHERS")
|
OTHERS_OK=$(scan_reachable "$OTHERS")
|
||||||
OTHERS_PICK=$(printf "%s\n" $OTHERS_OK | shuf | head -3 | xargs)
|
OTHERS_PICK=$(printf "%s\n" $OTHERS_OK | shuf | head -3 | xargs)
|
||||||
|
|
||||||
if [ -z "$OTHERS_PICK" ]; then
|
|
||||||
echo " No reachable global mirrors found"
|
|
||||||
fi
|
|
||||||
|
|
||||||
for mirror in $OTHERS_PICK; do
|
for mirror in $OTHERS_PICK; do
|
||||||
echo " Attempting mirror: $mirror"
|
echo " Attempting mirror: $mirror"
|
||||||
try_mirrors "$mirror" && exit 0
|
try_mirrors "$mirror" && exit 0
|
||||||
done
|
done
|
||||||
|
|
||||||
# Phase 2: Try primary mirror
|
# Phase 2: Try primary mirror
|
||||||
echo " Phase 2/3: Trying primary mirror..."
|
|
||||||
if [ "$DISTRO" = "ubuntu" ]; then
|
if [ "$DISTRO" = "ubuntu" ]; then
|
||||||
PRIMARY="archive.ubuntu.com"
|
PRIMARY="archive.ubuntu.com"
|
||||||
else
|
else
|
||||||
@@ -4482,14 +4460,9 @@ EOF
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Phase 3: Fall back to regional mirrors
|
# Phase 3: Fall back to regional mirrors
|
||||||
echo " Phase 3/3: Scanning regional mirrors..."
|
|
||||||
REGIONAL_OK=$(scan_reachable "$REGIONAL")
|
REGIONAL_OK=$(scan_reachable "$REGIONAL")
|
||||||
REGIONAL_PICK=$(printf "%s\n" $REGIONAL_OK | shuf | head -3 | xargs)
|
REGIONAL_PICK=$(printf "%s\n" $REGIONAL_OK | shuf | head -3 | xargs)
|
||||||
|
|
||||||
if [ -z "$REGIONAL_PICK" ]; then
|
|
||||||
echo " No reachable regional mirrors found"
|
|
||||||
fi
|
|
||||||
|
|
||||||
for mirror in $REGIONAL_PICK; do
|
for mirror in $REGIONAL_PICK; do
|
||||||
echo " Attempting mirror: $mirror"
|
echo " Attempting mirror: $mirror"
|
||||||
try_mirrors "$mirror" && exit 0
|
try_mirrors "$mirror" && exit 0
|
||||||
@@ -4523,14 +4496,12 @@ EOF
|
|||||||
msg_warn "Mirror '${custom_mirror}' also failed. Try another or type 'skip'."
|
msg_warn "Mirror '${custom_mirror}' also failed. Try another or type 'skip'."
|
||||||
done
|
done
|
||||||
if [[ "$custom_mirror" == "skip" ]]; then
|
if [[ "$custom_mirror" == "skip" ]]; then
|
||||||
msg_warn "Mirror selection aborted by user ('skip')"
|
msg_error "apt-get base packages installation failed"
|
||||||
msg_warn "Aborting installation before base package bootstrap"
|
install_exit_code=1
|
||||||
post_update_to_api "aborted" "130" "force"
|
|
||||||
install_exit_code=130
|
|
||||||
fi
|
fi
|
||||||
elif [[ $mirror_exit -ne 0 ]]; then
|
elif [[ $mirror_exit -ne 0 ]]; then
|
||||||
msg_error "apt-get base packages installation failed"
|
msg_error "apt-get base packages installation failed"
|
||||||
install_exit_code=100
|
install_exit_code=1
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -5267,8 +5267,6 @@ _setup_intel_arc() {
|
|||||||
intel-media-va-driver-non-free \
|
intel-media-va-driver-non-free \
|
||||||
intel-opencl-icd \
|
intel-opencl-icd \
|
||||||
libmfx-gen1.2 \
|
libmfx-gen1.2 \
|
||||||
mesa-vulkan-drivers \
|
|
||||||
vulkan-tools \
|
|
||||||
vainfo \
|
vainfo \
|
||||||
intel-gpu-tools 2>/dev/null || msg_warn "Some Intel Arc packages failed"
|
intel-gpu-tools 2>/dev/null || msg_warn "Some Intel Arc packages failed"
|
||||||
|
|
||||||
@@ -5303,8 +5301,6 @@ _setup_intel_arc() {
|
|||||||
ocl-icd-libopencl1 \
|
ocl-icd-libopencl1 \
|
||||||
libvpl2 \
|
libvpl2 \
|
||||||
libmfx-gen1.2 \
|
libmfx-gen1.2 \
|
||||||
mesa-vulkan-drivers \
|
|
||||||
vulkan-tools \
|
|
||||||
vainfo \
|
vainfo \
|
||||||
intel-gpu-tools 2>/dev/null || msg_warn "Some Intel Arc packages failed"
|
intel-gpu-tools 2>/dev/null || msg_warn "Some Intel Arc packages failed"
|
||||||
|
|
||||||
@@ -5328,8 +5324,6 @@ _setup_intel_modern() {
|
|||||||
va-driver-all \
|
va-driver-all \
|
||||||
intel-media-va-driver \
|
intel-media-va-driver \
|
||||||
ocl-icd-libopencl1 \
|
ocl-icd-libopencl1 \
|
||||||
mesa-vulkan-drivers \
|
|
||||||
vulkan-tools \
|
|
||||||
vainfo \
|
vainfo \
|
||||||
intel-gpu-tools 2>/dev/null || msg_warn "Some Intel packages failed"
|
intel-gpu-tools 2>/dev/null || msg_warn "Some Intel packages failed"
|
||||||
|
|
||||||
@@ -5364,8 +5358,6 @@ _setup_intel_modern() {
|
|||||||
$STD apt -y install \
|
$STD apt -y install \
|
||||||
intel-media-va-driver-non-free \
|
intel-media-va-driver-non-free \
|
||||||
ocl-icd-libopencl1 \
|
ocl-icd-libopencl1 \
|
||||||
mesa-vulkan-drivers \
|
|
||||||
vulkan-tools \
|
|
||||||
vainfo \
|
vainfo \
|
||||||
libmfx-gen1.2 \
|
libmfx-gen1.2 \
|
||||||
intel-gpu-tools 2>/dev/null || msg_warn "Some Intel packages failed"
|
intel-gpu-tools 2>/dev/null || msg_warn "Some Intel packages failed"
|
||||||
|
|||||||
Reference in New Issue
Block a user