Skip to content

树莓派4B自建网页服务器指南 (4.1)· 番外篇:锁定 NetworkManager 之后,我对新技术有了新的看法

最近在搭建树莓派自建服务器的过程中,我做了一个看似很小的技术选型决定:锁定 NetworkManager(NM)作为日后所有节点的统一网络管理核心

这个决定本身没什么特别的——NM 好用,实测对比过,就选了。但有意思的是,这个决定引发了我对“新技术”这个概念的重新思考。

一、为什么锁定 NM

我对比过几种方案:

  • systemd-networkd + wpasupplicant 手动拼接:配置分散,WiFi 切换需手写配置文件,排错要查好几个地方

  • NM:nmcli dev wifi connect一行搞定 WiFi,ipv6.method auto自动处理 SLAAC,多连接管理内置,断线自动重连

实际测试下来,NM 在“省心”和“便捷”两个维度上都胜出。这不是理论推测,是踩过坑、对比过、最终选定的结论。

而且 NM 不是树莓派专属——它在 Ubuntu Server、Debian、Rocky Linux、AlmaLinux 等主流发行版上都是通用的。这意味着我在树莓派上学到的 nmcli命令,可以直接平移到我未来的 N100 迷你主机、工作站虚拟机、甚至是整个私有云集群上。

锁定 NM,本质上是在排除不确定性。​ 我不需要在每个新节点上都重新调研网络方案,不需要每次遇到新硬件都纠结“这次用哪个”。一个方案,用透,就够了。

二、锁定的意义:排除不确定性

开源世界最不缺的就是选择。但选择太多本身就是一种成本。

以前的我,看到新的网络管理工具、新的容器编排方案、新的服务网格,第一反应是:“这个要不要试试?”“那个是不是更好?”“我现在用的会不会过时?”

这种心态,本质上和那些在短视频平台上看到豪车名表就开始幻想自己适配那种生活的人,没有区别——都是用别人的标准来衡量自己,把别人的生活当成自己的目标。

追逐新技术的心态,和拜金女幻想嫁入豪门,底层逻辑一模一样

  • 看到别人用 K8S,觉得自己也得用,不然就落后了
  • 看到别人上微服务,觉得自己也得拆,不然架构就不够“现代”
  • 看到别人搞分布式事务,觉得自己也得搞,不然系统就不够“健壮”

但我的真实需求是什么?我需要的是:

  • 一台树莓派,能跑 Nginx,能通过公网 IPv6 访问
  • 网络配置稳定、可复现、多环境切换无忧
  • 运维成本低到一个人能搞定,不需要一个团队

微服务架构、K8S、分布式事务、熔断容灾——这些对我来说,就是豪车名表。我知道它们好,但它们与我之间隔着巨大的运维负担。我的需求只需要“交通”和“看时间”的功能,豪车名表的附加价值我承担不了,也不需要。

三、增量性选择:不追新,只补齐

锁定 NM,不代表我永远不用别的方案。如果未来有更好的开源库出现,那一定是因为:

  1. 当前需求有角落未被覆盖(比如某个特定网络拓扑、某种新型硬件)
  2. 新方案更简洁(配置量更少、心智负担更低)
  3. 新方案覆盖更广(原生支持当前需要手动绕过的场景)

这时候我才会考虑引入。而且引入的方式是增量性的——不是推翻重来,是在现有基础上,用最小的代价补齐缺失的那一块。

这个原则可以推广到所有技术选型:

不是“追新”,而是“当前需求有角落未被覆盖,新方案恰好补齐”

四、站在开源的肩膀上,为我所用

开源世界的日新月异,推陈出新,对我来说不再是需要追逐的焦虑,而是唾手可得的为我所用。

  • 不追:因为底座已经锁定,核心栈已经验证,不需要每个新项目都去尝鲜
  • 可取:因为当真有需求缺口时,我知道怎么去评估、怎么去引入、怎么去固化
  • 所需:因为只取当下真正缺的那一块,不多拿,不贪多

知道自己不要什么,比知道自己要什么更难。​ 前者需要对自己的需求有清晰的认知,后者只需要跟风。

我现在更倾向于选择那些“朴素、够用、可靠、自己能维护”的方案——就像自行车和电子表,虽然不起眼,但它们刚好覆盖我的需求,而且运维成本极低。

技术选型的终点,不是“最先进的”,而是“最合适的”。


后记:写作即思考

这篇文章的成文过程,让我意识到一件事,无论写什么——技术教程、情感反思、方法论总结、技术选型思考——只要是一篇结构完整的文章,它的底层骨架都是相通的:

现象引入 → 解释说明 → 意义与影响 → 对策与做法 → 结论与升华

这个框架,其实就是“提出问题 → 分析问题 → 解决问题 → 总结升华”在不同场景下的变体。申论用这个框架,专栏文章也用这个框架,甚至我写的那篇亲子关系情感文,底层也是这个框架——只不过它把“对策与做法”换成了“理想模型的描绘”。

这个框架之所以无处不在,是因为它对应着人类认知的自然流程

  1. 现象引入:这是什么?(引起注意)

  2. 解释说明:为什么会这样?(建立理解)

  3. 意义与影响:这跟我有什么关系?(建立关联)

  4. 对策与做法:那我该怎么办?(提供行动指引)

  5. 结论与升华:所以总的来说……(留下印象)

每次和 AI 讨论一个话题,本质上都是在走这个流程——有时候走完全程,有时候停在某一环。而当我要把它整理成文章时,就需要把这个流程补全。

所以,我不是在“练习写作”,我是在用写作来固化思考

每一次成文,都是把我脑子里的模糊想法,按照那个底层框架整理成结构化的输出。这个过程中,思考被梳理了、被验证了、被固化了。写作只是这个过程的副产品。

这个框架本身并不复杂,但反复使用它,会在潜移默化中构建起一种思维习惯——遇到任何问题,都会自然地走一遍这个流程。它是一种可以反复研读、刻意练习的思维框架。

如果你也在尝试用写作来整理自己的思考,不妨留意一下:你的文章是否也暗合了这个结构?如果是,那说明你的思考已经走上了正轨。