From fbc064b104a6e247097a00b7f5db7cf0f204add6 Mon Sep 17 00:00:00 2001 From: xzx3344521 Date: Sun, 11 Jan 2026 12:43:42 +0800 Subject: [PATCH] Create 666 --- 666 | 85 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 666 diff --git a/666 b/666 new file mode 100644 index 0000000..7231a5a --- /dev/null +++ b/666 @@ -0,0 +1,85 @@ +bash -c 'set -euo pipefail + +echo "==> [1/7] 检测系统..." +. /etc/os-release || true +echo "ID=${ID:-unknown} VERSION_CODENAME=${VERSION_CODENAME:-unknown}" +if [ "${ID:-}" != "debian" ]; then + echo "❌ 该脚本仅针对 Debian。当前: ${ID:-unknown}" + exit 1 +fi + +echo "==> [2/7] 停止并清理可能已安装/混装的 Docker..." +systemctl stop docker 2>/dev/null || true +systemctl stop containerd 2>/dev/null || true + +apt-get remove -y docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-ce-rootless-extras docker-buildx-plugin 2>/dev/null || true +apt-get purge -y docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-ce-rootless-extras docker-buildx-plugin 2>/dev/null || true +apt-get autoremove -y 2>/dev/null || true + +# 清理可能残留的二进制(避免 docker 命令指向错误版本) +rm -f /usr/bin/docker /usr/local/bin/docker /usr/bin/dockerd /usr/local/bin/dockerd 2>/dev/null || true + +echo "==> [3/7] 清理/修复 APT 断裂依赖..." +apt-get clean || true +apt-get update -y || true +apt-get -y --fix-broken install || true + +echo "==> [4/7] 修复 Debian 源(优先官方 deb.debian.org,失败则切阿里云)..." +backup="/etc/apt/sources.list.bak.$(date +%F_%H%M%S)" +cp -a /etc/apt/sources.list "$backup" 2>/dev/null || true + +write_sources() { + local base="$1" + cat >/etc/apt/sources.list < [5/7] 移除任何 bookworm 源(避免再次装到 Debian 12 包)..." +mkdir -p /root/apt-list-backup +for f in /etc/apt/sources.list.d/*.list; do + [ -e "$f" ] || continue + if grep -qi "bookworm" "$f"; then + echo " - 发现 bookworm 源: $f -> 移到 /root/apt-list-backup/" + mv -f "$f" /root/apt-list-backup/ + fi +done + +apt-get update -y +apt-get -y --fix-broken install + +echo "==> [6/7] 添加 Docker 官方源(强制 bullseye)并安装..." +apt-get install -y ca-certificates curl gnupg +install -m 0755 -d /etc/apt/keyrings + +curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg +chmod a+r /etc/apt/keyrings/docker.gpg + +cat >/etc/apt/sources.list.d/docker.list < [7/7] 验证安装..." +docker --version +docker run --rm hello-world >/dev/null 2>&1 && echo "✅ Docker 已安装并验证通过(hello-world 成功)" || { + echo "⚠️ Docker 已安装,但 hello-world 未通过。请执行:journalctl -u docker -n 200 --no-pager" + exit 1 +} + +echo "完成。" +'