GNU和Linux的关系、 Linux的发行版本、CentOs和RedHat的区别

news2024/12/23 20:48:23

GNU和Linux的关系

在这里插入图片描述
其实,我们通常称之为的"Linux"系统,相对更准确的名称应该称为“GNU/Linux”系统!

一个功能完全的操作系统需要许多不同的组成部分,其中就包括内核及其他组件;而在GNU/Linux系统中的内核就是Linux,如硬件驱动程序、守护进程等;其他组件就是GNU项目提供的,如GCC、Emacs、Bash等等。

命名的大致过程:

  • 称GNU/Linux为 Linux

凭借GNU工具和一个功能齐备的Linux内核,我们现在拥有一个工作正常的免费操作系统。但是我们应该如何称呼它呢?从早期开始,许多人将使用Linux内核的操作系统简单地称为"Linux"。这引发了一些紧张局势,因为Linux并不代表我们在说Linux时所想象的大部分内容。

  • 称GNU/Linux为 GNU/Linux

再次强调,Linux内核是使软件和硬件能够相互通信的具体部分。而我们在屏幕上看到的一切呢?那是其他东西。理想状态的GNOME桌面操作系统 Richard Stallman最初提议将这样的创作称为基于Linux的GNU系统。然后他改变了偏好,提出了GNU/Linux(发音为"GNU slash Linux"或"GNU plus Linux"),以便清楚地表明两个项目都发挥了重要作用。一些人接受了这个观点,而其他人则认为这个名字既笨拙又没有必要。这种分歧一直持续至今。

  • 称GNU/Linux为 GNU

可以说,在GNU/Linux中,GNU的部分比Linux更多。
一家 CD-ROM 供应商发现,在他们的“Linux 发行版”中,GNU 软件是最大的单一队伍,约占总源代码的 28%,其中包括一些必不可少的主要组件,没有这些组件就没有系统。Linux 本身约占 3%。(2008 年的比例相似:在 gNewSense 的“主”存储库中,Linux 为 1.5%,GNU 软件包为 15%。)因此,如果您要根据谁在系统中编写程序来为系统选择一个名称,最合适的单一选择是“GNU”。

  • 称GNU/Linux为 Linux

有强有力的理由认为GNU/Linux是一个更准确、更精确的名称。但它是否是一个好的名称呢?以下是人们支持将操作系统称为"Linux"的一些论点。这个列表可能更短,但或许更有说服力。

  1. Linux已经更加流行。这在90年代就是如此,而今天仍然如此。将操作系统称为其他名称将感觉像是有意的重新品牌努力。这是因为Linux使人们能够运行GNU项目和其他项目创建的所有软件。没有Linux,你将无法使用任何东西。
  2. GNU/Linux是一个笨拙的名称。它阅读起来很尴尬,说起来更加笨拙。单凭这个原因就足以让一些人认为Linux不是一个公平的名称,所以他们不愿称操作系统为其他任何名称。
  3. 我们何时停下来?如果我们给予GNU以认可,我们难道不应该给予X或Wayland以认可吗?它们是大多数自由桌面生态系统所依赖的显示服务器。音频也很重要。桌面环境也很重要。不久之后,我们将把我们的桌面称为GNOME/PipeWire/Wayland/GNU/Linux。
  • 最后,名字怎么叫都不是很重要,毕竟只是一个表面上的称呼,重要的是要知道系统的组成本质。

参考:

  • https://mp.weixin.qq.com/s/wPz38eCcV5Nlj_IrdGANRw
  • https://blog.csdn.net/weixin_41044151/article/details/122303249
  • https://zhuanlan.zhihu.com/p/636895350

Linux的发行版本

今天有许多不同的 GNU/Linux 系统变体(通常称为“发行版”)。它们中的大多数都包含非自由程序——它们的开发人员遵循与 Linux 相关的“开源”哲学,而不是GNU的 “自由软件”哲学。但也有 完全免费的 GNU/Linux 发行版。FSF 支持其中一些的计算机设施。

