Linux的前世今生

Unix的起源和发展

1969年,AT&T贝尔实验室的Ken Thompson和Dennis Ritchie等人开发了Unix操作系统。Unix的设计理念强调小而简洁的工具,文本流和系统模块化,这些理念后来成为Linux开发的重要基础。1973年,Unix用C语言重新编写,使其更易于移植到不同的计算机系统上。这为操作系统的广泛传播奠定了基础。
Linux Timeline

GNU计划和自由软件运动

1983年,Richard Stallman发起GNU计划,旨在创建一个完全自由的Unix操作系统。GNU是“GNU’s Not Unix”的递归缩写,强调其自由软件的理念。1985年,Stallman成立了自由软件基金会(FSF),进一步推动自由软件运动,强调软件的自由使用、修改和分发权利。

GNU Logo

Linux内核的诞生

1991年,芬兰赫尔辛基大学的学生林纳斯·托瓦兹发布了第一个Linux内核版本。这一版本仅有10,000行代码,功能相对简单。1992年,Linux内核采用GNU通用公共许可证(GPL)发布,使其成为一个自由软件。GNU项目的工具与Linux内核结合,形成了一个功能齐全的操作系统,即我们今天所知的Linux。
Linus Benedict Torvalds
2005年,托瓦兹开发了Git,以满足Linux内核开发的版本控制需求。Git迅速成为最流行的分布式版本控制系统,广泛应用于软件开发中。

早期发展和社区壮大

Linux发行版
1993年,Slackware和Debian是最早的Linux发行版之一,提供了稳定的系统和软件包管理工具,吸引了大量用户和开发者。1994年,Linux内核1.0发布,标志着Linux进入稳定阶段。
Debian logo

企业级应用和商业化

1999年,Red Hat发布了企业级版本Red Hat Enterprise Linux (RHEL),提供商业支持和服务。此举帮助Linux在企业中获得认可和广泛应用。2000年,SUSE发布了SUSE Linux Enterprise,进一步推动了Linux在企业级市场的应用。

Red Hat Logo

现代发展和多样化

2004年,Canonical发布了基于Debian的Ubuntu,旨在提供用户友好的桌面操作系统。Ubuntu迅速成长为最受欢迎的Linux发行版之一。2010年以后,随着云计算和容器技术(如Docker、Kubernetes)的兴起,Linux成为服务器和数据中心的主力操作系统。几乎所有的云服务提供商都基于Linux构建其基础设施。

Ubuntu Logo

主流Linux发行版的详细介绍

Debian系列
  • Debian:一个稳定、自由的通用操作系统,以其稳定性和严格的开源政策著称,广泛应用于服务器和桌面环境。
  • Ubuntu:基于Debian的操作系统,由Canonical公司维护,具有广泛的用户基础和良好的社区支持,提供定期更新和长期支持版本(LTS)。
  • Linux Mint:基于Ubuntu,强调用户友好的桌面体验,提供多种桌面环境选择,如Cinnamon、MATE和Xfce。
Red Hat系列

在这里插入图片描述

  • Red Hat Enterprise Linux (RHEL):企业级发行版,提供商业支持和长期服务,广泛应用于企业服务器和数据中心。
  • CentOS:RHEL的免费版本,适用于企业和开发者使用,提供与RHEL相同的稳定性和兼容性。
  • Fedora:RHEL的社区版,主要用于新技术的测试和开发,具有最新的软件包和功能,通常作为RHEL的上游版本。
SUSE系列
  • openSUSE:社区支持的发行版,具有强大的管理工具和企业级功能,分为Leap(稳定版本)和Tumbleweed(滚动更新版本)。
  • SUSE Linux Enterprise (SLE):面向企业用户的发行版,提供商业支持和长期服务,广泛应用于企业服务器、数据中心和嵌入式系统。
其他重要发行版
  • Arch Linux:以简洁和用户控制为主,采用滚动更新模式,用户需自行配置和安装软件包,适合高级用户和开发者。
  • Gentoo:源码编译的发行版,提供高度自定义的操作系统环境,用户可以根据自己的需求优化和配置系统。

2020年12月8日,Red Hat宣布将停止对CentOS Linux 8的支持,并将在2021年结束对CentOS的维护。原因是Red Hat决定将资源集中在CentOS Stream上,作为RHEL的上游开发平台,帮助加速RHEL的新特性和改进的开发和测试。

