为什么我抛弃了 Ubuntu?

共 5026字,需浏览 11分钟

 ·

2021-05-25 16:30


点击上方小白学视觉”,选择加"星标"或“置顶

重磅干货,第一时间送达

本文转自|视觉算法

Ubuntu 是很多开发者优先选择的 Linux 发行版之一,但是本文的作者在使用了十年之后却最终“抛弃”它转投“他人”怀抱。原因何在?




十多年来,我一直在使用Ubuntu的Linux发行版。但是,经过这么长时间以后,我第一次改变了心意。如今我开始使用Manjaro,而且感觉非常好!


ubuntu非常棒!

对于Ubuntu,我仍然会给予很高的评价,而且我非常敬仰Canonical。在企业界,没有人能像红帽那样将Linux作为一种严格的企业基础设施工具予以大力推广。Canonical也同样功不可没,它成功地将Linux桌面版推广到了很多新手用户群中。
很多人第一次尝试Linux都是从Ubuntu开始。在他们站稳脚跟,并获得一些经验后,一些人就会尝试使用其他发行版。无论是在现实生活中还是在网上,我都听到了很多类似的故事。很多人告诉我他们特别喜欢某个发行版,比如Fedora、Debian等,但刚开始时他们接触的都是Ubuntu。如果从一开始他们就尝试自己喜欢的发行版的话,可能未必能够坚持下来。这一点完全归功于Ubuntu。
没有企业或公司是完美的。多年来,Canonical也曾做出过一些考虑不周的决策,例如将Unity桌面(旨在最大程度地增加小笔记本的屏幕空间)强加到所有其他计算机上。但是,它虚心地听取了用户群的意见,并推翻了部分决定。取消默认情况下亚马逊的搜索结果就是一个很好的例子。总体而言,我仍然认为Canonical在Linux领域发挥着良好的作用。我此次的决定与Ubuntu背后的组织无关。
那么,为什么我要换到Manjaro,这个决定适合你吗?


Manjaro的速度超越了Ubuntu

出于研究及其他目的,我保留了许多Linux发行版的VirtualBox镜像。我发现,在虚拟机中运行Manjaro几乎与在我的机器上直接运行Ubuntu一样快。
这是一个非常引人注目的因素,因为我经常需要编译大型代码库。我的计算机完成这项任务的速度越快,我就可以越快地展开下一项任务。
Manjaro可以更快地加载应用程序、在应用程序之间切换、移动到其他工作区以及启动和关闭。而且所有这些加速都可以叠加。
刚刚安装好的操作系统一般都很快,这样的比较公平吗?我认为很公平。今年4月下旬我刚刚安装了Disco Dingo 19.04,在这么短的时间内,Ubuntu的速度下降不应该如此明显。我一直在Ubuntu上使用GNOME,而且如今也在Manjaro中使用GNOME——虽然Manjaro还提供Xfce、KDE以及命令行安装方式。
那么,为什么Manjaro会具备这样的速度优势呢?下面让我们看一看默认情况下运行的服务和守护进程的数量。它们都会消耗系统资源,例如少量的内存和一些内核时间。你可以通过在终端窗口中键入以下命令,来检查已启用的服务和守护进程:
1systemctl list-unit-files --state=enabled --no-pager


Ubuntu上的结果如下:


Manjaro上的结果如下:



这两个系统都是全新安装的。如上所示,Manjaro拥有24个启用的守护进程,而Ubuntu拥有90个启用的守护进程。这种开销势必会产生影响。
你的实际情况可能会略有所不同,但我认为,就速度而言,Manjaro拥有绝对性的优势。


Manjaro是一种精益、精简的Linux系统

Ubuntu配备了许多应用程序。而Manjaro基于Arch Linux,并采纳了很多Arch Linux的原理和哲学,因此与Ubuntu有所不同。



与Ubuntu相比,Manjaro似乎很简陋。你可以简化安装(这意味着安装时间很短),然后再决定所需的应用程序。简化版带有电子邮件客户端、Web浏览器、办公套件以及其他一些必需品,但除此之外,安装哪些应用程序完全取决于你。
Manjaro感觉就像驾驶自制的卡丁车。而Ubuntu感觉像是一个大型、舒适、库存充足的旅行房车。两种方式各有所长。但是,似乎最初只加载必需的应用程序更合乎逻辑。如果你喜欢“包罗万象”的方式,那么Ubuntu应该更合乎你的胃口。



Manjaro不像Arch Linux那样追求极简主义。在使用Arch的时候,你的确可以从零开始,然后手动调整设置。你需要编辑一个文件来指定键盘布局,然后再通过另一个文件来设置终端字体。默认的Arch安装完成后,你可以通过命令行运行Linux实例。如果需要图形的桌面环境,则需要更进一步,从诸多选项中选择一个,然后再安装与配置。
如果说Manjaro感觉就像驾驶自制的卡丁车,那么Arch感觉就像需要亲手冶铁,然后再制造卡丁车。但这就是Arch的特色——预先确定的功能几乎为零。
如果你不是纯粹主义者,而且你也不需要这种程度的详细控制,那么可能Manjaro更接近“无掺杂”的Linux。它与Ubuntu的体验完全不同,感觉很纯净、清爽而且反应很灵敏。
如果你曾经使用过Google官方的智能手机(Nexus或Pixel等),而且也体验过Android裸机,那么你会非常喜欢Manjaro的这种与众不同。与其他手机制造商不同,Google官方的智能手机中用户和操作系统、工具之间并没有那些所谓的“改进”。
这就是我个人对Manjaro的感觉。


最尖端的滚动发布

