技术开发 频道

盘点2016五大重要的Linux发行版升级

  【IT168 评论】开发者往往希望系统可以最接近他们想象中的样子,因此,Linux最终成为了大多数开发者的桌面环境。Linux是无限可定制的,它几乎可以轻松访问开发者可能需要的所有软件。但对开发人员来说,一个好的Linux环境必须具备一些关键属性,例如功能丰富,灵活,稳定,易用。

盘点2016五大重要的Linux发行版升级

  本文,我们从开发人员的角度来看看2016年比较重要的五大Linux发行版版本升级,以及它们是如何构建以满足开发人员需求的,提到的所有发行版都有几年甚至几十年的用户支持和发展。

  Ubuntu,Mint,Fedora,CentOS和OpenSuse,这些发行版中的每一个都有不同的优点和缺点,每个都以自己的方式平衡了灵活性,易用性和稳定性的需求。

  Ubuntu及其衍生版本Linux Mint都为用户提供了不错的用户体验,Fedora也在不断更新各个版本,虽然发布的间隔周期比较短,CentOS似乎最适合那些打算专门为RHEL开发的人,但它也吸引了希望前后版本之间变化不要太大的开发人员的注意。OpenSuse Leap通过其智能设置,子卷以及为文件系统管理提供的强大工具集吸引了大量开发人员。

  1、Ubuntu 16.04 LTS

  一小部分Linux发行版往往会成为用户最常见和最可靠的选择。Ubuntu Desktop可以算是最受欢迎的一个,当然也是最受尊敬和曝光率最高的其中之一。与Ubuntu相关的版本,尤其是LTS(长期支持)版本,是开发人员绝对不会后悔的选择。

  选择Ubuntu时,开发人员使用LTS版本是最有意义的,它可以获得五年的支持。 使用LTS版本,可以推迟主要版本修改带来的系统不稳定性,但不会影响安全更新。开发人员很讨厌因为一个新的操作系统版本更新,而不得不停止一切工作,重新配置环境,有了LTS版本,省去了这一大麻烦。

  另一个好处是,Ubuntu的安装过程允许添加对专有硬件驱动程序和软件的支持。并不是每个开发人员都需要这些,但LTS在一开始就提供了一个方便的一次性选项。 此外,如果在VirtualBox VM中进行Linux开发工作,Ubuntu 16.04 LTS会预先安装驱动程序,以将缩放和鼠标集成。(但是,它似乎没有预安装剪贴板支持程序,如果你想要,你需要安装VirtualBox Guest Additions。)

  从程序员的角度看,Ubuntu默认的Unity桌面环境有很多优势,但如果你喜欢使用不同的环境,可以通过命令行添加一个,Ubuntu还提供了一些可选的桌面(包括GNOME,KDE,Xfce和LXDE)预装。

  Ubuntu中一个特别适合开发者的功能是命令行工具Ubuntu Make(默认情况下不安装,但很容易修复)。众所周知,Umake为开发人员提供了一种方便的方式来安装Node.js,Dart,Rust,Swift,Go,Scala,Android等整个开发栈,工具和各种IDE。这在诸如Ubuntu Desktop 16.04 LTS的环境中是有用的,因为它允许开发栈本身不断更新,而不会潜在地占用系统的其余部分。

  最后,通过Canonical存储库可以直接获得各种各样的IDE。你不仅会发现Eclipse,NetBeans和MonoDevelop,还有一些不太知名的项目,如Ninja,Anjuta和Geany。

