本文是我在知乎上答的一道问题,程序员应该使用哪个版本的linux,为了给对开源世界和linux感兴趣的人在入门上做个参考,。我的文章主要目的之一是为了帮助更多处于观望和初期接触linux的同学,希望他们能够通过主流的发型版来感受到linux魅力,投入到开源的世界里来。
关于linux的历史发展我就不提了。
关于用linux distribution做开发,我建议参考以下几点:1.省事!!2.漂亮,自己看着舒服用着也舒服。 3.稳定!!
自己把ubuntu, fedora ,opensuse全部都使用了一段时间,最后选择主力机用的是ubuntu 14.04LTS,另一台电脑用的是opensuse 13.2
说说我的看法,其实我感觉在用户方面使用来看,其实不是在用不同的发行版,而是在用不同的桌面环境,gnome和KDE,还有unity。因为各个发型版的设计理念和设计哲学都差不多,差别就在包管理和一些细节设计上。
至于debian,rh,cent os这些用的人不少,稳定是稳定,内核或者软件等更新太慢,新特性支持较少;而arch,gentoo,太激进,太折腾,个人不建议非折腾党拿来当成开发主力机,剩下就是非常流行的默认unity的ubuntu,默认gnome的fedora,默认kde的opensuse,这三个distro都有商业公司和社区在支持,所以一般遇到问题比较容易解决。
个人喜欢ubuntu14.04LTS, bug不多,桌面特效很炫,软件支持非常丰富,而且对硬件的支持非常到位,所以目前在当主力机用;opensuse13.2也非常好,kde使用视觉习惯偏向windows,但自主性很强大,配置好了非常华丽,而且流畅!软件支持也不错,而且一键安装很方便,目前跑在我10年的i3 一代 4 G内存的本非常顺畅,gnome3版本的opensuse也是非常简洁大气,相当稳定。 Fedora21 ,个人不太喜欢,bug多,经常报错,一般现行版本号后退一个版本的相对稳定点,也就是现在的fedora20,跟另外两个distro相比,感觉不出来啥优点能吸引我,如果想用rh系,个人建议用centos。
建议就是ubuntu的长期支持版和opensuse,配置好环境就别折腾了,好好写码才是正理。
更新 决定细致的说一下我对关于怎样选择发行版的考虑。
当我们想要用linux的时候,首先明确你要用linux的目的: 程序开发,学习linux,所以问题来了:
我该选择那个发行版??
linux出去一些个别的distribution之外,其实是三大派系:一是Debian系,ubuntu是其非常流行的衍生版本,目前最新长期支持版为ubuntu 14.04 LTS;二是RH系,Desktop发行版为Fedora,目前最新版本为Fedora21;三是SUSE系,Desktop发行版为opensuse, 目前最新版本为opensuse13.2;
关于发行版本的选择,对于程序开发,我们首先要考虑的是 稳定易用不折腾,其次是 漂亮好看看着舒服。
所以首先绝对不建议fedora,bug太多,时不时报错(Fedora21),因为fedora存在的意义是给rh的enterprise版本测试新特性使用的,所以更新非常激进,bug也比较多,所以稳定性层面来说,不是很适合拿来开发用;
考虑观赏性,而ubuntu LTS版本和opensuse ,在保持新特性的同时,稳定性(包括GUI 的稳定性)已经相当不错了。而且无论是unity桌面,KDE桌面还是Gnome桌面,现在都可以配置的很华丽。所以这两个发行版关于漂亮方面都能够满足。如果属于极简主义者,请选择Gnome桌面的opensuse,如果对自己桌面有配置强迫症,那么请选择Unity桌面的Ubuntu或者KDE桌面的opensuse。
考虑不折腾,ubuntu 和opensuse对硬件的支持都非常良好,但是如果你是Intel+Nvidia双显卡,请直接选择Ubuntu;如果和win组成双系统,建议选择ubuntu; 如果单奔,那么ubuntu和opensuse都可以。
考虑易用性,ubuntu和opensuse对软件支持都非常优秀,一个拥有software center的apt包管理使用deb的双子星,一个是Yast+zypper使用rpm的黄金组合,这个自己选择。
最后一点关于开发环境,二者基本没有区别,请安装好你选择的发型版,配置好开发环境,然后努力的写代码!
关于开发,本人水平所限,本文说的开发是基于linux这个platform去开发程序,去完成日常学习工作和娱乐等等。所以我认为一个可持续稳定的发行版才是考虑的因素。其次考虑到一个主流发型版的支持现在基本能持续2-3年,而个人设备现在更替的速度,也差不多是3年一换代,到了差不多的时候可以买新机再配置当年最新的长期支持版就可以了,所以,滚动更新这个特性没有必要作为专门的考虑;其次opensuse也是具有滚动更新的版本的。
PS:建议尝试英文的开发版,而且一定要会爬梯子google(墙内),无论是对语言的提升,还是对linux的学习,都有着巨大帮助!
更新,讲一下想把linux玩的更深一点的,建议直接用Arch。
首先要明确的是,Arch是非常优秀的一个distribution!但是上手难度相对于三大商业发行版派系来说要高很多,如果不是对linux抱有相当大兴趣的,我的建议是不要拿Arch当主力机来用。
当然,如果想深入学习linux的话,答主的建议也是当你通过某个主流发行版入门后,直接选择Arch。现如今Arch的wiki可以说是所有distribution里做的最好的。可以从头配置出一个发行版,桌面环境,特性等等,完全是一个你想要什么样的系统,就是什么样的系统。当你把Arch玩儿转了,就可以学习shell编程,内核编程等等,继续在linux的到路上越走越远。
最后关于linux的教材:
- linux鸟哥私房菜(第三版),以centos为主的教材,对其他发行版也适用,建议学习。
- 操作系统,这个教材很多,上上公开课或者自己网上下载本pdf大概看看,了解操作系统的基本原理即可。