制作免费的 GNU/Linux 发行版不仅仅是消除各种非自由程序的问题。现在,通常的 Linux 版本也包含非自由程序。这些程序旨在在系统启动时加载到 I/O 设备中,它们以一长串数字的形式包含在 Linux 的“源代码”中。因此,维护免费的 GNU/Linux 发行版现在也需要维护Linux的免费版本。
在这里插入图片描述
因此,把 Red Hat、Ubuntu、SUSE 等直接说成 Linux 其实是不确切的,它们是 Linux 的发行版本,更确切地说,应该叫作“以Linux为核心的操作系统软件包”

CentOs和RedHat的区别

参考:http://www.cqfcloud.com/?id=16334

CentOS 和 Red Hat Enterprise Linux (RHEL) 之间的区别主要体现在以下几个方面:

1、定义不同

centos:CentOS是一个稳定、可预测、可管理和可复制的平台,源自Red Hat Enterprise Linux

redhat:Red Hat或Red Hat Enterprise Linux是针对商业市场的Linux发行版。因此,这是 CentOS 和 RedHat 之间的主要区别。

2、初始版本不同

centos:CentOS最初发布于2004年。

redhat:Red Hat最初于2000年发布。

3、包管理器不同

centos:CentOS 的包管理器是 Yum、Package Kit 和 rpm。

redhat:Red Hat 的包管理器是 Yum、yumex、PackageKit 和 RPM。

4、平台不同

centos:CentOS是为amd64平台设计的。

redhat:Red Hat是为x86-64,Power ISA,ARM 64,IBM Z,IBM Power和IBM LinuxOne设计的。

5、应用不同

centos:台式电脑、工作站、大型机和服务器是 CentOS 的一些应用程序。

redhat:工作站、大型机、服务器和超级计算机是redhat的一些应用程序。

6、付费不同

centos:CentOS是免费的开源的。

redhat:redhat是收费的,提供基于订阅的服务并提供官方支持。

以上就是REDHAT与CentOS的区别,需要注意的是,CentOS 和 REDHAT 在大部分方面非常相似,因为 CentOS 是基于 RHEL 的。在大多数情况下,可以将 CentOS 视为没有商业支持的免费版本的 RHEL。选择使用哪个版本取决于不同的需求和预

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1073899.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

什么是成分分析?成分分析检测包括哪些?