盘点2016五大重要的Linux发行版升级

  2、Linux Mint 18.1

  Linux Mint是Ubuntu的衍生产品,但它与Ubuntu不同,保留了自己的特点。 Mint的首要目标是提供一个舒适的桌面环境,当然这几乎会是每个开发者考虑的首要因素,你可能会问开发人员选择用户发行版时考虑的几大要素是什么?

  一个很简单的答案:开发人员也是用户,许多功能开发人员用的舒服,用户也会很舒服。例如,如果你只是想要一个开箱即可的功能,Mint是非常好的选择,它不但支持Linux系统的EXT4格式,而且还支持Windows的FAT32和NTFS 格式。用户可以随时自定义创建,例如,BtrFS用于OS,XFS用于OpenSuse用户数据。但是Mint默认的是sane,用户可以在桌面环境中安装经常使用的第三方和未开源的驱动程序。

  在Linux Mint 18.1正式版中,用户能够根据自身喜好来选择Cinnamon或者MATE桌面环境。它很有韧性,Cinnamon(和Mint本身)是高度可配置,脚本化和可自定义的。大部分开发工作都是在Python,JavaScript和C中进行的,这意味着任何拥有这几门编程语言开发经验的开发人员都可以自由地潜入Mint和做一些调整。

  Mint默认存储库中提供的软件是Ubuntu中的,这对开发者来说是个好的消息,因为Ubuntu在这方面比较齐全。 许多流行的开发工具Eclipse,NetBeans,Geany,MonoDevelop,Lazarus(自由Pascal IDE)等,都可以直接使用,无需连接到外部repo或重新下载安装。你也可以从Linux Mint社区网站安装Ubuntu Make,让Umake的开发堆栈一触即达。

  最后,因为所有的Mint版本都基于Ubuntu LTS版本,所以可以保证享受到长时间的服务更新。例如,Mint 18.1正式版本预计将在2021年4月之前获得全面支持。

盘点2016五大重要的Linux发行版升级

  3、Fedora 25

  Fedora长期以来一直是红帽企业赞助的Linux功能出色的试验场。它也成为Linux开发人员很好的一个桌面环境,特别是现在Fedora已经被拆分成独立的桌面版,服务器和云版本,桌面版当然是这里的重点。

  Fedora每年两次的发布周期对于那些所有东西都喜欢用最新版本的开发者来说既是好消息也是坏消息。好消息是,新版本不会自动使现有版本无效,因此你可以坚持使用一段时间的旧版Fedora。坏消息是,发布后仅支持个人版本13个月,并且没有长期支持版本。如果选择Fedora,你至少需要每年执行一次完全升级,否则将失去支持。 这意味着你可能需要将用户和开发数据保存在单独的分区上,以防止数据消失。

  Fedora的默认桌面是GNOME 3,这是相当合理和易于使用的。只需要很少的桌面体验开发人员就可以安装另一个桌面,或者直接使用另一个预装的桌面获取另一个版本的Fedora(其中一个Spin)。 KDE Plasma,XFCE,LXDE,Mate-Compiz,Cinnamon,甚至OLPC SOAS桌面都可以使用。

  每个新版本Fedora的发行说明都针对使用操作系统的开发人员。这些笔记详细介绍了与Fedora打包的不同语言用户以及可用于不同语言的新工具(例如Fedora 24的注释中的新GCC用户)。

  Fedora的快速升级周期意味着其上捆绑的编程语言和运行时往往都是最适合生产的最新版本。例如,Fedora 25包括Ruby on Rails 5.0和Go 1.7。你甚至可以在最新的Fedora中找到Mozilla的Rust ,Python的多个版本可以并排使用以及PyPy和Jython,Docker的最新版本也包括在内。

  Fedora软件仓库中的开发工具从传统产品(如Eclipse和Vim)到MonoDevelop,Code :: Blocks和Geany等。 你甚至可以找到Arduino和MCU 8501硬件板的IDE。 没有Ubuntu,但Red Hat的的RPM包格式无处不在,还支持Docker和Flatpak,与此同时,还有很多可以选择添加的第三方软件。

