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 连接

推荐资源


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

相关推荐
aramae3 小时前
Python 使用库:标准库与第三方库实战
服务器·开发语言·windows·python
yuzhiboyouye3 小时前
XML写接口适用场景举例
java·服务器·前端
jinyishu_3 小时前
Linux基础指令:从Shell原理到权限
linux
yuzhiboyouye4 小时前
零sql和xml写接口,的区别是什么,过程是什么,举例一下下,用mybatis-plus+ spring-boot
java·服务器·前端
hi_ro_a4 小时前
基于正倒排索引的boost搜索引擎
linux·c++·搜索引擎·项目
GG-_-Bond4 小时前
9.1kv存储持久化模拟面试
linux·c语言·数据结构·c++
Dola_Zou4 小时前
Linux工控机核心算法防逆向与自动化加固方案
linux·自动化·软件加密
欧米欧5 小时前
解析Linux从umask位运算到粘滞位
linux
郝学胜-神的一滴5 小时前
C++20模板元编程 04:变量模板 别名模板与模板Lambda实战
服务器·开发语言·数据结构·c++·程序人生