From 5f25ce38b20b2e9f2207abcca875c262e55614fd Mon Sep 17 00:00:00 2001 From: "CanbiZ (MickLesk)" <47820557+MickLesk@users.noreply.github.com> Date: Thu, 26 Mar 2026 15:42:43 +0100 Subject: [PATCH] Report failing APT mirror on update failure When apt-get update fails, capture and display the failing mirror host to aid debugging. Adds grep-based extraction of the upstream host (from /etc/apt/sources.list.d/debian.sources or /etc/apt/sources.list) with a fallback to "unknown", and includes the host in the warning/echo. Applied to misc/build.func (inside pct exec), misc/install.func (pkg_update), and tools/pve/update-lxcs-cron.sh. --- misc/build.func | 4 +++- misc/install.func | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/misc/build.func b/misc/build.func index e24d05d5..fcb77ca6 100644 --- a/misc/build.func +++ b/misc/build.func @@ -4601,7 +4601,9 @@ EOF' fi pct exec "$CTID" -- bash -c "apt-get update >/dev/null 2>&1 && apt-get install -y sudo curl mc gnupg2 jq >/dev/null 2>&1" || { - msg_warn "apt-get update failed, trying alternate mirrors..." + 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") + msg_warn "apt-get update failed on ${failed_mirror}, trying alternate mirrors..." local mirror_exit=0 pct exec "$CTID" -- bash -c ' APT_BASE="sudo curl mc gnupg2 jq" diff --git a/misc/install.func b/misc/install.func index 99a27a6a..ddd177af 100644 --- a/misc/install.func +++ b/misc/install.func @@ -201,7 +201,9 @@ pkg_update() { case "$PKG_MANAGER" in apt) if ! $STD apt-get update; then - msg_warn "apt-get update failed, trying alternate mirrors..." + local failed_mirror + failed_mirror=$(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 || echo "unknown") + msg_warn "apt-get update failed on ${failed_mirror}, trying alternate mirrors..." local eu_mirrors="ftp.de.debian.org ftp.fr.debian.org ftp.nl.debian.org ftp.uk.debian.org ftp.ch.debian.org ftp.se.debian.org ftp.it.debian.org ftp.fau.de ftp.halifax.rwth-aachen.de debian.mirror.lrz.de mirror.init7.net debian.ethz.ch mirrors.dotsrc.org debian.mirrors.ovh.net" local us_mirrors="ftp.us.debian.org ftp.ca.debian.org debian.csail.mit.edu mirrors.ocf.berkeley.edu mirrors.wikimedia.org debian.osuosl.org mirror.cogentco.com" local ap_mirrors="ftp.au.debian.org ftp.jp.debian.org ftp.tw.debian.org ftp.kr.debian.org ftp.hk.debian.org ftp.sg.debian.org mirror.aarnet.edu.au mirror.nitc.ac.in"