linux 装了很多软件,如:frp sql server .net sdk 等等,需重装系统,有哪些快速重装这些软件的方案
Table of Contents
方案一(强烈推荐):Docker / Docker Compose 重建
⭐⭐⭐⭐⭐
最省事、最稳妥、重装系统后恢复速度最快
适合你吗?
✔ frp
✔ SQL Server
✔ .NET Web / Service
✔ MQTT / Redis / Nginx / HA
✔ 服务器或家用服务场景
思路
所有软件都容器化
系统重装后只需:
docker compose up -d
数据挂载在 /data 或独立磁盘
示例
version: "3.8"
services:
sqlserver:
image: mcr.microsoft.com/mssql/server:2022-latest
environment:
ACCEPT_EULA: "Y"
SA_PASSWORD: "StrongPass!"
volumes:
- /data/mssql:/var/opt/mssql
ports:
- "1433:1433"
frp:
image: snowdreamtech/frps
volumes:
- ./frps.ini:/etc/frp/frps.ini
优点
重装 ≈ 10 分钟恢复
配置就是文档
可迁移、可版本控制(Git)
缺点
初期需要一次整理
👉 如果你现在还没容器化,这是最值得花时间做的一次“技术债清算”
✅ 方案二:Ansible 自动化部署
⭐⭐⭐⭐☆
适合:你仍想用原生安装(apt / yum)
思路
用 Ansible 把你现在的安装过程“录下来”
重装后 一条命令全自动安装
示例
- hosts: server
become: yes
tasks:
- name: Install base packages
apt:
name:
- dotnet-sdk-8.0
- nginx
state: present
- name: Install SQL Server
shell: |
curl https://packages.microsoft.com/... | bash
优点
专业、可控
大厂标准方案
缺点
初次编写成本高于 Docker
不如容器干净
✅ 方案三:Shell 脚本 + 软件仓库镜像
⭐⭐⭐
快速但“原始”
思路
把你装过的软件全部写成脚本
类似:
#!/bin/bash
apt update
apt install -y docker.io dotnet-sdk-8.0
curl https://get.frp.sh | bash
优点
10 分钟就能写
无额外工具
缺点
维护困难
易碎(版本变化就坏)
👉 适合临时服务器,不适合长期维护
✅ 方案四:系统级快照 / 镜像(不推荐长期)
⭐⭐
适合:物理机 / 云服务器
可选方式
LVM Snapshot
Proxmox / ESXi
云厂商快照
问题
镜像大
迁移性差
配置不可读
👉 只能当“最后保险”
✅ 方案五(高阶):NixOS / Guix
⭐⭐⭐⭐☆(技术含量极高)
思路
整个系统 = 一个配置文件
系统 + 软件 + 服务一次声明
services.postgresql.enable = true;
services.dotnet.enable = true;
适合
极客
愿意投入学习成本
🧭 给你的现实建议路线(最优)
🔥 强烈建议你这么做:
现在系统
↓
把 frp / sql server / .net 服务 容器化
↓
docker-compose.yml + data volume
↓
重装系统
↓
docker + compose
↓
docker compose up -d
数据保护重点
数据目录统一放:
/data
/srv
/mnt/storage
重装前只需备份:
tar czf backup.tar.gz /data