盘点2016五大重要的Linux发行版升级

  4、CentOS7

  CentOS 是一个基于Red Hat Linux 提供的可自由使用源代码的企业级Linux发行版本。CentOS被红帽爱好者称为没有序列号的RHEL,主要是建立一个安全、低维护、稳定、高预测性、高重复性的 Linux 环境。虽然CentOS项目和红帽在2014年就开始合作,但CentOS在技术上是一个独立的项目,它提供了几个版本的RHEL代码,可能会很吸引开发人员。

  使用CentOS的主要动机来自于系统的整体稳定性和其与RHEL二进制的完全兼容性。如果你正在开发专门用于RHEL的软件,兼容性将是最重要的因素,但是许多开发人员被类似于RHEL的稳定性所吸引,因为它保证了可预测和可重现的环境。和RHEL本身一样,CentOS每个版本也可以获得多年支持。例如,CentOS 7将会一直获得支持到2024年6月30日。

  现在的坏消息是,首先,在给定版本的CentOS中提供的软件几乎从不改变。对操作系统的支持包括操作系统随附的每个软件包的主要版本的错误和安全修复程序,但不包括对这些软件包的实际升级。例如,CentOS 7附带的Nmap版本是6.40,而Fedora附带的版本是7.12。

  更多的坏消息是,在任何CentOS版本中默认情况下不会包含桌面版中许多常见组件。例如,你不会在任何默认的CentOS存储库中找到支持MP3播放的组件。对于诸如IDE的通用开发工具也是如此,默认情况下,CentOS中唯一可用的开发工具是Emacs和Vim之类的。

  这个问题也不是很难解决,作为CentOS最大的第三方存储库之一,Red Hat软件集合仓库提供了软件集合以满足特定需求。例如,“devtoolset”集合包含Eclipse及其所有支持软件,安装程序只需要输入:sudo yum install centos-release-scl and sudo yum install devtoolset-4。另一种方法是可以在CentOS上安装Docker尝试满足需求。

  CentOS的安装过程与Fedora的安装过程几乎相同。唯一的主要区别是选项,如是否安装kdump等实用程序或启用安全策略。但是,如果你想要一个完整的桌面开发环境,你必须自己在安装后手动设置或通过第三方库。

  或者,你也可以使用LiveGNOME和LiveKDE。然而,虽然这些版本可以给你一个桌面环境,但它们不能提供额外的以开发者或桌面为中心的软件。再次提醒,你必须有自己的工具。

盘点2016五大重要的Linux发行版升级

  5、OpenSuse Leap

  OpenSuse Leap是Suse面向企业的桌面发行版的转折。其是将Suse Linux 企业产品的成熟度和可靠性与现代硬件和定期更新的软件相结合。Leap就像Fedora和RHEL(或CentOS)的混合,但它对开发人员最大的吸引力可能是它在智能配置方面的应用。

  当安装OpenSuse Leap时,第一个要注意的细节是如何对系统进行分区。默认情况下,根分区使用BtrFS格式化以增强系统保护,为XFS使用单独的主分区格式化以实现灵活性。BtrFS提供了一些对开发者友好的优点:你可以拍摄文件系统快照,并将它们回滚,甚至可以直接回到进入快照之前的位置。

  BtrFS提供的另一个特定于开发人员的优势是支持子卷(在每一个物理分区内一个或多个独立的可挂载的文件系统)文件系统快照(在一个确定的时间点上一份子卷状态的副本) Leap的设置配置了几个特定于应用程序的子卷,例如MySQL,MariaDB,PostgreSQL,后台打印程序,日志和Mailman默认都有自己的子卷。当然,也可以在安装过程中添加子卷,或者如果要回退到普通的ext4或XFS,也可以这样做。

  在设置时还提供了许多用户环境选项,不仅是GNOME和KDE,还有Xfce。Leap现成的存储库包括开源和非开源软件,尽管这些存储库中可用的软件集合对于开发人员来说有点少。 例如,不包括Eclipse,但Suse为许多应用程序(包括Eclipse)提供了一键安装的在线软件目录。 安装程序会自动订阅相关存储库以保持更新。

  我认为BtrFS快照是Leap的一大优势。Leap还包括Snapper,一个图形工具,可以对快照进行更改,并选择性(逐个文件,逐个目录)或一次性回滚更改。如果你发现给定目录的内容在一段时间内默默变灰,但只想在不中断其他工作流的情况下在该特定目录中恢复特定更改,则快照程序将非常方便。

  Leap的发行说明中没有明确针对开发人员的部分,因此你需要梳理整个文档以查看是否有任何与开发人员相关的内容。例如,Leap 42.2的发行说明中的系统升级部分解释了/ var / cache初次安装时是自己的BtrFS子卷,并提供了如何在现有系统上进行此类更改的说明。

  根据Suse文档,OpenSuse Leap的每个主要版本(小数点向左侧移的版本)至少支持36个月,直到下一个重要版本的Leap可用。次要版本,版本更改在小数点右侧的情况每年可能都会出现,这类可以获得18个月支持。

盘点2016五大重要的Linux发行版升级

  Suse提供了一个优秀的操作系统构建服务称为Suse Studio,你可以使用现有版本的OpenSuse Leap作为基本映像,装备任何数量的软件包,进行多项更改(例如,向生成的映像添加文件或在映像创建后运行特定脚本),并可以以几乎任何图像格式分发结果,你可以从成千上万个预先存在的操作系统映像中选择一个作为自己的生产基础。

0
相关文章