很多企业和开发者对这个决定表示失望和不满,因为CentOS一直以来是一个免费的RHEL替代品,广泛应用于生产环境中。用户需要考虑迁移到其他受支持的发行版,如AlmaLinux、Rocky Linux,或直接使用RHEL。AlmaLinux和Rocky Linux是由社区主导的新项目,承诺继续提供稳定、免费的企业级操作系统。

Red Hat的决策虽然引起了一些争议,但也推动了社区的创新和新项目的发展。企业和开发者需要根据自身需求选择合适的操作系统,以保证系统的稳定和安全。在此过程中,社区的力量将继续推动Linux的发展和进步。

总结

从Unix的起源到Linux内核的诞生,再到现代的多样化发展,Linux的历史是一段不断创新和进步的历程。无论是自由软件运动还是企业级应用,Linux都展示了其强大的生命力和适应性。今天,Linux不仅在服务器和数据中心占据主导地位,还在桌面、嵌入式系统和超级计算领域发挥着重要作用。随着云计算和容器技术的不断发展,Linux将在未来继续扮演重要角色,推动技术的进步和创新。

参考链接

  • 林纳斯·托瓦兹 - 维基百科
  • Linux Explained: Distributions, Differences, Benefits, Security
  • linux系统发行版的分类

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

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

相关文章

深度学习-数学基础(四)

