软件安装与禅的修行

软件安装是个学问,这是我在大学的时候总结出来的。看《禅与摩托车维修艺术》的时候,让我再次想起了曾经的这个想法。

大学时期,总是有很多同学找我修电脑。这其中包含的问题无非就是装系统,装驱动,装软件。其实这时候我并不理解大家为什么不都对这种事情上心,因为这些同学他们讨厌这些密密麻麻的安装过程,只喜欢华丽的界面,稳定的运行环境。

但是我不一样,第一,我渴望拥有一台电脑的从高中就开始了,这种渴望让我对相关的每一件事情都充满了热爱,尽管在高二的时候得到一台同学家里淘汰的主机,没错,只有主机,但还是足够我透彻地研究整个计算机结构了;第二,我觉得这个安装过程本身很有意思,我觉得是软件在考验你的耐心,要想熟悉使用,那么安装过程也是一个非常棒的第一课;最后一个原因,我觉得同样是一个平台,为什么别人(网络上)可以安装成功,为什么你就不可以呢?

这么多年的经验告诉我,除非你拥有所有软件所需的背景知识,要不然都需要经历这个痛苦的第一节课。那就是通过安装工程来了解这个软件。

所以到大学最后,我总结到,所有软件问题,都不是问题。其实是狭隘地在自己的范围之内看这个问题。如果扩大到硬件,自己就会熟手无策。这时候只能售后服务商店。

我给数不清多少人修过或者指导修改电脑。因为修电脑,我甚至有想到自己开一个工作室的计划。FengStudio,连名字都想好了。那时候流行点点空间,甚至我在点点空间还建立了一个同名的空间。算是我对这个问题的成体系的一个思考。为什么说是成体系?因为我总结,解决问题并不难,但是棘手之处在于发现问题,验证原因。这一点毋庸置疑可以成为一种商业模式。因为这是一套解决方案。

说到底,对软件问题的理解,促使了对理性思维的修行。为什么这么说?因为不仅的我,也包括你,肯定遇见过以下的很多情况:系统忘记了密码,怎么办?系统的无线网络,怎么也连接不上了,束手无策;一个软件安装很多次,就是安装不成功,可我就是按照说明文档安装的。

【沉着冷静地,跟随文档内容,而不仅是步骤】

你面前冷冰的机器,让你难堪。当你冒火的时候,它并没有表现得多么听话很多,它还是保持着它的态度,显示着跟上次尝试一样的错误。这时候当我们冷静下来,重新理清对应的必要步骤,那些是必要的条件,我们就能将这个问题梳理清楚。有很多同学对应的环境都是错误的,就上来提问,我的Apollo为什么启动不了,因为他执行脚本的环境就是错误的,他是对照了文档的顺序走,但是没有对照文档中的环境标识。我们说如何鉴别你是在Docker环境内,还是在环境外,刚开始我们并不觉得这是个问题,但后来确实觉得非常有必要,所以讲Docker内的机器命名为in_dev_docker,这样就很好的提醒到开发者。另外让开发者提供对应的错误信息时,也能做出快速的结论判断。

也许说到这一点,很多人马马虎虎地从第一步就失败地执行,直到最后“build failed”甩在屏幕上时,才变得认真起来。

当你第一次安装失败,取得了失败的教训,感性在起主要的作用,你觉得这个过程我按照官方的文档一定能够成功,因为这已经是别的成功的实践总结;当安装失败,冷静下来的时候,理性让你变得沉稳,具体是哪一步出现的问题,具体的原因是什么,都变成了自己关心的问题。

最后,软件的安装并没有完全完美的解决方案。在研发同学的眼里,我们提供了Docker,用户按照安装脚本,3步就可以进入Apollo环境;在用户眼里,这个过程需要切分为很多步,安装是你了解一个软件(Apollo)的第一课。

script>