Linux 起源

在目前主流的服务器端操作系统中,UNIX 诞生于 20 世纪 60 年代末,Windows 诞生于 20 世纪 80 年代中期,Linux 诞生于 20 世纪 90 年代初,可以说 UNIX 是操作系统中的”老大哥”。

后来的 Windows 和 Linux 都参考了 UNIX。只不过它们都朝着不同的方向和分支发展,逐渐有了巨大的差异,以至于看不出它们有什么区别。

Linux 内核最初只是由芬兰人李纳斯•托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的。当时他觉得教学用的迷你版 UNIX 操作系统 Minix 太难用了,于是决定自己开发一个操作系统。Linux这个名字也来源于李纳斯的名字Linus + Unix的缩写。

Linux第 1 个版本于 1991 年 9 月发布,当时仅有 10 000 行代码。它与 Windows 不同之处在于,Linux 是一套开放源代码程序的。李纳斯•托瓦兹没有保留 Linux 源代码的版权,公开了代码,也就是所谓的“开源”,并邀请他人一起完善 Linux。任何人都可以免费使用它。

据估计,现在只有 2% 的 Linux 核心代码是由李纳斯•托瓦兹自己编写的,他仍然拥有 Linux 内核(操作系统的核心部分),并且保留了选择新代码和需要合并的新方法的最终裁定权。现在大家所使用的 Linux,可以说是由李纳斯•托瓦兹和后来陆续加入的众多 Linux 好者共同开发完成的。

Linux 的发行版

Linux 的发行版说简单点就是将 Linux 内核与应用软件做一个打包。市面上的Linux发行版众多,主流的发行版可以分成如下几个大的分支,或者说“派系”:

  • 第一大派:RedHat、CentOS、Fedora
  • 流行程度不输于第一大派的: Debian、Ubuntu、Linux Mint
  • 稍微有些小众的:SUSE、OpenSUSE
  • 还有极客们可能比较喜欢的:Arch Linux、Manjaro

**

众多的发行版新人如何选择呢?

对于使用Linux作为生产主力的企业来说,目前最主流、使用最广泛的还是CentOS7。CentOS与红帽企业版RHEL使用几乎没有差异,作为企业级服务器系统,它也非常稳定。网上各种相关资源和培训教程都十分全面。

而且国内三大云服务商自己定制的Linux发行版,如阿里云的Alibaba Cloud Linux,华为的OpenEular,腾讯的TencentOS(十个CentOS?) 都是基于CentOS,应用生态全面兼容。这个选择对于希望通过Linux技能找到一份相关工作的朋友来说是本来是没有争议的。

然而随着去年红帽改变了对CentOS的维护策略,使得CentOS后续版本将从一个发行在RHEL(红帽Linux企业版)之后,“复制”的开源企业级发行版,变成在RHEL发行之前“试水版”。这个变化可能会让CentOS的粉丝用户不爽,有些用户开始考虑转向另一个也非常流行的Linux发行版:Ubuntu(乌班图),目前流行的最新稳定版是Ubuntu 20.04LTS。

Ubuntu是一个可以同时兼顾服务器和桌面端用户的Linux发行版,既可以用来做服务器系统,也可以带图形界面一起安装用来做桌面操作系统,而且界面比较友好。而Ubuntu的前辈Debian虽然不是那么流行,但对于企业级服务来说,Debian的稳定性为大家所公认,也是一个值得关注的版本。

那么CentOS和Ubuntu这两个应该如何选呢,笔者认为CentOS还是当下的主流,当下用CentOS做Linux入门学习还是非常可取的。CentOS7社区更新维护时间还要到2024年6月份,在2024年之前应该不会有什么大的变化。等到了那个时间之后再看当时的趋势也不迟。毕竟从一个Linux发行版,转到另一个分支,跨度也并不是那么大。

Linux 应用领域

今天各种场合都有使用各种 Linux 发行版,从嵌入式设备到超级计算机,从企业级服务器到云计算,通常服务器使用 LAMP(Linux + Apache + MySQL + PHP)或 LNMP(Linux + Nginx+ MySQL + PHP)组合来提供我们日常APP所需要的运行环境。