Linux 发行版的组件是什么?

一、Linux组件简介

Linux 发行版中有很多组件,成百上千的软件组合在一起,以便为您提供一个可运行的,可用的操作系统。每个Linux发行版都有自己的一组组件,有时它可能与其他Linux发行版非常相似,也可能不同。

这些组件不是由单一供应商开发的,例如Linux内核由 Linus Torvalds 和内核社区和公司(数千人)开发, GNU 工具由GNU项目开发人员和自由软件基金会开发, KDE 桌面环境由项目开发,Firefox浏览器由Mozilla开发,X display server由X基金会开发。等等。

Linux发行版的作用是获取所有这些应用程序的源代码并构建它们,将它们转换为可以安装在用户计算机上的包,并将它们放在包含所有这些包的存储库中。稍后,发行制作者会根据这些源代码构建一个 ISO 文件,您可以下载该文件并将其刻录并安装到您的 PC 上。Linux发行版实际上只是以特定的方式和格式将这些软件交付给最终用户,并且它们彼此不同,因为它们提供的默认组件,软件和功能集。

每个组件都是由不同的编程语言编写的,你不能说Ubuntu例如是由C语言开发的,因为它包含许多由其他编程语言(如Python,Ruby,C++,Perl)开发的应用程序。等。

二、Linxu主要组件

1.Linux Kernel

请添加图片描述
任何操作系统的核心;内核。1991年,Linus Torvalds宣布 推出Linux内核 的第一个公开版本。从那时起,它发展了很多,今天有成千上万的志愿者,公司和软件开发人员正在努力维护Linux内核。它几乎存在于您周围可能看到的每台智能设备中,从服务器到经过汽车和物联网设备的Android手机等等。Linux几乎无处不在。

Linux内核是负责将软件链接到硬件并在软件应用程序之间分配资源的部分,它还运行I / O进程并通过将它们传递给CPU来执行它们。它还负责打开硬件部件,如GPU,声卡,互联网卡,RAM,硬盘。等。内核是每个操作系统的核心,没有它就无法工作。

今天,Linux内核中现在有2000万行代码。

2.GNU 工具

请添加图片描述
GNU是由Richard Stallman在1980年代发起的一个项目,他也是FSF基金会的创始人。GNU的目标是创建一个完全自由的操作系统,可以替代UNIX。GNU开发人员创建了围绕操作系统的所有工具和程序,如引导加载程序,bash shell和GCC编译器,但他们没有编写操作系统内核,所以实际上在1991年发生的事情是Linus Torvalds创建了Linux内核,然后使用GNU软件和工具创建了一个功能操作系统。

GNU项目 实际上包括很多东西,比如Bash shell,GNU C Compiler,GRUB引导加载程序,GTK+,Gzip,Nano和许多其他软件。他们中的许多人现在在你的Linux发行版中都有自己的位置。

GNU 的主要项目之一是 GRUB 引导加载程序请添加图片描述
这是打开计算机电源按钮后加载的第一个软件,它将从硬盘上的MBR(或GPT)分区加载引导加载程序。引导加载程序的工作是加载操作系统内核及其它需要的组件,以便以后使用,几乎99%的Linux发行版使用名为"GRUB"的引导加载程序。还有其他引导加载程序,如lilo,Burg.。但它们并不常见,而且使用起来很旧。

我们还有 Bash shell 和它的实用程序,它实际上是命令行界面,你可以输入你想要系统直接执行的命令,这是每个Linux发行版的精神:请添加图片描述

3.显示服务器或视窗系统

请添加图片描述
显示服务器是在屏幕上绘制图形用户界面的负责软件。从图标到窗口和菜单,您在屏幕上看到的每一个图形内容都是由显示服务器(也称为Windows系统)完成的。如果没有显示服务器,您最终将在整个屏幕上使用黑色命令行界面。

市面上有许多显示服务器,对于类Unix系统和Linux发行版,最著名的是 X显示服务器 ,它于1987年发布,甚至早于Linux内核,并一直使用到今天。

正如你所看到的,由于X服务器已有30多年的历史,有缺陷并且充满了安全问题,一些由Red Hat和Intel等公司支持的开发人员开始研究一种名为"Wayland"的新显示协议,它仍在进行大量开发。

4.显示管理器

请添加图片描述
DM 用于在引导加载程序后显示欢迎屏幕,并启动桌面会话作为与 X 显示服务器的连接。显示管理器是欢迎屏幕,在允许您登录到桌面环境之前,它会要求您输入用户名和密码。如果您使用的是 GNOME 环境,那么默认的显示管理器应该是 GDM,如果您使用的是 KDE 环境,那么默认的显示管理器应该是 KDM。