成分分析:指通过微观谱图及激光飞秒检测方法对产品或样品的成分进行分析,对各个成分进行定性定量分析的技术方法。 成分分析技术主要用于对未知物、未知成分等进行分析,通过成分分析技术可以快速确定(最快的为激光飞秒检测通过观测分子、原子、电子、原…

【Mybatis源码】IDEA中Mybatis源码环境搭建

一、Mybatis源码源 在github中找到Mybatis源码地址:https://github.com/mybatis/mybatis-3 找到Mybatis git地址 二、IDEA导入Mybatis源码 点击Clone下载Mybatis源码 三、选择Mybatis分支 选择Mybatis分支,这里我选择的是3.4.x分支

点云分割segmentation

点云分割是根据空间、几何和纹理等特征对点云进行划分,使得同一划分区域内的点云拥有相似的特征 。点云的有效分割往往是许多应用的前提。例如,在逆向工程CAD/CAM 领域,对零件的不同扫描表面进行分割,然后才能更好地进行孔洞修复、…

Yocto Project 编译imx-第1节(下载和编译)

Yocto Project 编译imx-第1节(下载和编译) 前言说明参考文章版本说明Ubuntu 系统说明和建议必备软件安装设置Git用户名和密码解决git报错使用FastGithub 获取repo获取Yocto项目设置Yocto源获取Yocto版本(https://source.codeaurora.org废弃&a…

【C++从0到王者】第三十六站:哈希

文章目录 一、unordered系列容器二、unordered_set三、unordered_map四、unordered_set与set的比较五、各种查找的比较六、哈希函数1.哈希函数概念与哈希冲突2.常见哈希函数 七、解决哈希冲突1.闭散列---开放定址法2.开散列---拉链法/哈希桶 一、unordered系列容器 在C98中&…

在校大学生想从事网络安全工程师,来听听过来人的经验,你会少走很多弯路

大家好!一直以来都有一些大学生粉丝私聊向我“取经”,可以看得出来很多人对前路多多少少都有些迷茫,我把大家的问题总结了一下,并对每个问题都做了我自己的见解,高频出现的问题有以下几个: 1.国内程序员的…

算法错题簿(持续更新)

自用算法错题簿,按算法与数据结构分类 python1、二维矩阵:记忆化搜索dp2、图论:DFS3、回溯:129612964、二叉树:贪心算法5、字符串:记忆化搜索6、01字符串反转:结论题7、二进制数:逆向…

车载通信架构 —— DDS协议介绍

车载通信架构 —— DDS协议介绍 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和…

如何实现mac系统远程控制window

Mac和Windows是两个广泛使用的操作系统,它们有着各自的特点和优势。有时候,可能需要在Mac系统上进行工作,但仍然需要远程访问和控制Windows系统。幸运的是,有几种方法可以实现这一目标。 一、远程桌面协议(RDP&#xf…

yarn 安装、常用命令、与npm命令区别

一、下载安装 npm install yarn tyarn -g安装完成之后检查版本 yarn --version // 1.22.17linux环境下可以配置yarn的软链 ln -s /usr/local/nodejs/node-v16.16.0-linux-x64/bin/yarn /usr/local/bin/二、配置Yarn 配置源 # tuonioooo yarn config set registry https://…

不平衡电网电压下虚拟同步发电机VSG控制策略-实现不平衡电压下控制三相电流平衡(Simulink仿真实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

解决ROS2报错colcon build: Duplicate package names not supported

执行colcon build命令错:ERROR:colcon:colcon build: Duplicate package names not supported。 解决办法:按照提示在src目录下删除多余的目录;

隔离上网,安全上网

SDC沙盒数据防泄密系统(安全上网,隔离上网) •深信达SDC沙盒数据防泄密系统,是专门针对敏感数据进行防泄密保护的系统,根据隔离上网和安全上网的原则实现数据的代码级保护,不会影响工作效率,不…

三个主要降维技术对比介绍:PCA, LCA,SVD

随着数据集的规模和复杂性的增长,特征或维度的数量往往变得难以处理,导致计算需求增加,潜在的过拟合和模型可解释性降低。降维技术提供了一种补救方法,它捕获数据中的基本信息,同时丢弃冗余或信息较少的特征。这个过程…

11-Webpack模块打包工具

01.什么是 Webpack 目标 了解 Webpack 的概念和作用,以及使用 讲解 Webpack 是一个静态模块打包工具,从入口构建依赖图,打包有关的模块,最后用于展示你的内容 静态模块:编写代码过程中的,html&#xf…

Git分支教程:详解分支创建、合并、删除等操作

GIT分支是Git中用于开发和管理代码的重要概念之一。每个分支都是一个独立的代码版本,可以在分支上进行修改和提交,而不影响主线(通常是master分支)上的开发工作。 分支的作用: 并行开发:多个开发人员可以…

vue3学习(一)---新特性

文章目录 vue3和vue2的区别重写双向数据绑定优化Vdom性能瓶颈patch flag 优化静态树 FragmentTree shaking组合式API写法 vue3和vue2的区别 重写双向数据绑定 vue2 基于Object.defineProperty()实现vue3 基于Proxy proxy与Object.defineProperty(obj, prop, desc)方式相比有以…

bootstrapjs开发环境搭建

Bootstrapjs是一个web前端页面应用开发框架,其提供功能丰富的JavaScript工具集以及用户界面元素或组件的样式集,本文主要描述bootstrapjs的开发环境搭建。 如上所示,使用nodejs运行时环境、使用npm包管理工具、使用npm初始化一个项目工程test…

直流无刷电机简介

一、 简介 直流无刷电机(简称BLDC)是随着半导体电子技术发展而出现的机电一体化电机,是永磁式同步电机的一种。 直流无刷电机与直流有刷电机的区别:直流有刷电机利用电枢绕组旋转换向;直流无刷电机是采用半导体开关器…

全局变量报错:\Output\STM32.axf: Error: L6218E: Undefined symbol

全局变量报错: .\Output\STM32.axf: Error: L6218E: Undefined symbol key_num (referred from main.o). 这里只说全局变量哦,这是因为你在调用的.c文件里 把定义写在了函数里面,写函数外面就没事了 改为: .h的声明文件根本不用写…