Mars's Blog

Linux发行版

2021-12-27

阅读

发行版定义

由内核,GNU工具,附加软件和包管理器组成的操作系统。也可能包括桌面和显示服务器

其实也就是像Debian,Ubuntu这样的公司发行了Linux内核,和其所有必要的软件和应用程序,使其作为一个操作系统使用。发行版还负责提供更新以维护内核和其他应用程序。

image-20211002132936197

在Linux诞生前,Richard Stallman创建了GNU(GNU is not Unix),GNU实现了很多Unix程序,比如cat,grep,并且开发了gcc和emacs

在80年代,Unix是专有软件,所以Linux Torvalds开发了一个类Unix的新内核。为了和内核交互,使用了GNU工具。因为使用这些GNU工具,linux的行为也和Unix类似,因此Linux被叫做类Unix系统。

参考

系统调用将Linux分为内核态和用户态。

内核态:控制计算机的硬件资源

用户态:提供应用程序运行的空间

为了让应用程序访问到内核管理的资源,内核提供了一组通用访问的接口,也就是系统调用

如下图所示,内核控制和管理硬件,内存,进程调度和管理,文件,设备驱动管理,网络管理

image-20211002133818686

用户态 -> 内核态的方法:

  • 系统调用
  • 异常
  • 外设中断

库函数:对系统调用进行封装,提供简单的基本接口

关于CentOS8 Stream

Red Hat公司主要负责三个发行版:Red Hat企业版本(RHEL),CentOS,Fedora

原来的流水线:

image-20211002134321301

当Linux内核有新功能时,先在Fedora发布,勇于试验的用户先进行体验

当新特性被评估为稳定后就会加入RHEL发行版(收费)

CentOS是RHEL去除商标等的免费版

CentOS Stream引入后:

image-20211002134339865

现在CentOS的位置处于upstream,改变了原来位于RHEL的下游的状态

采用滚动发布模型,允许社区对CentOS的贡献应用于下游的RHEL。

滚动发布:参考

软件的更新是连续推出的,也就是小而频繁的更新,好处是可以从仓库中获得最新的内核和软件版本。而不是分批的版本,像Ubuntu的xyz版本

Q:Ubuntu也有每周的更新,这种是否也是滚动发布?

A:这种更新一般是安全和维护更新,而不是新功能的发布

滚动发布一般每几个月提供一个新的ISO,也就是ISO刷新,这样新用户就能得到一个更新的Linux发行版

当正在使用滚动发行版,就不用担心ISO刷新了,因为系统已经和最新发行版对等了。ISO主要是帮助在新系统上安装的人。(假如使用2018年的硬件,安装2021年的Linux,如果没有ISO刷新,不得不安装过去几年的所有更新)

优点:能获得最新的更新

缺点:点版本发布一般会进行系统中集成的组件测试,而滚动发布,软件一旦发布就被推出

Tags: Linux