三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

告别臃肿镜像:实测用MoeClub脚本给VPS重装纯净Linux的完整流程与避坑点

告别臃肿镜像:实测用MoeClub脚本给VPS重装纯净Linux的完整流程与避坑点

深度解析:如何为VPS打造极简Linux系统的完整实战指南

1. 为什么我们需要纯净的Linux系统环境?

每次拿到一台新的VPS时,你是否怀疑过厂商预装的系统是否真的"干净"?我曾在三台不同厂商的VPS上发现预装了监控组件、性能分析工具甚至广告插件,这些"赠品"不仅占用资源,更可能成为安全隐患。

对于追求系统纯净度的用户来说,厂商镜像就像别人用过的餐具——即使看起来干净,你也想亲自消毒。特别是在需要运行敏感服务(如数据库)或对性能有极致要求(如高频交易系统)的场景下,一个未经第三方修改的官方Linux发行版往往是最佳选择。

典型的使用场景包括:

  • 需要完全掌控系统的安全研究人员
  • 运行对内核版本有特殊要求的应用(如某些网络加速工具)
  • 部署需要长期稳定运行的关键服务
  • 希望从零开始构建最小化系统的极客用户

2. 系统重装前的关键准备工作

2.1 确认VPS虚拟化架构

不是所有VPS都支持自定义系统重装。在开始前,运行这个命令检查你的虚拟化类型:

virt-what || systemd-detect-virt

常见的输出结果及含义:

  • kvm:完全虚拟化,支持大多数重装脚本
  • xen:半虚拟化,通常也支持
  • openvz/lxc:容器虚拟化,无法直接重装内核

提示:如果返回空值或未知结果,建议联系服务商确认是否支持自定义ISO安装。

2.2 选择适合的Linux发行版

不同发行版在云环境中的表现差异显著。以下是对主流选项的对比分析:

发行版优势劣势推荐场景
Debian稳定、资源占用低软件版本较旧生产服务器、长期运行
Ubuntu软件生态丰富自动更新可能带来不稳定开发环境、桌面应用
CentOS企业级支持已停止维护(CentOS 7后)传统企业应用
Alpine极致轻量(<100MB)兼容性较差容器环境、边缘计算

2.3 必备工具检查清单

在开始重装前,请确保:

  1. 已备份所有重要数据(重装会擦除磁盘)
  2. 掌握VNC连接方法(部分厂商需网页控制台)
  3. 准备好SSH客户端(如Termius、Tabby)
  4. 记录当前网络配置(IP、网关等)

3. 使用自动化脚本安全重装系统

3.1 理解脚本的工作原理

主流重装脚本(如InstallNET.sh)的核心流程是:

  1. 从官方镜像站下载指定版本的ISO文件
  2. 通过内存加载启动新系统安装程序
  3. 自动完成分区、软件包安装等步骤
  4. 配置基础网络和SSH访问

典型安装命令示例:

bash <(wget -qO- https://example.com/InstallNET.sh) -d 11 -v 64 -p "YourStrongPassword"

参数说明:

  • -d 11:安装Debian 11
  • -v 64:64位系统
  • -p:设置root密码

3.2 常见问题与解决方案

安装卡住怎么办?

  1. 通过VNC查看实时进度(大部分云平台提供)
  2. 检查/var/log/installer/debug日志
  3. 尝试更换镜像源(如从官方源改为国内镜像)

网络连接中断后的恢复步骤:

# 1. 重新获取IP(DHCP场景) dhclient -v # 2. 检查安装进程状态 ps aux | grep install # 3. 手动继续安装(如需要) /usr/bin/debian-installer

4. 系统安装后的安全加固

4.1 必须立即执行的5项安全配置

  1. 修改默认SSH端口:

    sed -i 's/#Port 22/Port 22222/' /etc/ssh/sshd_config
  2. 禁用密码登录(推荐密钥认证):

    sed -i 's/#PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config
  3. 配置基础防火墙:

    apt install ufw && ufw allow 22222/tcp && ufw enable
  4. 设置自动安全更新:

    apt install unattended-upgrades && dpkg-reconfigure -plow unattended-upgrades
  5. 安装入侵检测系统:

    apt install aide && aideinit && mv /var/lib/aide/aide.db.new /var/lib/aide/aide.db

4.2 系统优化调优

对于2GB内存以下的VPS,这些调整可以显著提升性能:

调整swappiness值:

echo 'vm.swappiness=10' >> /etc/sysctl.conf

优化文件系统缓存:

echo 'vm.vfs_cache_pressure=50' >> /etc/sysctl.conf

禁用不必要的服务(根据实际需求调整):

systemctl disable --now avahi-daemon cups bluetooth

5. 高级技巧与疑难排错

5.1 自定义分区方案

对于特殊需求的用户,可以通过修改脚本实现自定义分区。以下是典型的分区结构参考:

/ - 10GB (ext4) /var - 5GB (ext4) /home - 剩余空间 (xfs) swap - 内存大小的1.5倍

实现方法是在脚本执行时添加分区参数:

bash InstallNET.sh -d 11 -v 64 -p "密码" -firmware -partition "/:10G /var:5G /home:-1"

5.2 内核参数调优

对于高并发场景,这些网络参数调整很有帮助:

cat >> /etc/sysctl.conf <<EOF net.core.somaxconn = 65535 net.ipv4.tcp_max_syn_backlog = 65535 net.ipv4.tcp_tw_reuse = 1 EOF sysctl -p

5.3 遇到驱动问题怎么办?

某些特殊硬件可能需要额外驱动。解决方法:

  1. 安装linux-image-cloud版本内核
  2. 添加非自由软件源(Debian/Ubuntu)
  3. 手动加载内核模块

例如,为AWS实例安装增强型网络驱动:

apt install linux-image-aws

6. 长期维护建议

建立系统基线快照是个好习惯。我通常会在初始配置完成后执行:

# 创建系统快照标记 touch /.system-baseline # 生成当前安装包列表 dpkg --get-selections > ~/pkg-list.txt

定期维护检查清单:

  • 每月检查安全公告
  • 每季度审计用户账户
  • 每半年测试备份恢复
  • 每年评估系统升级需求
← 返回列表