深度学习数学基础 数学基础线性代数-标量和向量线性代数-向量运算向量加和向量内积向量夹角余弦值 线性代数-矩阵矩阵加法矩阵乘法矩阵点乘矩阵计算的其他内容 人工智能-矩阵的操作矩阵转置(transpose)矩阵与向量的转化 线性代数-张量(tensor…

卷技术还是卷应用?李彦宏给出了明确答案

如何理解李彦宏说的“不要卷模型,要卷应用” 引言 7月4日,2024世界人工智能大会在上海世博中心召开。百度创始人兼CEO李彦宏在产业发展主论坛上呼吁:“大家不要卷模型,要卷应用!”这句话引起了广泛讨论。李彦宏认为&a…

Python股票计算小程序(字符串格式化练习)

要求:打印的第一行使用f控制,第二行打印使用占位符,股价输出保留两位小数。 # 股价计算小程序 name"周氏集团" stock_price19.99 stock_code "9283" stock_price_daily_growth_factor1.2 growth_days7print(f"公司…

【Python进阶】继承进阶和私有权限

目录 一、继承进阶 1、方法重写 2、调用父类方法 3、多层继承 二、私有权限 1、私有属性 2、私有方法 面向对象基础:小白也能看懂的Python基础教程(8)-CSDN博客 一、继承进阶 1、方法重写 当父类的同名方法达不到子类的要求&#x…

Monaco 中添加 CodeLens

CodeLens 会在指定代码行上添加一行可点击的文字,点击时可以触发定义的命令,效果如下: 通过调用 API 注册 LensProvider,点击时触发 Command,首先要注册命令,通过 editor.addCommand () 方法进行注册。三个…

7月9日学习打卡-回文链表,交叉链表

大家好呀,本博客目的在于记录暑假学习打卡,后续会整理成一个专栏,主要打算在暑假学习完数据结构,因此会发一些相关的数据结构实现的博客和一些刷的题,个人学习使用,也希望大家多多支持,有不足之…

【微信小程序开发实战项目】——个人中心页面的制作

👨‍💻个人主页:开发者-曼亿点 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 曼亿点 原创 👨‍💻 收录于专栏&#xff1a…

在 PostgreSQL 里如何处理数据的版本跟踪和回滚?

文章目录 一、事务二、保存点三、使用版本控制扩展四、审计表和触发器五、使用时间戳列六、比较和还原数据七、考虑数据备份和恢复八、结论 在数据库管理中,数据的版本跟踪和回滚是非常重要的功能,有助于在数据操作出现错误或需要回滚到特定状态时进行有…

HINet: Half Instance Normalization Network for Image Restoration

论文:HINet: Half Instance Normalization Network for Image Restoration Abstract: 在本文中,我们探讨了实例归一化在低级视觉任务中的作用。 具体来说,我们提出了一个新颖的块:半实例归一化块(HIN 块&…

洛谷 数学进制 7.9

P1100 高低位交换 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 代码一 #include<bits/stdc.h> using namespace std; typedef long long ll; #define IOS ios::sync_with_stdio(0),cin.tie(0),cout.tie(0)const ll N1e510; char a[N];int main() {IOS;ll a;int b[32]…

商品分页,商品模糊查询

一、商品分页 引入分页 定义分页主件的参数 在请求url上拼接参数 定义改变当前页码后触发的事件&#xff0c;把当前页码的值给到分页表单&#xff0c;重新查询 二、商品查询&#xff08;以商品的名称查询name为例&#xff09; 引入elementplus的from表单组件 定义一个FormData…

实现在列表框内及列表框间实现数据拖动:在工作表界面窗体的加载

《VBA高级应用30例》&#xff08;版权10178985&#xff09;&#xff0c;是我推出的第十套教程&#xff0c;教程是专门针对高级学员在学习VBA过程中提高路途上的案例展开&#xff0c;这套教程案例与理论结合&#xff0c;紧贴“实战”&#xff0c;并做“战术总结”&#xff0c;以…

three-platformize 微信小程序 uniapp 使用截图功能

最近需要将3d场景进行截图&#xff0c;但是网上的各种各样&#xff0c;看的我一团乱麻&#xff0c;因此在解决完后就将这些简单的分享一下&#xff1b; 原理&#xff1a;将3维场景的那个canvas中的像素提取出来&#xff0c;找一个空的canvas二维画布放上去&#xff0c;然后用二…

jitsi 使用JWT验证用户身份

前言 Jitsi Meet是一个很棒的会议系统,但是默认他运行所有人创建会议,这样在某种程度上,我们会觉得他不安全,下面我们就来介绍下使用JWT来验证用户身份 方案 卸载旧的lua依赖性sudo apt-get purge lua5.1 liblua5.1-0 liblua5.1-dev luarocks添加ubuntu的依赖源,有则不需…

运维锅总详解设计模式

本首先简介23种设计模式&#xff0c;然后用Go语言实现这23种设计模式进行举例分析。希望对您理解这些设计模式有所帮助&#xff01; 一、设计模式简介 设计模式是软件设计中用于解决常见设计问题的一套最佳实践。它们不是代码片段&#xff0c;而是解决特定问题的通用方案。设…

Apache AGE 安装部署

AGE概述 概述 我们可以通过源码安装、拉取docker镜像运行、直接使用公有云三种方式中的任意一种来使用Apache AGE 获取 AGE 发布版本 可以在 https://github.com/apache/age/releases 找到发布版本和发布说明。 源代码 源代码可以在 https://github.com/apache/age 找到…

PowerShell install 一键部署mysql 9.0.0

mysql 前言 MySQL 是一个基于 SQL(Structured Query Language)的数据库系统,SQL 是一种用于访问和管理数据库的标准语言。MySQL 以其高性能、稳定性和易用性而闻名,它被广泛应用于各种场景,包括: Web 应用程序:许多动态网站和内容管理系统(如 WordPress)使用 MySQL 存…

【割点 C++BFS】2556. 二进制矩阵中翻转最多一次使路径不连通

本文涉及知识点 割点 图论知识汇总 CBFS算法 LeetCode2556. 二进制矩阵中翻转最多一次使路径不连通 给你一个下标从 0 开始的 m x n 二进制 矩阵 grid 。你可以从一个格子 (row, col) 移动到格子 (row 1, col) 或者 (row, col 1) &#xff0c;前提是前往的格子值为 1 。如…

AE常用工具

目录 图形工具&#xff08;快捷键Q&#xff09; 选取工具&#xff08;快捷键V&#xff09; 抓手工具&#xff08;快捷键H或空格&#xff09; 放缩工具&#xff08;快捷键Z或滚动滑轮&#xff09; 图形工具&#xff08;快捷键Q&#xff09; 按住alt并点击&#xff0c;可切换…

单目深度估计部署 rk3588

搞了一小段时间的单目深度估计&#xff0c;目标是在板端部署用起来&#xff0c;但由于基于开源数据或开源模型&#xff0c;将模型估计的相对深度转换成绝对深度误差非常大&#xff08;或许是转换方法有问题&#xff09;&#xff0c;另一方面如何具体的在项目中用起来还没好的想…