受欢迎的博客标签

linux重装系统重装软件方案part1 - 可选方案汇总

Published

linux 装了很多软件,如:frp sql server .net sdk 等等,需重装系统,有哪些快速重装这些软件的方案

方案一(强烈推荐):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