Ubuntu每年都会发行两个常规版本:一个在四月发布,另一个在十月发布。因此它被称为固定发布或定点发布系统。所有应用程序和功能经过开发和测试后,提交到下一个版本中进行发布。当发布日期到来时,Ubuntu会提供全新的发行版。
在滚动发布中,代码库中的应用程序在通过开发人员测试,并经过验收测试后就会被更新。然后就可供用户下载了。这种持续的更新是不间断的。整个发行版不会出现“下一个版本”的重大跳转。这两种方式都有各自的优点和缺点。
在滚动发布模型中,你不必经历每年两次的系统升级。你可以及时地获取新功能、内核和应用程序。但是,因此付出的代价是稳定性。“最尖端”的锋利性是双刃剑。



Manjaro将新应用程序和功能的发布推迟了数周,并希望以此来规避滚动发布模型的大部分风险。所有应用程序和功能都需要经过测试,并证明安全后才能使用,但依然难免有漏网之鱼。
当然,即便某个功能出了问题,你也很容易就可以追查到,因为你知道最后更新的内容。因此回滚也更加容易。也就是说,如果在你升级或安装不久后发现了问题(或问题本身广为人知),那么你就知道最后一次更新出了问题。
我花了两天的时间试图弄清楚我的以太网连接到哪里去了。但它好像销声匿迹了,无论是命令行或图形界面工具中都没有它的任何踪迹。最终,我发现是我自己的问题,我利用不匹配的软件模块构建了一个VirtualBox,我的错!
同样,每次在新版的Ubuntu发布后,我经常发现常用的应用程序被删除了,或者我依赖的某个应用程序无法正常工作了。为什么每次升级后,我都必须修改fstab中Samba SMB挂载的设置呢?
而Manjaro建立了一种干净轻松的方式,帮助你保持自己希望的状态。我喜欢这种方式,因为你可以选择与“最尖端”的距离——你可以远远地观望,也可以勇敢地去尝试。
当然,许多使用Linux的人都不想太靠近“最尖端”。他们渴望的是长期的支持和稳定性,以及两年一次的升级。
滚动分布模型是我更加偏向于Manjaro的另一个因素。


更好的第三方软件库

Ubuntu的apt-get软件包管理器和Ubuntu Software应用程序都非常优秀。虽然有些年头了,而且略显笨拙,但依然可以正常工作。而且由于Ubuntu非常流行,因此许多不属于核心发行版的应用程序(例如Slack)都提供了“ .deb”文件,以简化安装。
但是,效果不太理想的是Personal Package Archives(PPAs)的管理。PPA是一个或多个应用程序的代码库,通常由开发人员单独提供。如果想使用PPA,那么你需要通过终端窗口中将其添加到系统中,并运行sudo apt-get update。然后,再通过sudo apt-get安装该软件。
虽然这个过程不需要花费太多时间,但接下来管理PPA的工作非常麻烦。PPA在到期时应该被清除。如果重新安装Ubuntu,那么还需要恢复这些PPA。它们可能会被遗弃,无人管理,而且还没有任何通知。
对于许多人来说,Ubuntu的升级可以无缝进行,但是对于有些人来说,Ubuntu的升级苦不堪言。这些不幸的人需要重新安装才能迁移到新版本。而且在快速重新安装系统后,恢复所有的PPA非常繁琐。



Manjaro的代码库聚集了一大批软件,且由社区志愿者控制和管理。Manjaro中的软件包管理可以满足你的所有需求,你可以在众多命令行和GUI中进行选择。
在使用Manjaro的时候,你还可以访问Arch用户代码库(Arch User Repository,即AUR),该库可能是满足所有发行版需求的最大的代码库。当然,AUR中还包含最新的产品。
再次重申,“最尖端”有利也有弊。但是,如果你想要的某个功能尚未添加到Manjaro库,那么就可以利用AUR。



Manjaro的软件包管理感觉像一股清流。你拥有标准的代码库,而寻求刺激的开发人员可以利用AUR。与众多PPA的管理相比,这种方式非常简洁。
Manjaro再得一分。


三思而后行

当然,在安装最新版的Manjaro之前,最好还是先试试看。如果你有闲置的硬件,那么可以试试看,确保Manjaro发行版符合你的期望,然后再在你日常使用的计算机上安装。
你也可以通过Manjaro Live CD,亲身感受Manjaro。但是,由于CD-ROM驱动器的吞吐量瓶颈,性能会很差。另外你也可以选择USB的方式,但同样,性能取决于USB驱动器。如果你直接在硬件上安装Manjaro,则会有完全不同的体验。
如果你使用VirtualBox或QEMU,则可以在虚拟计算机中快速尝试最新版的Manjaro。
你还可以尝试DistroTest上非常棒的资源。你可以从Manjaro支持的数百种Linux发行版中选择的虚拟机。你可以通过选择桌面环境来测试大多数发行版。你可以测试的版本超过700多种。


底层都是Linux

我换成Manjaro 的原因总结起来如下:


  • 速度快,不臃肿。

  • 滚动发布模型。

  • 简单的包管理。





当然,这些都是主观看法,也许有些对你也很重要。
即使从一种发行版换成另一种,你也可以放心地继续使用自己需要和熟悉的应用程序。这是Linux的优势之一。这种转换速度很快,且能让你感觉宾至如归。
不断探索是一件好事,学无止境!

下载1:OpenCV-Contrib扩展模块中文版教程
在「小白学视觉」公众号后台回复:扩展模块中文教程即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。

下载2:Python视觉实战项目52讲
小白学视觉公众号后台回复:Python视觉实战项目即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。

下载3:OpenCV实战项目20讲
小白学视觉公众号后台回复:OpenCV实战项目20讲即可下载含有20个基于OpenCV实现20个实战项目,实现OpenCV学习进阶。

交流群


欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~


浏览 33
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报