告别死记硬背:reinstall 一键重装系统别名终极实战手册

告别死记硬背:reinstall 一键重装系统别名终极实战手册

【免费下载链接】reinstall 一键DD/重装脚本 (One-click reinstall OS on VPS) 【免费下载链接】reinstall 项目地址: https://gitcode.com/GitHub_Trending/re/reinstall

凌晨 1:47,手机震动把运维老周从浅眠里拽了出来——机房一台机器内核异常,必须在半小时内重装成 Debian 12。他摸黑连上 SSH,手指悬在键盘上,然后愣住了:那条上个月刚用过的系统重装别名还没配置,而完整的重装命令在他脑子里只剩一团模糊的字符。--password 还是 -p?版本号到底要不要空格?他在 history 里翻了整整五分钟,才敢按下回车。

如果你也经历过这种"记得要重装、记不住命令"的深夜,那么这篇关于 reinstall 一键重装脚本 + 系统重装别名 的实战教程,就是为你准备的。读完你就能把"翻历史记录五分钟"压缩成"敲四个字符、回车、睡觉"。

有别名和没别名,重装是两种完全不同的体验

先别急着复制命令。我们花十秒钟看清楚,一条别名到底改变了什么:

没有别名时的深夜有了别名后的深夜
翻 history 找命令,越找越心虚敲下 ri12,回车,收工
手滑把 --ssh-port 拼成 --sshpot,重启后才发现端口早就固化在别名里,想错都难
每换一台机器都要重新回忆参数顺序换机器只是换个 IP,命令永远是同一行
命令越长越不敢回车一条别名 = 一份随身携带的安装说明书

你会发现,别名解决的根本不是"少敲几个字"的问题,而是把容易出错、必须靠记忆的部分,提前固化成一次性的、正确的命令。这才是它真正的价值。

一句话定位:reinstall 是运行在 VPS 上的开源一键重装脚本,支持 19 种主流 Linux 发行版(Debian、Ubuntu、Alpine、Arch、Rocky、AlmaLinux、NixOS……)、Windows 官方 ISO 安装、DD 裸镜像、netboot.xyz 救援引导,还支持 Linux ↔ Windows 任意方向互装,并自动处理静态/动态 IP。适合一切不想跟安装镜像死磕的人——尤其是服务器运维和机房批量装机的场景。

跟着走:从 clone 到别名生效,四个坑一次排完

现在开始动手。这一节只讲一件事:怎么让别名真正用起来。你会发现,每一步都对应着一个读者常踩的坑。

坑 1:clone 完了,脚本到底在哪?

很多人 clone 之后习惯性去翻 srcbin 目录,其实不必。仓库根目录就是全部家当:

git clone https://gitcode.com/GitHub_Trending/re/reinstall
cd reinstall
ls

你会看到主入口 reinstall.sh(Linux 端)、reinstall.bat(Windows 端)、trans.sh(安装出错时的救砖脚本),以及 README.md(完整参数说明书)、debian.cfg(Debian 的自动化配置)等文件。老版本的 ubuntu.yamlredhat.cfg 则归档在 deprecated/ 目录下,不用管。

确认脚本能跑,先执行一条最简单的不带参数命令,让它打印用法:

bash reinstall.sh

注意:系统名和版本号之间是空格,不是连字符。正确写法是 bash reinstall.sh debian 12,而不是 debian12。不写版本号则默认装最新版,例如 bash reinstall.sh debian

坑 2:为什么每天都要敲这么一长串?

因为还没配别名。打开你的 shell 配置文件,把下面三行加进去(路径一定要换成你 clone 的实际目录,用 pwd 查一下):

# 重装系统常用别名,路径请按实际目录修改
alias ri-debian='bash /opt/reinstall/reinstall.sh debian 12'
alias ri-ubuntu='bash /opt/reinstall/reinstall.sh ubuntu 24.04 --minimal'
alias ri-reset='bash /opt/reinstall/reinstall.sh reset'

保存后重载配置:

source ~/.bashrc

坑 3:source 了,怎么还是提示 command not found?

这是最常见的翻车点,按概率从高到低排查:

  • 改错文件了:先 echo $SHELL 确认你用的是 bash 还是 zsh。zsh 用户要改 ~/.zshrc,写进 ~/.bashrc 当然不生效。
  • 路径写错了:别名里的脚本路径必须真实存在,ls /opt/reinstall/reinstall.sh 验证一下。
  • 当前终端没重载source 之后仍然不行,就干脆新开一个终端窗口。
  • 用了 sh 而不是 bash:别名只在 bash 里展开,别用 sh yourscript.sh 去跑。

坑 4:服务器上连 git 都没有,怎么把脚本弄上去?

不用在每台机器上重新 clone。在你本地下载好的机器上,用 scp 把 reinstall.sh 推过去即可:

scp /opt/reinstall/reinstall.sh root@目标服务器:/root/

后续所有别名都指向 /root/reinstall.sh。这样脚本只有一份,升级也只在本地改。

顺带一提:Windows 端同样能享受别名。在 Git Bash 里上面的写法完全通用;纯 cmd 环境可以用 doskey ri12=bash reinstall.sh debian 12;PowerShell 则建议写个函数代替别名。核心思路不变:把固定参数提前固化。

三套场景化别名方案:个人、运维、机房

