ARM靠谱的DD在线更换debian系统的脚本,亲测冷门系统Red Hat Enterprise 8.9中DD都可以成功

ARM靠谱的DD在线更换debian系统的脚本,亲测冷门系统Red Hat Enterprise 8.9中DD都可以成功

介绍

编写此脚本是为了将 VPS/VM 重新安装到最小的 Debian。

平台

  • ✔ KVM 或物理机❌容器
  • ✔ Debian 或 Ubuntu 或 Red Hat Linux 作为原始作系统,带有 GRUB 2 引导加载程序
  • ✔ MBR 或 GPT 分区表
  • ✔ 多个磁盘或 LVM
  • ✔ IPv4 或 IPv6
  • ✔ 传统 BIOS 或 UEFI 启动
  • ✔ 大多数 VPS 或云提供商
  • ⚠️Google Compute Engine – 必须手动指定 VPC 的 IP/CIDR 和网关
  • ⚠️AWS EC2 或 Lightsail – 不适用于 UEFI 引导

如何运作

  1. 生成预置文件以自动安装
  2. 将 ‘debian-installer’ 下载到目录/boot
  3. 将安装程序的菜单项附加到 GRUB2 配置文件中

用法

1. 下载

使用 curl 下载脚本:

curl -fLO https://raw.githubusercontent.com/bohanyang/debi/master/debi.sh

或 wget:

wget -O debi.sh https://raw.githubusercontent.com/bohanyang/debi/master/debi.sh

2. 运行

在 root 下或使用 sudo 运行脚本:

chmod a+rx debi.sh
sudo ./debi.sh

默认情况下,在安装过程中将创建具有 sudo 权限的 admin 用户。如果您愿意,请使用debian--user root

3. 重新启动

如果一切正常,请重新启动计算机:

sudo shutdown -r now

否则,您可以运行以下命令来恢复脚本所做的所有更改:

sudo rm -rf debi.sh /etc/default/grub.d/zz-debi.cfg /boot/debian-* && { sudo update-grub || sudo grub2-mkconfig -o /boot/grub2/grub.cfg; }

可用选项

预设

地区别名镜子DNS 解析NTP
全球Defaulthttps://deb.debian.orgGoogletime.google.com
全球--cloudflarehttps://deb.debian.orgCloudflaretime.cloudflare.com
全球--awshttps://cdn-aws.deb.debian.orgGoogletime.aws.com
中国--ustchttps://mirrors.ustc.edu.cnDNSPod time.amazonaws.cn
中国--tunahttps://mirrors.tuna.tsinghua.edu.cnDNSPod time.amazonaws.cn
中国--aliyunhttps://mirrors.aliyun.comAliDNStime.amazonaws.cn

网络相关参数

  • --interface <字符串>
    手动选择网络接口,例如:eth1
  • --ethx
    禁用一致性网络设备命名规则(Consistent Network Device Naming),恢复传统接口命名方式,如 ethX
  • --ip <字符串>
    禁用自动网络配置(DHCP),手动配置静态 IP,例如:10.0.0.21/24 或 IPv6 地址如:2001:2345:6789:abcd::ef/48
  • --static-ipv4
    禁用自动网络配置(DHCP),自动使用当前检测到的 IPv4 地址和网关配置静态 IP
  • --netmask <字符串>
    设置子网掩码,例如:255.255.255.0 或 IPv6 掩码如:ffff:ffff:ffff:ffff::
  • --gateway <字符串>
    设置默认网关地址,例如:10.0.0.1,若无网关可填 none
  • --dns '8.8.8.8 8.8.4.4'
    设置 DNS 服务器地址(IPv4)
  • --dns6 '2001:4860:4860::8888 2001:4860:4860::8844'
    设置 DNS 服务器地址(IPv6,仅在启用 IPv6 时有效)
  • --hostname <字符串>
    设置主机名(包含完整域名),如:server1.example.com
  • --network-console
    启用安装器的网络控制台,可通过 SSH 登录方式连接:ssh installer@ip

版本与安装源设置

  • --version 12
    指定 Debian 主版本号,支持:10、11、12、13
  • --suite bullseye
    指定 Debian 发布分支(若无特殊需求建议使用 --version),如:stabletestingsid
  • --release-d-i
    使用官方发布版本的 Debian 安装器(如:12 = bookworm,11 = bullseye,10 = buster)
  • --daily-d-i
    使用尚未发布版本(如 13 = trixie 或 sid)的每日构建版安装器
  • --mirror-protocol http
    设置镜像使用协议:httphttpsftp
  • --https
    --mirror-protocol https 的别名
  • --reuse-proxy
    复用系统环境变量中的代理设置,如 http_proxyhttps_proxy
  • --proxy--mirror-proxy
    设置用于 APT 下载的 HTTP 代理地址
  • --mirror-host deb.debian.org
    设置 Debian 镜像主机
  • --mirror-directory /debian
    设置 Debian 镜像目录路径
  • --security-repository http://security.debian.org/debian-security
    设置安全更新仓库(使用 mirror 为特殊值,自动构造地址)

