Appearance
Linux 初始整理
这是一篇典型的“新机器到手后先做什么”的日志。环境可能是云主机、HomeLab 节点,或者新装的测试服务器。重点不是把系统改得复杂,而是先把基础状态摸清楚,再把常见风险点收一遍。
背景
刚接管一台 Linux 主机时,最先遇到的问题通常不是“怎么优化”,而是“现在到底是什么状态”。磁盘剩余多少、内存是否紧张、服务有没有异常、日志是否已经开始报错,这些问题如果不先确认,后续任何操作都会缺少上下文。
这次整理的目标很直接:
- 确认系统版本和内核信息
- 检查磁盘、内存、CPU 和网络状态
- 找出正在运行的关键服务
- 做一轮最基础的安全收敛
- 记录常用命令,作为以后复用模板
先看系统状态
通常先从最基本的几条命令开始:
bash
uname -a
cat /etc/os-release
hostnamectl
df -h
free -h
ip a
ss -tulpn这一轮的目的不是“看得很全”,而是快速确认几个判断点:
- 系统发行版是否符合预期
- 文件系统挂载是否正常
- 是否有明显的磁盘告急
- 是否存在异常监听端口
- 网络接口是否按预期工作
如果机器是刚启动不久,journalctl -p warning -xb 也很值得看一眼。很多看起来“还没出问题”的系统,其实已经在启动阶段留下了明显线索。
基础加固
基础加固不等于大改,而是先把最容易出风险的地方收紧:
bash
sudo useradd ops
sudo usermod -aG wheel ops
sudo visudo如果环境允许,建议同步做这些事:
- 禁止直接使用 root 进行日常登录
- 确认 SSH 只允许必要的登录方式
- 限制密码策略和空闲会话
- 检查防火墙是否处于合理状态
- 清理不需要的开机服务
这类变更最好遵循一个原则:一次只改一类配置,改完立即验证。不要把 SSH、sudo、firewall 和用户权限一起大幅度调整,否则一旦连不上机器,排障成本会非常高。
服务检查
一台新机器上最常见的情况是,系统本身没问题,但某个基础服务状态并不稳定。可以先看:
bash
systemctl list-units --type=service --state=running
systemctl --failed
systemctl status sshd
journalctl -u sshd -b --no-pager如果机器上已经预装了 Nginx、Docker、Kubelet 或监控代理,也建议一并确认:
- 服务是否处于
active (running) - 是否有重复重启
- 日志里有没有权限、配置文件或证书错误
- 端口绑定是否正确
这里的经验是,很多问题不是“服务没启动”,而是“服务启动了但一直带错运行”。这种情况下,systemctl status 和 journalctl 往往比重启服务更有效。
常用排查顺序
当机器开始表现异常时,我通常按下面的顺序看:
uptime看负载是否异常df -h看磁盘是否爆满free -h看内存是否吃紧top或htop看 CPU 是否被某个进程占满ss -tulpn看端口和连接状态journalctl -xe看系统最近报错
这个顺序的好处是从最便宜的信号开始,先排除最常见的系统级问题,再深入到具体服务。
复盘
这类日志最有价值的部分不是命令本身,而是“下次还能不能直接照着做”。所以在每次整理完之后,我会额外留两条记录:
- 这台机器的关键服务列表
- 这台机器最容易出问题的点
比如某些测试节点磁盘清理慢,某些主机的 SSH 配置曾经改过,某些机器的时间同步服务不稳定。这些零碎信息很小,但在后续排障时会省掉很多试错。
结论
Linux 基础整理的目标不是一次性把系统“调到完美”,而是让主机进入一个可控、可追踪、可继续维护的状态。只要这一步做扎实,后面的容器、反向代理和集群操作都会轻很多。