了解不同的Linux发行版


12

在了解基于Linux的OS时,我有些困惑。当我下载Mint和Ubuntu的最新版本时,它们不是核心(内核)“相同”吗?似乎他们具有不同的GUI?从技术上来说,GUI不仅仅是在计算机启动时运行的程序吗?与Windows相同(dos是核心,而explorer.exe是gui)。有人能解释吗?

使用sudo apt-get命令不能从薄荷终端安装Ubuntu吗?

我知道这是一个混乱的问题,但是希望有人可以在GUI出现之前,然后在GUI出现之后澄清多个发行版之间的差异。

Answers:


10

首先:Windows已经有一段时间没有成为DOS GUI了。基于NT的Windows(NT / 2000 / XP / Vista / 7/8)完全独立于DOS。Explorer.exe也不是GUI:它只是一个外壳程序(您也可以找到Windows的外壳程序替代品)

从本质上讲,所有发行版均基于Linux内核。发行版之间的主要区别(从最终用户的角度来看-初始化系统,位于下面的文件/etc以及其他地方存在区别)-

  • 包装管理

Ubuntu,Mint和所有其他基于Debian的发行版都使用dpkg / APT作为打包系统。其他发行版将使用其他系统(例如Red Hat,Fedora,SuSE将使用RPM,Arch将使用pacman)。

  • 套餐选择

实际上,Mint是一个Ubuntu,带有一些额外的软件包(例如,编解码器,出于专利/版权原因不包含在Ubuntu中)和一个不同的主题(创建自定义标识,避免商标/抄袭问题和用户困惑)。

当然,您可以在Mint中安装任何其他GUI:可以在Ubuntu中使用Mint的桌面环境(Cinnamon),从技术上讲(现实是另一回事:您可能会遇到程序包冲突),您应该能够安装Unity和Ubuntu的视觉标识(主题,图标)在Mint中。

因此,从理论上讲,您可以将Ubuntu变成Mint-ish系统,但实际上这很难做到。


根据有关“接口”和“外壳”之间差异的评论,这可能会引起一些混乱:

在UNIX世界中,“ shell”已经具有特定的,公认的含义

Unix shell是命令行解释器或shell,可为Unix操作系统和类似Unix的系统提供传统的用户界面。

与Windows Shell相比,这完全另一回事

Windows Shell是Microsoft Windows中的主要图形用户界面。Windows Shell包含众所周知的Windows组件,例如任务栏和“开始”菜单。Windows外壳程序与“命令行外壳程序”不同,但是这两个概念相关。

在我们的案例中,我们将Cinnamon(或KDE,GNOME,Unity,XFCE)称为桌面环境:一组提供用户体验的应用程序(窗口管理器,面板,通知托盘项目等)。


Mint的界面(肉桂),是您所说的“界面”还是更多的“外壳”?
EGHDK

在UNIX / Linux中,术语“接口”对于GUI更为合适,因为“外壳”已经具有特定的含义(命令行外壳如bashzsh)。或者,您可以将其称为“桌面环境”。
雷南

那么终端a是外壳?
EGHDK

1
@EGHDK不完全:一个shell(在UNIX中是指)在终端内部运行。“终端”,“外壳”,“ tty”和“控制台”之间的确切区别
雷南

完善。您已经回答了我所有的问题。谢谢!我真的很感激。
EGHDK

8

要了解发行版之间的区别,也许您应该再次查看发行版是什么。

什么是发行版

您可能知道所有这些,但请再考虑一下。Linux只是一个内核。在大多数情况下,这本身是完全没有用的。它所做的大部分工作只是为机器上的硬件提供软件接口,以便其他程序使用它。分发比这复杂得多。考虑到:

  • 特定于分发使用的应用程序和库的选择。
  • 用于管理和维护系统的工具。
  • 文档和支持渠道。
  • 发布周期和社区管理。

在Linux之上添加了许多软件层,以创建类似Ubuntu或Mint之类的东西,并且具有无限的配置和选择可能性。

您还应该考虑发行版编辑器的性质。诸如Red Hat,SuSE或Ubuntu之类的项目服务于企业目的,而诸如Mint,Debian或Gentoo之类的项目则由志愿者管理。

发行版和另一个发行版有什么区别

实际上,在发行版上运行的任何应用程序都可以(或易于移植)到另一个应用程序。毕竟,它们都是非常相似的Unix系统。但是,无论您做什么,都无法更改发行版本的发布周期,打包新版本的速度或仅更改其官方论坛的外观。也许一个例子可以更好地显示您:

