一个Linux发行版有很多的组件,这些组件由不同的人使用不同的编程语言进行开发。
Linux发行版所做的是,获取这些应用的源代码并构建它们,将它们转换成可以安装在用户电脑上的包,并把所有这些包放到一个仓库中。之后,发行版制作人将利用这些源代码构造ISO文件,使得用户能够下载、刻录并安装在自己的电脑上。
Linux发行版实际上只是以一种特殊的方式将这些软件交付给最终用户,它们之间的差别在于默认组件集合、软件、它们提供的特性。
下面是Linux发行版比较重要的几个组成部分:
内核是任何操作系统的核心。
1991年Linux Torvalds发布了Linux 内核的第一个公开发行版。
Linux 内核负责将软件链接到硬件,在软件应用间分发资源,将I/O进程交付给CPU运行,它也负责打开GPU、声卡、网卡、RAM等硬件。
GNU是从1980年开始由Richard Stallman发起的一个项目。
GNU的目标是创建一个完全免费的操作系统,可以用来取代UNIX。
GNU开发者创造了所有围绕操作系统的工具和程序,例如引导加载程序、bash shell和GCC编译器。但是他们不写操作系统内核,所以直到1991年,在Linux内核被创建后,GNU软件和工具与内核共同构建成一个可用的操作系统。
一个显示服务器主要用于在屏幕上画出图形用户界面,从图标到窗口和菜单,你所见的任何图形都是由显示服务器(窗口系统)完成的。如果没有显示服务器,你只能在整个屏幕中使用黑色的命令行进行交互。
已有的显示服务器有很多种,对于类Unix系统和Linux发行版来说,最著名的是X显示服务器。
显示管理用于在开机引导加载程序后,展示欢迎页面,并与X服务器建立连接,开始桌面会话。显示管理就是在让你进入桌面环境之前,要求你输入姓名和密码的欢迎界面.
服务进程是运行在操作系统背后的程序,不同于用户界面上带有窗口的普通程序。它们执行操作系统需要的特殊工作和过程,例如网络管理服务进程将帮助你在刚登录系统时自动连接网络。
最著名的服务进程被称为systemd,它是管理整个操作系统的主要进程,也是在加载Linux核后首个运行的程序,它的主要工作是控制其他的服务进程,并在你需要的任何时间运行它们,它控制操作系统中的所有服务,并在需要时打开、关闭、修改。
在Linux中,软件被当作包来使用。如果你想在Linux系统上安装一个应用,一个库,一个游戏并使其被识别,那么包和包管理就是你应该使用的。在Linux上,你不必上网并尝试寻找一些好的应用,然后下载安装到你的个人电脑上,这是Windows系统的做法,不是Linux系统的。
你需要做的是,打开包管理或者软件中心,通过搜索包名找到并一键安装所需的应用。如果你不知道你要找的包是什么,也可以通过在网站上利用包的描述进行搜索。
最重要的是包系统,红帽以及很多其他的Linux系列使用rpm包系统,包名以.rpm的形式存在;在Debian系列的Linux发行版中,使用dpkg包系统,包名以.deb的形式存在,你不能将以.deb形式的包安装在支持rpm包系统的Linux发行版上。
虽然包系统是管理Linux上软件的核心系统,但是我们通常使用包管理作为接口来管理Linux上的软件。比如,如果你需要在Ubuntu系统上安装软件,就需要用到:
sudo apt install firefox
在其他系统上用到的命令行语法类似,但是实际上它们非常不同。从它们工作的方式来说,为了更高的速度、更安全的传输,rpm是Linux桌面的标准包系统,但是deb包的数量远远多于rpm包的数量,所以你需要在质量和易用性之间做出选择。
桌面环境是一组应用和库的集合,用于为用户提供图形化的环境。Linux上最著名的桌面环境是GNOME和KDE。
GNOME使用GTK+绘制图形化用户界面,而KDE使用Qt库。GNOME使用名为GNOME Shell的桌面接口,KDE使用名为KDE Plasma的。桌面环境也提供莱斯与显示管理器、文件管理器、web浏览器、UI工具包等一系列的应用。
对于你每天使用的普通应用,它们全部在用户空间中,并且在不同发行版之间可能完全不同。
这些应用和所有其它的包从发行版仓库中下载,仓库就是存储包文件及其元信息的位置并将包分发给用户,所以用户可以根据需要随时安装。
原文链接:https://fosspost.org/education/what-are-the-components-of-a-linux-distribution
了解了什么是Linux发行版,其实它就是一些组件+软件的集合。不同的Linux发行版因组件和软件的不同而具备不同的特性。
了解了在Linux中,软件管理就是包的管理,存在rpm和dpkg两种包管理系统。