程序员开发Linux版本选择

linux可以理解成两类    
    一是基于deb包管理系统,debian,ubuntu,linuxmint,deepin
    二是基于rpm包管理系统的,redhat,centos,fedora

    

    其余的像suse enterprise,之类的都有自己的包,但是都兼容rpm

    如果以后要用linux做一份工作之类的,那最好是centos

    如果只是想体验一下linux,ubuntu是最好的选择,目前国内的一些linux程序都是以ubuntu来讲的,而且ubuntu的社区支持也最好,遇到问题会有很多人解答。


标准答案肯定是『视爱好而定』:喜欢开箱即用的选Mint,喜欢支持广泛的选Ubuntu,喜欢稳定的选Debian / CentOS, 喜欢port-like系统的选择Gentoo,喜欢软件更新的选Arch。

另外一种标准答案是『区别不大』,确实,今天Linux软件日趋完善,开源生态圈工具繁多,已经不是10年前5年前的样子了。

第三种标准答案是『和服务器环境一致』,这个就不用解释了。

但是我还是要投Arch一票。不是说别的系统不好,而是说我真的非常享受Arch的优点。

1) 完善的单点包管理系统,你可以用同一套软件管理系统管理Arch官方的源,网友制作的软件包,从源代码编译的软件包,同时,你可以轻易的重新编译某个特定的系统软件包,增加/修改一两个编译选项,或是制作自己的软件包。根据我的经验,Arch的软件包模型非常好的避免了其他发行版不同软件源之间的冲突,或者是不同软件版本共存的依赖问题。

2) Rolling - 只有一个不断更新的版本,没有版本更新的困扰,就没有系统是13.04结果发现某个软件只支持12.04和13.10的困扰,查看文档的时候不用担心某个特定版本的解决方案适不适合你当前的系统。你也可以迅速享受新编译器、新软件的特性。

3) 强大的社区支持。Arch的文档质量就不用我再安利了。软件更新快速、bug修复快速,官方源和AUR的软件数量庞大。

4) 简单、一致的系统模型: Arch基本上不对上游软件包作修改 - 你使用的是官方的systemd, crond, gnome,vim, 所以所有Linux上通用的步骤,在Arch上都适用。基本上,除了看看pacman/abs是怎么管理软件包的之外,你无须额外的知识来管理一个arch系统。

5) 易用稳定: 和流行的观点相反,Arch其实是非常易学易用的,而且非常少出问题。这主要体现在软件管理统一、抽象层薄,软件更新快,所以你遇到的因为抽象、更新、版本,冲突带来的问题非常少,标准的实现和丰富的文档也省去了很多的学习成本。顺便黑一句Apple,xcode的bug不见减少,OS X的bug倒是越来越多了,而且越来越慢。

6) 飞快。各种意义上的。

Update - 很多人觉得Arch是一个月不更新就挂 - 我经常三五个月不更新完了之后pacman一次的,当然我平常在服务器上做的事情也比较简单,就是跑跑webserver。Arch主页一般都有news,明确帮你解决升级的时候可能遇到的问题 - 我看了一下,上一个可能需要手动解决的问题在去年10月份,和特定的java包有关,再上一个是去年二月份,而且前提是你的键盘是PS/2,再往前数是去年9月份,对sysctl.conf的处理有点变化,把文件改个名就好了。考虑到大部分的distribution是6个月一更新,这个周期不能算短吧。

    
    

你可能感兴趣的:(Linux&Mac)