假设我不耐烦地等待我的软件的新版本,例如几天后就要发布的Python-3.3。如何将其用于不同发行版:

  • 滚动发行发行版(例如Arch Linux或Gentoo)将使其在其存储库中快速可用。维护人员打包并运行基本测试后,就可以使用它。
  • 企业发行版可能会承诺会提供“即将发布的版本”。同时,它仍然可用,但不会出现在任何官方频道中。
  • 在经过全面测试之前,Debian不会将其提供,这可能需要数年的时间。但是,它使测试存储库非常容易为公众使用。(例如,Ubuntu每6个月从该版本库中创建其版本)。

Mint和Ubuntu之间的真正区别是什么。

作为记录,我应该指出,我已经两年没有使用Ubuntu了,而在4年前,我几乎没有使用过Mint。我在这里说的可能不是很准确。

毕竟Mint完全基于Ubuntu,因此Mint与Ubuntu之间的差异很小。最初,Mint只是对Ubuntu的重新包装,具有以下三个差异:

  • 它在默认安装中提供了专有技术(Ubuntu没有提供)。
  • 它提供了一些图形化工具,例如任务栏菜单或应用安装程序,并在基本的Ubuntu安装之上打了补丁。
  • 它更加注重美学。它的索尔甘仍然是“从自由而来的优雅”。

几年前,随着Ubuntu试图推动Unity图形环境,这种分裂变得越来越广泛,Mint社区对此做出了很大的拒绝。肉桂就是这样。

我从未尝试过,但是如果有人让Cinnamon在Ubuntu和Mint上运行,我不会感到惊讶。我要提出的参数是:

Mint和Ubuntu等发行版之间的差异更多地是关于社区和精妙的选择,而不是软件本身。

进一步阅读


我无法编辑答案,因为我只想添加一个单词,而一个编辑需要六个字符...。我想指出的是,您可能在答案开头附近缺少一个单词,它的下方几行显示: “其他程序使用它”应该是“其他程序can使用它”
某物

5

这是个好问题。我的理解是,理论上您可以,但可能无法按预期工作。尽管Mint基于Ubuntu,但Ubuntu和Mint使用不同的软件存储库。这些存储库使每个发行版都独一无二。在任何Mint或Ubuntu桌面系统上,您都可以将存储库设置为所需的任何内容。因此,您可以将一个安装为Mint的系统安装,然后将所有存储库更改为Ubuntu存储库。然后,如果您重新安装所有软件包,则实质上是Ubuntu。但是,Ubuntu和Mint各自对代码进行了一些微调(这又基于Debian)。因此,如果Mint软件包期望进行一组调整,而Ubuntu软件包提供了完全不同的一组调整,则最终可能会导致系统崩溃。

甚至Ubuntu的某些不同“版本”也对其代码进行了奇怪的调整。这是因为Canonical注重易用性,而不是代码正确性或互操作性。最近,我尝试将Xfce4安装到Ubuntu 13.04“服务器”安装上。我最终遇到了一个完全崩溃的系统。真是一团糟。我最终安装了普通的Ubuntu 13.04,然后在其之上安装了xfce。一切都神秘地起作用。某些菜单和程序看起来甚至更好,就像它们是用完全不同的引擎渲染的一样。但是,我使用了与服务器安装(以及用于在同一台计算机上完美运行的Debian安装)相同的所有配置文件和软件包。

对您而言,这只是规范魔法。如果您将所有内容都保留下来,则通常效果很好。如果触摸即使是最细微的东西,也可能会变得很奇怪。


顺便说一句,很抱歉在旧帖子上发帖,但此问题在某些Google搜索的顶部附近弹出。
詹姆斯·哈里斯

欢迎使用Unix&Linux StackExchange!回答老问题在这里并不为过。确保按FAQ停止操作。

4

