读者来信
作者:Michael W Lucas
本月《期刊》收到了雪片般的来信。把那些抱怨“读者来信”专栏作者的投诉拿去堆肥之后,还剩下两封。没错,你的投诉都被堆肥了。本刊是高度负责任的出版物,因此我坚持要把所有贬损性的邮件打印出来,供我个人仔细研读、启迪和受教育。我在办公室墙上专门留了地方,用来张贴那些最有创意、论证最充分的投诉,让它们时时提醒我“做得更好”。不过迄今为止,只有一封投诉信获此殊荣,而且还是我自己写给自己的。你对我了解得不够,骂也骂不到点子上,更谈不上文采斐然。
言归正传。两封幸存的来信都在为刚刚诞生的 FreeBSD 14 担忧。这是全新的版本,你本该提前几个月就在生产环境里跑起来,因为开源 Unix 是社区事业,你只要碰了这软件,就染上了社区,必须贡献——可你不会的,对吧?你等着 .0 版本发布,指望你的应用栈在它之上安然运行,不抖不颤。我不会再唠这个,一来我已经在这个专栏里咆哮过,二来你当时根本没听,现在当然也不会听。对 .0 版本的恐惧,说明你误解了现代系统管理。
企业里的现代系统管理,就像在以一百二十速度狂飙在高速上的车底下换机油。你问是 120 英里还是 120 公里?当你仰面躺在那种加长型修理工滑板上,牙齿紧紧咬住机油扳手,心里盼着当初穿了后跟带轮的鞋、这样双腿就不用那么费力地撑着——这时候单位已经无所谓了。偶尔司机看腻了在桌面用户之间穿梭(那些用户犯下了不可饶恕之罪——明明限速他却乖乖遵守——而且我还是个 CEO 呢),就猛地往坑洼上一蹭,只为听你的脑壳在变速箱外壳上撞出咚声。戴好头盔。机油换完,你还得换火花塞、冲洗冷却液。当然是从车底下干。掀开发动机盖会挡了司机的视线,而你怎么能妨碍公司的伟大使命呢,不管那究竟是什么。
.0 版本就是隐喻式的换胎,如此而已。诀窍在于等到司机宣称前方路面平整时,把千斤顶妥妥夹在两膝之间。
要顺利做完这一切,意味着你得理解你的操作系统。我不是指配置文件。配置会变。你要理解的是操作系统正在做什么。这意味着你得懂 DNS、shell、虚拟化、文件系统和调试。若想真正学透这些东西,去读 Julia Evans 的 zine 小册子。她懂自己在写什么,而且能讲得清晰简明,不像某些在本刊里大摇大摆、把字数当分量、把花哨封面当遮羞布的浮夸技术作家。把日志消息复制到搜索引擎里,并不能替代对软件工作原理的理解。当然,你还是看不懂那条错误消息——但围绕那条错误的讨论你能看明白了,这种理解会指引你把问题折磨人的程度降下来一些。是的,降下来一些。系统管理里我们不解决问题,我们只是在问题周围打补丁。一切都和一切相连,搅在一锅沸腾的意大利面逻辑里,把一段理顺,另一段就更乱。幸运的是,用浏览器取代操作系统已经做得差不多了,这一举措毫无疑问会让我们所有人都受益——“我们”指的是系统管理员。Web 开发者会成为新一代系统管理员,而他们正杀气腾腾奔向“无服务器”的彼岸,到时候他们不会知道我们是谁,只会把我们当成“莫名其妙必须付钱、否则 app 就罢工的人”。皆大欢喜。
也不全是坏消息。不完全是。你望向那些坑洼的视野,只能用“壮丽”形容。你会积累出乘客和其他司机无法理解的复杂创伤。这会逼出各种古怪的应对策略,让你完全无法融入主流社会。这看上去像坏消息,至少在你遇到同类之前是。能在互换坑洼故事的人之间产生的同袍情谊,无与伦比——前提是你能逼自己去和他们打交道。此外,你偶尔可以拧一拧液压件,让司机座椅猛地往上蹿六英寸,CEO 一头撞上脑袋。“这是 Oracle 的已知 bug。欢迎下来亲自查看。”
说这话时尽量别笑出声。
真相是,如果你不是系统管理员,你会做什么?我们都知道你会回家,躺在你那加长型滑板上,滑到自己车底下换机油,盼着有人来开它。会有人来的。总有一天,有人会看到你的工作,说:“嘿,如果我把这玩意儿拿走,把其中所有聪明和有价值之处统统毁掉,就能让我这极为小众的问题没那么折磨人。”继续干吧!
最纯粹意义上的系统管理是惠及文明的失调,意味着社会对治愈它毫无兴趣,更别提研发疫苗了。况且你的应对策略怪得离谱,让其他人浑身不自在。他们把这归结于你脑袋挨了反复磕碰,又一次证明人们多么热切地拥抱简单、优雅而又错误的解释。只要你和你的电脑隔离,所有人都最高兴,与未受污染的人群隔开——反正那群人也都忙着玩最新的手游,尽管我们都知道那不过是《Civilization》或《Doom》或《Solitaire》的拙劣模仿。或许《Spacewar》,如果他们觉得自己有品位的话。
既然如此,你为什么还要为 .0 版本发愁?
有问题想问 Michael? 请发送至 letters@freebsdjournal.org
Michael W Lucas 著有五十多本书,包括即将出版的《Run Your Own Mail Server》。他想金盆洗手去做铅笔走私贩,但他那套残缺的应对策略不允许。更多信息见 https://mwl.io。
最后更新于