打造基于Linux的高效学习和工作环境:硬件篇

程序员应该使用怎样的操作系统?

我们日常所能够接触到的主流操作系统无非就是微软的 Windows 系列,苹果的 OS X 系列,以及基于 Linux 或其它“类 Unix”(Unix-Like) 操作系统的各种发行版

那么,究竟应该选择何种操作系统作为你的首选操作系统呢?

这是一个旷日持久的论战,而我不准备把这个战火引入到这篇文章中,因为这个问题受到以下三个因素的影响:

  • 使用者的水平
  • 使用的目的
  • 经济条件

所以,任何一种忽略了以上三个因素而得出的“XXX 才是王道,其它都是垃圾!”的结论都是错误的,这个问题是个适用性的问题,而不是好与坏的问题。

而回到“程序员应该使用怎样的操作系统?”这个问题上,并且排除了使用虚拟机这个选项以后,我需要直接给出的结论是(你也可以理解为我强行注入给你的观点):

“在当前,每一个程序员都应该想尽办法拥有一台苹果的 MacBook Pro 并且使用 OS X 操作系统。如果你实在是经济条件不够,请使用 Linux。如果你必须且主要从事 Windows 相关技术的开发,请使用 Windows,或者考虑用虚拟机运行 Windows。”

形成以上结论的事实是:

  • 我们的互联网和你周围的智能设备 90% 运行在非 Windows 环境中。
  • 基于上一条理由,作为一名程序员,如果你只工作或生存在 Windows 环境中,那么你将很有可能丢失 90% 的世界和机会,所以我们应当优先选择 OS X 或者 Linux。
  • 基于上一条理由,OS X 由于兼容 POSIX 标准,能够兼容绝大多数的 Unix-Like 开发需求,即使不行,也能凭借高性能的硬件在虚拟环境中运行 Linux 或 Windows,而 OS X 却难以在虚拟环境中运行,所以从兼容性和全面性的角度来说,应当优先选择 OS X。
  • 基于上一条理由,因为 OS X 只能在苹果的硬件设备上运行,且考虑软件及硬件的性能、易用性和使用体验几个因素,目前无人能够打败苹果的 Mac 和 OS X。

同时给出一个可以颠覆以上结论的可能:

“除非 Linux 或 Windows 能够比 OS X 更顺畅的兼容一切,并且硬件设备买得起。”

微软以大局出发,在最新的 Windows 10 周年更新中已经包含了 Linux 子系统,所以,在我看来系统之争终于有了一个相对完美的解决方式。

为什么我们选择了 Linux?

因为苹果的 Mac 系列真的很贵,绝大多数人买不起,尤其是学生(而普遍用机械硬盘的学生笔记本用 Windows 10 装了一大堆流氓软件后也卡到毁天灭地),所以我们选择了 Linux。

换句话说,如果你买得起 MacBook Pro 笔记本电脑,请一定要买!请一定要使用 OS X!并且你可以忽略这个系列的文章。(如果你的笔记本能流畅的跑 Windows 10 并更新了 2016 年的周年更新,可以使用 Linux 子系统并无视这句话)

另外,还要特别提醒:

那个超轻薄的 MacBook 千万别买!那个性能不是用来搞软件开发的!
那个超轻薄的 MacBook 千万别买!那个性能不是用来搞软件开发的!
那个超轻薄的 MacBook 千万别买!那个性能不是用来搞软件开发的!

如何选择适合 Linux 的笔记本电脑?

首先,基于便携性和可靠性考虑,我们排除了台式机,因为台式机的硬件种类更加复杂,不可控因素太多。

其次,搞清楚你买笔记本电脑的目的,比如如果你喜欢玩游戏并且无法割舍,那么请买一个带独显的笔记本电脑,并且考虑有一个大一点的固态硬盘,以便双系统安装 Windows 和 Linux,也能够尽可能的发挥出全部的硬件性能。