账户与认证配置

  • --no-account-setup--no-user
    不创建新用户,手动通过 VNC 或远程控制台完成账户设置
  • --username--user debian
    新建具有 sudo 或 root 权限的用户
  • --password <字符串>
    新用户的密码,如果不在此指定,安装过程中会提示输入
  • --authorized-keys-url <字符串>
    指定用于 SSH 登录的公钥 URL,例如:https://github.com/torvalds.keys
  • --sudo-with-password
    用户使用 sudo 命令时需要输入密码

时区与时间同步

  • --timezone Asia/Shanghai
    设置时区,例如中国使用 Asia/Shanghai(UTC+8)
  • --ntp time.google.com
    设置 NTP 时间服务器

磁盘与分区配置

  • --no-disk-partitioning--no-part
    不进行磁盘自动分区,由用户通过 VNC 或控制台手动分区
  • --disk <字符串>
    手动选择安装磁盘,在存在多个磁盘时必须指定,如:/dev/sda
  • --no-force-gpt
    默认使用 GPT 分区表,使用该参数禁用 GPT,改用 MBR
  • --bios
    创建 BIOS 启动分区而非 EFI(当没有 EFI 系统时默认使用)
  • --efi
    创建 EFI 启动分区(默认在 EFI 系统存在时使用)
  • --esp 106
    设置 EFI 启动分区大小(单位 MiB),如:106=100MiB, 538=512MiB, 1075=1GiB

系统文件与软件配置

  • --filesystem ext4
    设置文件系统格式,例如:ext4
  • --kernel <字符串>
    指定要安装的内核包
  • --cloud-kernel
    选择云主机使用的内核(如:linux-image-cloud-amd64arm64
  • --bpo-kernel
    使用 Debian Backports 源的内核(较新版本)
  • --no-install-recommends
    安装过程中不安装推荐包(更精简)
  • --apt-non-free-firmware--apt-non-free--apt-contrib--apt-src--apt-backports
    启用对应的 APT 仓库
  • --no-apt-*
    禁用上述仓库
  • --install 'ca-certificates libpam-systemd'
    安装额外软件包(空格分隔,需加引号)

升级策略

  • --safe-upgrade
    默认升级策略:apt upgrade --with-new-pkgs
  • --full-upgrade
    强制升级策略:apt dist-upgrade
  • --no-upgrade
    不进行任何升级

性能与引导配置

  • --bbr
    启用 TCP BBR 拥塞控制算法
  • --ssh-port <端口号>
    设置 SSH 端口
  • --hold
    安装后不自动重启或关机
  • --power-off
    安装完成后关机(默认是重启)
  • --architecture <字符串>
    指定系统架构,如:amd64i386arm64armhf
  • --firmware
    加载非自由固件
  • --no-force-efi-extra-removable
    相关于 EFI 的高级设置(详见文档)
  • --grub-timeout 5
    设置 GRUB 启动菜单停留时间(单位:秒)
  • --force-lowmem <整数>
    强制低内存模式,适用于内存小于 500MB 的设备(值范围:0、1、2;建议设置为 1
  • --dry-run
    模拟运行,输出生成的预设配置和 GRUB 启动项,但不下载或保存实际文件
  • --cidata ./cidata-example
    使用自定义 cloud-init 数据,忽略虚拟机供应商提供的数据源

中文说明

下载脚本:

curl -fLO https://raw.githubusercontent.com/bohanyang/debi/master/debi.sh && chmod a+rx debi.sh

运行脚本:

sudo ./debi.sh --cdn --network-console --ethx --bbr --user root --password <新系统用户密码>
  • --bbr开启 BBR
  • --ethx网卡名称使用传统形式,如 而不是eth0ens3
  • --cloud-kernel安装占用空间较小的 内核,但可能会导致 UEFI 启动的机器(如 Oracle、Azure 及 Hyper-V、Google Cloud 等)VNC 黑屏。BIOS 启动的普通 VPS 则没有此问题。cloud
  • 默认时区为 UTC,添加 可使用中国时区。--timezone Asia/Shanghai
  • 默认使用 Debian 官方 CDN 镜像源(deb.debian.org),添加 可使用中科大镜像源。--ustc

如果没有报错可以重启:

sudo shutdown -r now

约 30 秒后可以尝试 SSH 登录 用户,密码与之前设置的相同。如果连接成功,可以按 Ctrl-A 然后再按 4 监控安装日志。安装完成后会自动重启进入新系统。installer

原创文章,作者:中国IPv6网,如若转载,请注明出处:https://www.ipv6s.com/soft/202506134072.html

(0)
中国IPv6网的头像中国IPv6网
上一篇 2025年6月6日 下午10:14
下一篇 2021年8月28日 上午5:18

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注