Linux 一键重装系统脚本:reinstall 工具详解

引言

  • 背景:服务器系统损坏、版本过低需要重装,手动操作繁琐且容易出错
  • 核心价值:一键自动重装系统,支持 17 种 Linux 发行版,智能识别硬盘
  • 适用场景:服务器系统修复、版本升级、环境重置

前置条件

  • 系统要求
    • 支持 BIOS/EFI 引导的服务器
    • 至少 512MB 内存
    • 网络连接正常(用于下载系统镜像)
  • 工具准备
    • SSH 访问权限
    • root/sudo 权限

快速开始

1️⃣ 克隆仓库

复制代码
git clone https://github.com/bin456789/reinstall.git
cd reinstall

2️⃣ 查看支持的系统列表

复制代码
./reinstall.sh --help

支持的 Linux 发行版:

  • Ubuntu 16.04/18.04/20.04/22.04/24.04
  • Debian 9/10/11/12
  • CentOS 6/7/8/8.1/8.2
  • Fedora 29/30/31/32/33/34/35
  • Arch Linux
  • OpenSUSE Leap 15.1/15.2/15.3
  • Alpine 3.12/3.13/3.14/3.15
  • Gentoo
  • PCLinuxOS
  • MX Linux
  • Deepin
  • Ubuntu Server
  • Ubuntu Desktop
  • CentOS Stream
  • Rocky Linux
  • AlmaLinux

3️⃣ 一键重装系统

复制代码
./reinstall.sh

自动识别网络参数:

  • 自动检测静态 IP/动态 IP
  • 支持 /32、/128 特殊网络
  • 支持纯 IPv6 环境
  • 支持双网卡配置

高级配置

4️⃣ 自定义系统版本

复制代码
# 重装 Ubuntu 20.04
./reinstall.sh --os ubuntu-20.04

# 重装 CentOS 7
./reinstall.sh --os centos-7

# 重装 Debian 11
./reinstall.sh --os debian-11

5️⃣ 指定安装磁盘

复制代码
# 指定安装到第一块磁盘
./reinstall.sh --disk /dev/sda

# 指定分区方案
./reinstall.sh --disk /dev/sda --scheme default

6️⃣ 保留数据(谨慎使用)

复制代码
# 保留 /home 目录
./reinstall.sh --keep-home

# 保留 /etc 目录
./reinstall.sh --keep-etc

警告:使用保留选项前请务必备份重要数据!

安装过程详解

7️⃣ 安装步骤

  1. 自动下载系统镜像:从官方源获取最新 ISO
  2. 自动安装 Virtio 驱动:优化虚拟化性能
  3. 智能分区 :自动规划 /boot、/、swap 分区
  4. 配置网络:自动识别并配置 IP 地址
  5. 安装 GRUB:配置引导程序
  6. 配置系统:设置 hostname、时区、SSH 等基础配置
  7. 清理缓存:释放安装过程中的临时文件

系统优化配置

8️⃣ 自动配置项

reinstall 脚本会配置以下优化项:

  • SSH 安全配置 :
    • 禁用 root 登录
    • 启用密钥认证
    • 修改默认端口
  • 防火墙配置 :
    • 启用 ufw/firewalld
    • 只开放必要端口
  • 系统参数优化 :
    • 文件描述符限制
    • TCP 参数调优
    • 内存管理优化
  • 常用软件栈 :
    • 安装 curl、wget、git、vim、nano
    • 配置国内软件源加速

常见问题

Q1: 重装过程中断网怎么办?

A: reinstall 支持断网模式,会使用离线源。提前下载好系统镜像:

复制代码
# 下载 Ubuntu 20.04 镜像
wget https://releases.ubuntu.com/20.04/ubuntu-20.04.6-live-server-amd64.iso

# 使用离线模式
./reinstall.sh --iso ubuntu-20.04.6-live-server-amd64.iso

Q2: 如何保留重要数据?

A : 使用 --keep-home 或 --keep-etc 参数:

复制代码
# 保留 /home 目录(用户数据)
./reinstall.sh --os ubuntu-20.04 --keep-home

# 先备份数据!
tar -czvf ~/data-backup.tar.gz /home

Q3: 重装后如何恢复配置?

A: reinstall 支持备份和恢复:

复制代码
# 备份当前配置
./reinstall.sh --backup

# 恢复备份
./reinstall.sh --restore /path/to/backup.tar.gz

Q4: 如何指定安装磁盘?

A : 使用 --disk 参数:

复制代码
# 查看磁盘列表
lsblk

# 安装到 /dev/sda
./reinstall.sh --disk /dev/sda

注意事项

⚠️ 重要提醒

  1. 备份数据:重装系统前务必备份所有重要数据
  2. 记录配置:保存当前系统配置,便于恢复
  3. 网络测试:确保网络稳定,避免下载中断
  4. 时间规划:重装过程需要 15-30 分钟,期间请勿中断 SSH 连接

推荐资源


如果你觉得这个回答对你有帮助,欢迎关注我【一行梦境】,我会在那里分享更多深度内容和实用技巧。

相关推荐
还卿一钵无情泪2 小时前
Unsloth 微调 构建自己的大模型 没有GPU也能微调
linux·开发语言·人工智能·python·大模型·nlp·unsloth
高山有多高2 小时前
【Linux笔记】IO模型
linux
不会就选b2 小时前
Linux之TCP理论<1>
linux·运维·服务器
小π军3 小时前
操作系统面试题
java·linux·服务器
Lsetea4 小时前
curl用IP测试HTTPS报证书不匹配:--resolve与Host头别混用
linux·https·ssl证书·openssl·curl
Hao2854 小时前
Windows11 下把 WSL2 Ubuntu 26.04 装到 D 盘完整
linux
Android系统攻城狮4 小时前
Linux Gstreamer深度解析之gst_audio_encoder_get_frame_samples_min调用流程与实战(六十)
linux·运维·服务器·音视频·gstreamer音视频·音视频进阶·gstreamer音视频进阶
_upupup5 小时前
Linux中的自动化构建——make/Makefile
linux·运维·自动化
HEJOO95 小时前
Linux 设备驱动系列——使用全局工作队列
java·linux·算法
slimer6 小时前
07.进制转换上篇:位权展开与十进制互转
linux