但是,基于 Linux 对于独立显卡兼容性较差的事实(虽然现在有了长足的进步,但是真的依然很差,经常动不动就黑屏无法进入系统什么的……),以及专心研究技术和好好学习的理由,我们还是优先推荐使用 Intel 技术架构和集成显卡(现在笔记本所采用的 Intel 的 CPU 都集成了显示芯片,并且对 Linux 兼容非常好)。

再有,绝不要买各种能够当平板使用并且配备触摸屏等新型硬件的笔记本电脑,因为对 Linux 的兼容性目前真的太差。

我不想再详细论述具体的需求和硬件选择依据,毕竟我们不是硬件评测文章,所以我直接给出当前适用于 Linux 操作系统并且兼顾开发和性能需要的最低配置底线

  • Intel i5 移动处理器(搞软件开发的最低底线,不解释)
  • 8G DDR3 内存(流畅运行虚拟机跑 Windows 的最靠谱底线,关键是这年头内存条不值钱……)
  • 128G 固态硬盘(当今世界机械硬盘是造成系统的性能低下的最大瓶颈,而且十分严重,和固态硬盘相比简直一个天上一个地下,珍爱生命,远离机械硬盘!)

至于笔记本电脑的品牌,从对 Linux 的兼容性为根本出发,同时考虑质量和口碑,我们刻意的推荐(绝对不是打广告,也绝非利益相关):

  • 联想的 ThinkPad 系列

是的,ThinkPad 系列,一方面是因为 ThinkPad 一直以来的口碑和“真正的笔记本电脑”的评价,更重要的是 ThinkPad 系列对 Linux 的支持真的是目前最好的。其次是戴尔的笔记本电脑,但是根据我们长期校园教学的经验,戴尔的笔记本电脑对 Linux 的兼容性真的参差不齐,所以不推荐。

你可以前往 ThinkPad 官方商城选购自己喜欢的型号:

http://www.thinkworldshop.com.cn/

型号参考请参阅:

https://www.zhihu.com/question/21299566

但是我要特别强调的是:

  1. 配置请一定不要低于前面说的最低标准。
  2. 对于 Linux 来说,硬件选择上的保守比激进更稳妥。
  3. 如果价钱已经和 MacBook Pro 相当了,请不要犯傻,改买 MacBook,除非你特别强调玩游戏。

对于现有设备如何进行改造?

由于绝大多数的人都已经拥有了各种型号的笔记本电脑,所以考虑如何以较低的成本改造手中的笔记本电脑是最佳选择。

在此,我基于经验和认真思考,给予以下建议:

  • 我默认你将会以 Linux 作为主要的操作系统。
  • 购买一块儿符合自己笔记本电脑接口的128G或更大的固态硬盘,换掉现有的机械硬盘。
  • 购买一个 USB 3.0 的笔记本硬盘盒,用来将换下来的机械硬盘存放并作为移动硬盘使用,这样不但可以备份了资料,未来还可以当作数据盘或者备份盘使用,以应对因 Linux 使用不当造成的需要重装系统的可能性。
  • 如果内存容量低于 8G,请将内存扩充到 8G,买内存条之前请看清自己的笔记本内存插槽有几个,以及现有内存的规格和品牌,尽可能保持一致,这样兼容性和稳定性比较好。

根据以上建议,我给出几个举例,再次强调,我不是托儿:

如果不考虑内存,只需要不到 350 块钱就能将你现有的笔记本升级到一个顺畅的状态!并且经过合理的设置和搭配合理的应用,还能使其易用性达到一个非常理想的水平。

我的电脑已经达标了,我该怎么开始使用 Linux?

推荐一个基于我们的教学经验而总结的简单的 Linux 安装及设置指南,使用了比较适合新手的发行版 Ubuntu:

http://thoughtworks-academy.github.io/linux-guide/

仅适用于新手,并且只是建议,后续文章中我会推荐许多易于新手使用的炫酷 Linux 软件,敬请关注!


欢迎关注我的微信公众号

微信搜索:枪炮与代码,或者搜索公众号ID:guns_n_code

枪炮与玫瑰