我将专注于不同发行版的目标,而不是细节,例如他们使用哪个程序包管理器或当前发行的软件版本。如果您要追求的是一个好的目标,那么您可能会从零变成您所在领域的市场领导者(发布时是Ubuntu,但以前是Red Hat),如果认为这对企业来说很重要,则可以改变一些相当基本的技术决策。目标(Ubuntu坚持团结可能就是一个例子)。

  • 红帽:最初是(当时是非常新颖的)商业成功,它为免费产品的用户提供付费服务。最近,实际为该产品收费(不确定现在的外观如何)。大型企业客户群意味着不愿改变-稳定胜过创新。
  • Debian:自由和便携。“通用”是指尝试在许多平台上运行;对开放源代码的高度关注意味着带有封闭源代码组件的任何事物都是不确定的。稳定性很重要,因此相当缓慢且保守。
  • Fedora:最初是Red Hat商业化后的免费版本。实际上,在开源热忱中类似于Debian,但更有可能尝试大胆的新事物。被Red Hat用作新开发的测试平台。
  • CentOS:免费的Red Hat。
  • Ubuntu:桌面主导。易于使用(或至少易于熟悉)和标准化的应用套件,以吸引广泛的用户群。通过根据Debian测试保持六个月的固定发布周期来改善Debian的慢节奏。
  • 造币厂:没有Unity的Ubuntu。
  • Arch:提供每个上游软件包的最新稳定版本,并减少发行版特定的软件包等开销,并提供滚动发布模型。
  • Slackware:简单且类似于Unix,并且不受干扰。
  • Gentoo:基于名为的新颖软件包管理器,可以对本地软件包的编译进行详细控制emerge

该清单显然是删节的。许多流行的发行版都是上述版本的变体,副产品或分叉。 Wikipedia的Linux发行版列表相当全面,结构合理。另请参阅https://distrowatch.com/了解详细信息,例如当前的受欢迎程度统计信息。

一个重要的推论是期望管理。专注于通用兼容性和自由性的发行版可能会不太重视与当前流行的特定Gizmo的可用性或兼容性,反之亦然。如果发行版只关注较小的占用空间和旧版硬件的性能,则可能不希望在动画桌面效果或使用案例(如视频编辑,3D模拟或逼真的游戏)等用例上花费很多精力,即使在最新版本上一代硬件。一个发行版的目标是为刚接触计算机的人们提供简单统一的体验,而无需关心尖端文件系统内核驱动程序是否在其系统上运行。等等。

这也应告知您具体问题的答案。使Unity在Mint上运行可能并不难,但是为什么您不希望仅在Ubuntu上运行它呢?显然可以在Cinnamon上运行Ubuntu,但是您最终将彻底改变Mint,而这可能是巨大的。否则,为什么他们会单独提供一个项目呢?这实际上说明了发行版可能如何将特定策略或体系结构视为在技术上或战略上非常关键,以至于它以非平凡的方式影响依赖链上下的其他组件,这当然也意味着如果您尝试这样做,则需要许多解决方法无论如何将其删除。

但是,这是两个密切相关的发行版;如果您尝试在发行版之间移植软件,则在目标,策略和最终的体系结构决策,共享的遗产和基础架构(如程序包分发网络,支持标准)等方面,彼此之间的距离越来越远变得越来越困难硬件外设或国际化等


我有点精疲力尽。随时更新或添加。
Tripleee '17

由于您收集了所有内容,因此您还可以参考Slackware发行版,即Porteus。
乔治·瓦西里乌

我猜openSUSE也应该在列表中,但是我无法弄清楚他们是否有某种目标,超越了“成为德国人”。
Tripleee

0

Linux发行版不仅仅是一个内核。它们都是也在内核之上运行的所有应用程序(包括apt-get),包括许多非常底层的东西,例如init系统。实际上,所用应用程序的选择是许多发行版的定义点。

从Mint上安装Ubuntu的方法最多,就是将Cadilac带到汽车商店并要求他们将其制成保时捷,但保持Cadilac完整无缺。他们可以花费很多精力和费用将Cadilac转换为保时捷:毕竟,它们在发动机盖下都有相似的发动机。同样,理论上您可以将Linux Mint安装转换为Ubuntu安装(不要尝试,这费力),但是它们是两种截然不同的产品。将一个安装在另一个位置上是没有意义的或不可能的。


0

简而言之:构成Linux发行版身份的因素包括:

  • 内核的配置:是:所有发行版都源于相同的源代码,但是在源代码和计算机上运行的实际二进制文件之间,存在编译过程,其中涉及“配置”,即做出选择。

  • 在硬件和内核之间创建接口的软件选择,以及在编译时的配置

  • 选择创建用户(用户)将使用的界面的软件。这是分发的99%的代码去的地方。再次将其归结为:选择了哪种软件,以及如何配置和编译。

所有这些选择都已隐藏并已分发给您,因为它们已经为您完成并“打包”了。这样,便构建了Linux发行版,希望它适合大多数用户。但是副作用是,它不能根据您的需求进行微调。

如果您想了解有关如何创建Linux发行版的很多知识,建议您尝试构建自己的发行版。“ Linux From Scratch”项目对我有很大帮助。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.