From 5e6c9b5114084169123bae98bdf67ea157afbf53 Mon Sep 17 00:00:00 2001 From: mango Date: Mon, 23 Feb 2026 08:11:52 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20DD=20=E9=87=8D=E8=A3=85=E7=B3=BB?= =?UTF-8?q?=E7=BB=9F=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 35 ++++++++++++++++++ dd-reinstall.sh | 98 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 133 insertions(+) create mode 100644 README.md create mode 100644 dd-reinstall.sh diff --git a/README.md b/README.md new file mode 100644 index 0000000..ac5981b --- /dev/null +++ b/README.md @@ -0,0 +1,35 @@ +# DD 重装系统脚本 + +一键 DD 重装 Linux 系统,支持多发行版。 + +## 一键使用 + +```bash +bash <(curl -sL https://cdn.jsdelivr.net/gh/xmg0828888/dd-reinstall@main/dd-reinstall.sh) +``` + +## 支持系统 + +- Debian 13 / 12 +- Ubuntu 24.04 / 22.04 +- CentOS 9 +- Alpine 3.19 + +## 功能 + +- ✅ 交互式配置(主机名/密码/端口/时区/Swap) +- ✅ 回车使用默认值,支持自定义 +- ✅ 自动识别网络配置 +- ✅ 可选 BBR 加速 +- ✅ 多系统可选 + +## 默认配置 + +| 项目 | 默认值 | +|------|--------| +| 系统 | Debian 13 | +| SSH端口 | 22 | +| 密码 | Mng@2026DD! | +| 时区 | Asia/Hong_Kong | +| Swap | 1024MB | +| BBR | 开启 | diff --git a/dd-reinstall.sh b/dd-reinstall.sh new file mode 100644 index 0000000..4d54454 --- /dev/null +++ b/dd-reinstall.sh @@ -0,0 +1,98 @@ +#!/bin/bash +# DD 重装系统脚本 - Debian 13 +# 用法: bash dd-reinstall.sh +# 一键: bash <(curl -sL https://cdn.jsdelivr.net/gh/xmg0828888/dd-reinstall@main/dd-reinstall.sh) + +set -e + +# 颜色 +R='\033[0;31m' G='\033[0;32m' Y='\033[0;33m' B='\033[0;34m' N='\033[0m' + +echo -e "${B}╔══════════════════════════════════════╗${N}" +echo -e "${B}║ DD 重装系统 - Debian 13 ║${N}" +echo -e "${B}╚══════════════════════════════════════╝${N}" +echo + +# 默认值 +DEF_PWD="Mng@2026DD!" +DEF_PORT="22" +DEF_HOST="debian" +DEF_TZ="Asia/Hong_Kong" +DEF_SWAP="1024" + +# 交互输入 +read -p "$(echo -e ${G}主机名${N} [${DEF_HOST}]: )" MYHOST +MYHOST=${MYHOST:-$DEF_HOST} + +read -p "$(echo -e ${G}SSH端口${N} [${DEF_PORT}]: )" MYPORT +MYPORT=${MYPORT:-$DEF_PORT} + +read -sp "$(echo -e ${G}root密码${N} [默认: ${DEF_PWD}]: )" MYPWD +echo +MYPWD=${MYPWD:-$DEF_PWD} + +read -p "$(echo -e ${G}时区${N} [${DEF_TZ}]: )" MYTZ +MYTZ=${MYTZ:-$DEF_TZ} + +read -p "$(echo -e ${G}Swap大小MB${N} [${DEF_SWAP}]: )" MYSWAP +MYSWAP=${MYSWAP:-$DEF_SWAP} + +read -p "$(echo -e ${G}启用BBR${N} [Y/n]: )" BBR +BBR=${BBR:-Y} + +# 系统选择 +echo +echo -e "${Y}选择系统:${N}" +echo " 1) Debian 13 (默认)" +echo " 2) Debian 12" +echo " 3) Ubuntu 24.04" +echo " 4) Ubuntu 22.04" +echo " 5) CentOS 9" +echo " 6) Alpine 3.19" +read -p "$(echo -e ${G}选择${N} [1]: )" OS_CHOICE +OS_CHOICE=${OS_CHOICE:-1} + +case $OS_CHOICE in + 1) OS_FLAG="-debian 13" ;; + 2) OS_FLAG="-debian 12" ;; + 3) OS_FLAG="-ubuntu 24.04" ;; + 4) OS_FLAG="-ubuntu 22.04" ;; + 5) OS_FLAG="-centos 9" ;; + 6) OS_FLAG="-alpine 3.19" ;; + *) OS_FLAG="-debian 13" ;; +esac + +BBR_FLAG="" +[[ "${BBR,,}" != "n" ]] && BBR_FLAG="--bbr" + +# 确认 +echo +echo -e "${Y}════════ 确认配置 ════════${N}" +echo -e " 系统: ${B}${OS_FLAG}${N}" +echo -e " 主机名: ${B}${MYHOST}${N}" +echo -e " SSH端口: ${B}${MYPORT}${N}" +echo -e " 密码: ${B}******${N}" +echo -e " 时区: ${B}${MYTZ}${N}" +echo -e " Swap: ${B}${MYSWAP}MB${N}" +echo -e " BBR: ${B}${BBR_FLAG:-关闭}${N}" +echo -e "${Y}══════════════════════════${N}" +echo +read -p "$(echo -e ${R}确认重装? 数据将全部丢失!${N} [y/N]: )" CONFIRM +[[ "${CONFIRM,,}" != "y" ]] && echo "已取消" && exit 0 + +# 下载并执行 +echo -e "${G}下载 InstallNET.sh ...${N}" +wget --no-check-certificate -qO InstallNET.sh \ + 'https://raw.githubusercontent.com/leitbogioro/Tools/master/Linux_reinstall/InstallNET.sh' +chmod a+x InstallNET.sh + +echo -e "${G}开始重装...${N}" +bash InstallNET.sh $OS_FLAG \ + -port "$MYPORT" \ + -pwd "$MYPWD" \ + -hostname "$MYHOST" \ + -timezone "$MYTZ" \ + -swap "$MYSWAP" \ + $BBR_FLAG + +reboot