您可以使用所需的任何显示管理器,即使您运行的桌面环境与其默认值不同。

您不能一次运行多个 DM,因为 X 服务器不允许同时运行多个图形会话。

5.守护 进程

请添加图片描述

守护程序是在操作系统后台运行的程序,而不是在用户界面上具有窗口的普通应用程序。它们运行操作系统所需的一些特定作业和进程,例如网络管理器守护程序,它允许您在登录到系统时自动连接到网络。

最著名的守护程序称为"systemd",它是控制整个操作系统作业的主守护程序。它是加载 Linux 内核后执行的第一个进程。它的工作只是控制其他守护程序,并在需要时或您需要的任何时间运行它们,它控制操作系统上可用的所有服务,并且可以在需要时打开或关闭或修改它。

在过去,"sysvinit"担任这项工作,但由于它变得陈旧,几乎所有的Linux发行版现在都使用systemd。

6.包管理器

请添加图片描述
在Linux上,软件被视为"包"。如果你想在Linux系统上安装应用程序,库,游戏或其他任何东西,你应该使用包和包管理器来做到这一点。在Linux上,你不会通过互联网并试图找到一些好的应用程序来下载并安装在你的PC上,你永远不应该在Linux上这样做,这不是Windows。

您所做的只是打开软件包管理器/软件中心以查找并安装所需的应用程序,您可以搜索它们的名称并一键安装它们。如果您不知道要查找的内容,可以在Ubuntu PackagesFedora Packages等网站上在线搜索软件包描述,以获取软件包名称并在以后安装。

这里最主要的是打包系统,Redhat系列和许多其他Linux发行版系列使用"rpm"打包系统。在这个系统中,软件包采用.rpm格式(如Windows上的.exe),但在Debian系列的Linux发行版中,系统使用"dpkg"打包系统,该系统将其软件包作为.deb格式提供。

您无法在基于rpm的Linux发行版上安装.deb文件,它不起作用,您可以尝试将其从.deb转换为.rpm但是使用名为"Alien"的软件,但它也可能不起作用,您应该从系统的官方存储库中获取软件包

请记住:打包系统是管理 Linux 上软件的核心系统。您可以使用它来创建软件包/在本地安装它们以及许多其他事情,但通常我们不会每天处理它,我们使用"包管理器",它就像在Linux上管理软件的界面一样。

Linux桌面上有许多不同的包管理器,它们因发行版而异,例如,Ubuntu使用"apt"包管理器,而Fedora使用"dnf",openSUSE使用"zypper",而Arch使用"pacman"。

为了清楚起见,如果你想 - 例如 - 在你的系统上安装Firefox,你应该在Ubuntu上运行以下命令:

sudo apt install firefox

Fedora 上:

sudo dnf install firefox

openSUSE上:

sudo zypper install firefox

等等…正如你所看到的,它们非常相似,但在深处,它们非常不同。从它们的工作方式,到速度和安全性,"rpm"是Linux桌面的标准打包系统(由Linux基金会选择),但"deb"包的数量比.rpm包多得多,因此您可以选择在质量或易用性之间做出决定。

7.桌面环境

请添加图片描述
桌面环境是一组应用程序和库,它们组合在一起以向用户提供图形应用程序。他们为最终用户提供了很多核心库,服务,程序等等。Linux桌面上最著名的桌面环境是GNOMEKDE

例如, GNOME 使用 GTK 库来绘制其应用程序的 GUI(图形用户界面)小部件,而 KDE使用 Qt 库。GNOME 带有一个名为 “GNOME Shell” 的桌面界面,而 KDE则带有 “KDE Plasma”。桌面环境还提供其他应用程序,如显示管理器、文件管理器、会话管理器、存档器应用程序、Web 浏览器、UI 工具包、设置管理器。还有更多。

8.用户应用程序

请添加图片描述
最后,您获得了每天使用的正常应用程序;Firefox,LibreOffice,Terminal Emulator,VLC Media Player,Pidgin…等等,这些应用程序都在用户空间中,并且可以从一个发行版到另一个发行版完全不同。

这些应用程序(和所有其他软件包)并从分发存储库下载;存储库就像一个存储包文件及其元数据并将其分发给用户的地方,以便他们可以随时安装它们。

三.结论

有很多组件构成了Linux发行版,这些组件可能会从一个发行版更改为另一个发行版,它们可能完全不同,但这是一件好事,因为代码是开源的,你可以用你的操作系统做任何你想做的事情。我希望在这篇文章之后,你们都对这些事情有了好的看法。在下面的评论部分分享您心中的问题,有误解的地方也欢迎留言。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HonkerG

你的鼓励是我创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值