Add docker-apt-http-lxcs.sh
This commit is contained in:
@@ -0,0 +1,88 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
set -u
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo "=============================================="
|
||||||
|
echo " Docker APT Repo HTTPS -> HTTP LXC Converter"
|
||||||
|
echo "=============================================="
|
||||||
|
echo
|
||||||
|
|
||||||
|
for CTID in $(pct list | awk 'NR>1 {print $1}'); do
|
||||||
|
|
||||||
|
STATUS=$(pct status "$CTID" 2>/dev/null | awk '{print $2}')
|
||||||
|
NAME=$(pct config "$CTID" 2>/dev/null | awk -F': ' '/^hostname:/ {print $2}')
|
||||||
|
|
||||||
|
echo "----------------------------------------------"
|
||||||
|
echo "Container: $CTID${NAME:+ ($NAME)}"
|
||||||
|
echo "Status: $STATUS"
|
||||||
|
|
||||||
|
if [[ "$STATUS" != "running" ]]; then
|
||||||
|
echo "SKIP: Container is not running."
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
|
||||||
|
OS_ID=$(pct exec "$CTID" -- sh -c \
|
||||||
|
'. /etc/os-release 2>/dev/null && echo "$ID"' \
|
||||||
|
2>/dev/null || true)
|
||||||
|
|
||||||
|
if [[ "$OS_ID" != "debian" ]]; then
|
||||||
|
echo "SKIP: Not Debian."
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
|
||||||
|
MATCHES=$(pct exec "$CTID" -- sh -c '
|
||||||
|
grep -RIl \
|
||||||
|
"https://download\.docker\.com" \
|
||||||
|
/etc/apt/sources.list \
|
||||||
|
/etc/apt/sources.list.d \
|
||||||
|
2>/dev/null || true
|
||||||
|
')
|
||||||
|
|
||||||
|
if [[ -z "$MATCHES" ]]; then
|
||||||
|
echo "OK: No HTTPS Docker APT repo found."
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Found Docker repo in:"
|
||||||
|
|
||||||
|
while IFS= read -r FILE; do
|
||||||
|
[[ -z "$FILE" ]] && continue
|
||||||
|
|
||||||
|
echo " $FILE"
|
||||||
|
|
||||||
|
BACKUP="${FILE}.bak-$(date +%Y%m%d-%H%M%S)"
|
||||||
|
|
||||||
|
pct exec "$CTID" -- sh -c "
|
||||||
|
cp '$FILE' '$BACKUP' &&
|
||||||
|
sed -i \
|
||||||
|
's|https://download\.docker\.com|http://download.docker.com|g' \
|
||||||
|
'$FILE'
|
||||||
|
"
|
||||||
|
|
||||||
|
if [[ $? -eq 0 ]]; then
|
||||||
|
echo " CHANGED: https -> http"
|
||||||
|
echo " Backup: $BACKUP"
|
||||||
|
else
|
||||||
|
echo " ERROR: Failed to modify $FILE"
|
||||||
|
fi
|
||||||
|
|
||||||
|
done <<< "$MATCHES"
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo "Current Docker repo entries:"
|
||||||
|
|
||||||
|
pct exec "$CTID" -- sh -c '
|
||||||
|
grep -RHn \
|
||||||
|
"download\.docker\.com" \
|
||||||
|
/etc/apt/sources.list \
|
||||||
|
/etc/apt/sources.list.d \
|
||||||
|
2>/dev/null || true
|
||||||
|
'
|
||||||
|
|
||||||
|
echo
|
||||||
|
done
|
||||||
|
|
||||||
|
echo "=============================================="
|
||||||
|
echo " Finished"
|
||||||
|
echo "=============================================="
|
||||||
Reference in New Issue
Block a user