同样一条 reinstall.sh,不同身份的人需要不同的别名组合。按你的实际场景挑一套抄走。

场景一:个人折腾党——自用 VPS 和家用服务器

追求的是"想换系统就换,毫不心疼":

# 个人折腾:Debian 12 日常主力
alias ri-debian='bash /opt/reinstall/reinstall.sh debian 12'

# 极简 Ubuntu(--minimal 去掉预装软件)
alias ri-ubuntu='bash /opt/reinstall/reinstall.sh ubuntu 24.04 --minimal'

# 低配小鸡就上 Alpine,256MB 内存也能跑
alias ri-alpine='bash /opt/reinstall/reinstall.sh alpine 3.24'

# 想滚就滚的 Arch
alias ri-arch='bash /opt/reinstall/reinstall.sh arch'

# 给 VPS 装个 Windows 11 桌面,官方 ISO 自动查找
alias ri-win11='bash /opt/reinstall/reinstall.sh windows --image-name "Windows 11 Pro" --lang zh-cn'

# 反悔药:只要还没重启,随时撤销
alias ri-reset='bash /opt/reinstall/reinstall.sh reset'

场景二:服务器运维——生产机器重装不靠记性

生产机的核心诉求是参数必须稳定、密钥必须对。把 ssh 公钥和端口写死在别名里,重装完直接就能登录:

# 生产重装:公钥登录 + 自定义 SSH 端口,装完即用
alias ri-prod='bash /opt/reinstall/reinstall.sh debian 12 --ssh-key github:你的用户名 --ssh-port 2222 --web-port 8080'

# 偶尔需要临时密码的场景,用函数临时传参,不写死在配置文件里
ri-temp() { bash /opt/reinstall/reinstall.sh "$@"; }
# 用法:ri-temp debian 12 --password '临时密码' --ssh-port 2222

配合仓库里的配套脚本,还能顺手解决重装后的遗留问题:

# 修复部分商家机器网卡被改名的问题(ensxxx 改回 eth0)
alias ri-fix-eth='bash /opt/reinstall/fix-eth-name.sh'

# 安装期间想内网穿透看进度?参考 frpc-example.toml 模板,配合 --frpc-config 使用

场景三:机房批量装机——几十台机器一次搞定

批量场景下,别名反而退居二线,主角是函数 + 循环。先把 reinstall.sh 推送到每台机器,再写好这个函数:

# 批量重装:把仓库根目录的 reinstall.sh 提前 scp 到每台机器 /root/ 下
reinst-farm() {
  for ip in "$@"; do
    echo "==> 正在重装 $ip"
    ssh root@"$ip" 'bash /root/reinstall.sh debian 12 --ssh-key github:ops --ssh-port 2222'
  done
}

# 用法:reinst-farm 10.0.0.11 10.0.0.12 10.0.0.13

把这个函数放进 ~/.bashrc,它就是你的"机房批量装机命令",比逐台手敲安全得多——参数完全一致,就不会出现"这台装成了 12、那台装成了 13"的乌龙。

三个高频疑问 + 一份避坑清单

最后,把新手最常问的三个问题和最要命的几个坑一次性说清。

疑问 1:为什么脚本里用别名会失效?

因为别名默认只在交互式 bash 里展开。如果你在脚本内部或 sh -c 里用别名,需要先执行 shopt -s expand_aliases。日常手敲命令则完全不用管。

疑问 2:别名里直接写密码安全吗?

不安全。密码会明文躺在 ~/.bashrc 和 shell 历史里。生产机优先用 --ssh-key;必须用密码时,就学上面的 ri-temp 函数现场传参,用完顺手 history -c 清掉。

疑问 3:版本号和参数记不住怎么办?

  • 不写版本号 = 最新版:bash reinstall.sh debian
  • 不带任何参数运行 bash reinstall.sh,脚本会打印完整用法
  • 想要逐参数详解,直接翻仓库根目录的 README.md,所有参数都有注释

避坑清单:

  •  重装会清空整块硬盘,执行前确认你连的是目标机器;反悔必须在重启前 bash reinstall.sh reset
  •  脚本不支持 OpenVZ、LXC 容器,这类环境请另寻方案(README 里有明确警告)
  •  别名路径写绝对路径,写相对路径的话换目录就失效
  •  低配小鸡内存不够装 Windows 时,优先选 Alpine 或 Debian,256MB 内存也能跑

回到凌晨 1:47:这一次,你只敲了四个字符

如果那个凌晨,老周提前十分钟配置好了系统重装别名,故事会变成这样:他被震醒,连上 SSH,敲下 ri12,回车。然后放下手机,重新躺下,睡觉。

重装系统这件事,本就不该是一道记忆力考题。现在轮到你动手了:clone 仓库、改配置文件、source 一下、拿一台测试机试跑 ri-reset 确认反悔药有效。等下一次深夜告警真的来临时,你会感谢现在花掉的这十分钟。

关于这条 系统重装别名 的所有参数细节、配置模板和反馈渠道,都在项目仓库根目录的 README.md 里——那才是真正的完整说明书,而这篇教程,只是帮你把第一步走顺。

【免费下载链接】reinstall 一键DD/重装脚本 (One-click reinstall OS on VPS) 【免费下载链接】reinstall 项目地址: https://gitcode.com/GitHub_Trending/re/reinstall

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值