作者丨 Joe Brockmeier

译者丨刘志勇

策划丨Tina

大约三十年前,Linus Trovalds 发送了一封电子邮件,宣布推出 Linux,这是一款免费的操作系统。他称“这只是一种爱好”,而非“像 GNU 那样大而专业”。可以说,自从 Torvalds 发布 Linux 以来的 28 年里,它已经对技术和整个世界产生了巨大的影响。不过,大多人都已经知道了 Linux 的“起源故事”。以下是关于 Linux(内核和更大的生态系统)的 28 个事实,你有可能还不知道。

1、​Linux 本身并不是很有用,因此人们开始创建 Linux 发行版,将用户软件捆绑在一起,使其可用且易于安装。第一个 Linux 发行版是 Softlanding Linux System(SLS),首次发布于 1992 年,使用的是 0.96p4 Linux 内核。

你可以用 5.25 寸或 3.5 寸的软盘购买,如果你是高科技潮人的话,还可以购买 CD 光盘。如果你想要一个图形用户界面,你还需要至少 8MB 的内存。

2、​虽然 SLS 没有持续太久,但它影响了 Slackware Linux,后者首次发布于 1993 年,至今仍在开发中。Slackware 是现存最古老的 Linux 发行版,今年 7 月 17 日还庆祝了它 26 周年的生日。

3、​在所有的通用操作系统中,Linux 拥有最大的安装基础。它为 500 强超算、Android、Chromebooks、以及各种嵌入式设备、像 Kindle 电纸书阅读器和智能电视等设备都提供了支持。(当然,还有用来写下本文的笔记本电脑)

4、​当 Linus 宣布 Linux 时,实际上,当时他并没有真正发布 Linux。那时候 Linux 还没有名字,Linus 只是说它是“一款免费的操作系统”,类似于 Minix。后来,Linux 被命名为“Freax”,由“free”、“freak”和“x”组合而成。但想象一下“Red Hat Enterprise Freax”这个名字,会不会有种别扭的感觉?谢天谢地,这个名字最终并没有采用。

5、​一旦它有了名字,人们就必须搞清楚这个名字怎么念。Linus 自己提供了 Linux 的发音的文件,它的发音听上去(大致)是“Leenucks”。

6、​自 1991 年以来,它就开始有点变“重”了。第一个 Linux 发行版的大小还不到 1MB,未经压缩。最新的稳定内核(截至本文写作之时为 5.2.7),经压缩后容量大约为 103MB,未压缩时大小约为 946MB。公平地讲,与 1991 年相比,它现在的作用可要大得多了。

7、​Linux 一开始并不是在 GNU 通用公共许可证(GPL)下授权的。第一版只是包含了不允许有偿再分发的声明。1999 年 12 月,根据 GPLv2 许可的第一个版本为 0.99。注意,这只是 GPLv2 。

8、​你可能会注意到,当涉及到 Linux 的时候有很多选择。真的,太多选择了!根据 Distrowatch 网站的数据,该网站注册的 Linux 发行版已经超过了 850 个。这么多年来,这其中有很多发行版被淘汰、停更了。

该网站目前列出了 260 个仍旧“活跃的” Linux 发行版,其中当然包括 Red Hat Enterprise Linux、Fedora Linux、CentOS 和许多其他发行版。

如果你要算上主要发行版的变体,比如 Fedora 的 Spins ,那么这个数字将会大幅攀升。

一度甚至出现过以 Hannah Montana 为主题的 Linux 发行版。你以为我在瞎编吗?不是的,这是千真万确的事儿。这个世界太奇怪了!

9、​如果你已经使用 Linux 一段时间了,你可能会记得在系统启动时看到一个关于“BogoMips”的显示。BogoMips 是衡量 CPU 速度的方法,它衡量的是“ CPU 每秒钟什么都不能做的百万次数”。

听起来很傻,对吧,是的,但它们也很有用。Linux 需要一个计数循环来校准它所运行的机器速度,所以就产生了 BogoMips。但是它在其他方面并没有什么太大用处,所以这个名字是 bogus(伪造的)和 MIPS 的组合,意即“伪 MIPS”。现在大多数系统都有图形引导屏幕,根本就不显示 BogoMips 的相关信息。这样也好,因为 BogoMips 在今天得以保存的唯一原因是为了避免被破坏用户空间——一些用户程序显然还依赖于它。

如果你感到好奇,可以通过运行 cat /proc/cpuinfo | grep bog 来发现系统的 BogoMips 信息。CPU 的每个核心都有一个 BogoMips 数字。

10、​当你启动计算机时,Linux 并不是第一个运行的东西。它依赖引导加载器来启动,然后将启动操作移交给操作系统,以加载设备驱动程序并接管操作。像使用 U 盘或光盘来启动你想运行 Linux 的系统一样简单?不,事情没有这么简单。

过去多年来,Linux 已经有了一系列的引导加载器,在启动 Linux 系统方面也取得了长足的进步。历史悠久的 Loadlin 引导加载器,将在 MS-DOS 中运行,并替换运行系统来启动 Linux。SLS Linux 的第一个版本每次重启都需要一张引导软盘,或者你可以尝试手动配置 LILO 。

多年来我们已经使用过 LILO、BootX(用于 Mac)、yaboot(亦用于 Mac)、SysLinux 系列的引导加载器(包括用于从 ISO 映像引导的引导加载器,或者使用 PXE 协议通过网络引导的引导加载器)和 GNU Grand Unified Bootloader(GRUB)版本 1 和版本 2 以及许多其他版本。

11、​Linux 内核曾经有过一个版本控制系统,其中偶数版本用于稳定内核,奇数版本用于开发内核。例如,2.2 Linux 内核系列是一个“稳定”的内核系列,而 2.3 就不是稳定内核了。这种惯例被打破,是在当 2.6 内核开始尝试更快的发布新内核,并停止长时间的开发周期时。

Linux 内核大约花了三年时间才达到 1.0,然后又花了两年多一点时间才达到 2.0。接着又花了 15 年的时间,内核才达到版本 3.0,而 4.0 内核的发布用了不到 5 年的时间。在这一点上,版本号跳跃并不是特别重要, Linus 曾说过:“我不会对这个数字进行过多的解读。”

12、​最初,编写 Linux 并不是为了可移植。当时,Linus 针对的是 386 而编写的,仅此而已。第一个“官方”端口是 1995 年的 DEC Alpha CPU。Linux 内核现在可以运行在大量的 CPU 上,但是对 386 本身的支持却在 2012 年就被放弃了。

13、​Linux 有成千上万的贡献者。在 2016 年,Linux 基金会在 2005 年到 2016 年间,确定了 13594 个贡献者,并计算出内核中超过 2200 万行代码来自贡献者。这还没有考虑到 2005 年开始追踪之前的贡献者。

14、​大多数 Linux 爱好者都知道内核的官方吉祥物 Tux。许多人并不知道的是,Tux 在 2.6.29 内核周期中曾被官方弃用,改用 Tuz。

Linux 28 岁了,我们总结了 28 个不为人知的事实

Tuz 是一只袋獾(Tasmanian Devil,来自塔斯马尼亚的食肉有袋类动物),或者是 Tux 披着袋獾的外衣,它之所以被选中为吉祥物,旨在提高人们对该物种濒危状况的认识。在 2009 年举办的 Linux.conf.au 峰会展出。与会者收到了 Tuz 毛绒玩具,传统的 Linux.conf.au 慈善拍卖会为拯救袋獾运动筹集了大约 40000 澳元。

15、​2001 年 1 月,第一批(如果不是第一批的话)针对 Linux 的成功蠕虫之一出现了。Ramen 蠕虫以 wu-ftpd、nfs-utils 和 lprng 为目标,并作为一个警告,随着 Linux 的普及,人们会看到它在创建针对 Linux 的蠕虫、病毒和其他攻击的份额日益增长。

16、​纽约证劵交易所(NYSE)在 2007 年就将 Linux 用于关键任务系统。

17、​如果没有 Linux 的话,可能也就没有 Git。Linus Torvalds 创建了 Git,用于 Linux 内核的开发,因为他对当时现有的版本控制系统不满。因此,Linux 不仅仅负责围绕操作系统建立一个庞大的生态系统,它还奠定了当今最流行的社交开发平台的核心。

18、​曾几何时,Apple 在 Apple 的 Power Macintosh 平台上赞助了一个在 Mach 微内核上运行 Linux 的项目。这似乎是早在 1999 年正式推出 Darwin 之前,Apple 首次涉足开源领域。

第一个版本被称为 MkLinux,由 Apple 和法国的国际开放标准组织(The Open Group,TOG)研究所共同开发。它是在 1996 年的全球开发者大会(WWDC)上宣布的,但从未流行起来。到 1998 年,它成为一项由社区主导的工作,在更大的 Linux 生态系统中仍然是一项小众项目。

19、​在 Google 出现之前,在互联网上查找内容还是一个挑战。1998 年,一些有进取心的 Linux 爱好者创建了一个“ Linux Search Engine ”,帮助用户查找有关 Linux 发行版、Linux 用户组以及其他与 Linux 相关的信息。可悲的是,搜索引擎的内容(更确切地说,是一个目录)已经消失在时间的迷雾中。

20、​Android 将 Linux 带到了数百万人的手机上,但它并不是第一款搭载 Linux 内核的手机。可以说,这一殊荣属于 Motorola(摩托罗拉)的 A760 手机,该手机于 2003 年推出,带有视频播放器、音乐播放器、即时通讯和其他好东西。

21、​第一款商用 Android 手机是 HTC Dream ,于 2008 年 9 月上市。这部手机配备了物理键盘、微型轨迹球和高达 320x480 的分辨率。自那以后的 11 年里,智能手机已经取得了日新月异的巨大进步,但我们中的一些人仍然怀念物理键盘。

22、​第一次公开发行的 Red Hat 版本于 1994 年万圣节发布。这是一个 beta(0.9)版本,附带了 1.0.9 稳定的 Linux 内核,或者,如果你有冒险精神的话,它还附带了 1.1.54 开发内核。(而且,让我们面对现实吧,如果你是在 1994 年就使用 Linux 的话,那你真的很冒险!)

23、​正如我们已经讨论过的那样,Linux 自诞生以来,已经拓展了很多领域。它用于一系列令人眼花缭乱的工作负载,从电子阅读器等消费类设备到大规模集群上的人工智能 / 机器学习工作负载。但是,你知道还有一个 Linux 管弦乐队吗?

Linux 笔记本电脑管弦乐队(Linux Laptop Orchestra,L2Ork)是弗吉尼亚理工大学数字交互声音和媒体工作室(Digital Interactive Sound & Intermedia Studio,DISIS)的“笔记本电脑管弦乐队”。L2Ork 被形容为“现代跨媒体合奏团”,它将“传统管弦乐队与日益普及的人机交互技术结合起来,旨在探索手势的表现力、公共交互、学科不可知论的环境和艺术的多维性。”

如果这个描述让你摸不着头脑的话,你可以在 YouTube 上观看一段关于 L2Ork 的视频,享受 Linux 的舒缓声音。

24、​如果你对管弦乐队不感兴趣的话,你可以在 Liunux 上体验一下更多的田园风情,真的,就是那个字面意义。

这些年来,Linux 意想不到的工作之一就是……挤牛奶。Delaval 的“自愿挤奶系统”(Voluntary Milking System,VMS)可以让奶牛自己决定什么时候挤奶,并在没有人为干预的情况下管理挤奶过程。所有这些都由运行 Linux 的单板机(single-board computer,SBC)管理。

25、​如果你喜欢轻便实惠的笔记本电脑,你可能得感谢一下 Linux。华硕 Eee PC 的推出,可以说是降低成本、专注于更轻巧、更便携机器的一个推动因素。Eee PC 是 2007 年推出的一款重量轻、体积小、价格便宜(不到 300 美元)的“上网本”。第一代型号的键盘也比普通键盘要小,所以如果你的手比一般人都大的话,那就只能祝你好运了。重要的是,Eee PC 附带了一个定制的 Linux 发行版,这意味着它不需要为操作系统本身支付成本。

上网本最终被平板电脑、智能手机和 Chromebook 等设备淘汰了。但这是一个有趣的实验,Linux 使之成为了可能。

26、​安装 Linux 并不总是那么容易,但是有时候还是很有趣的。当磁盘很慢、安装者会问很多问题的时候,Caldera OpenLinux 安装程序提供了一个俄罗斯方块类型的游戏,你可以一边玩这个游戏,一边将 Linux 安装到你的磁盘上。

遗憾的是,Red Hat Enterprise Linux 的 Anaconda 安装程序并没有提供俄罗斯方块或其他任何游戏。这样也好,因为在现代硬件上安装 Linux,通常要比过去的 CD 光盘和慢速硬盘要快多了。

27、​众所周知,如今在电影制作的领域中,到处可见 Linux 的身影。如果你看到一部有很多 CGI 的电影,那么这部电影的渲染很有可能是在 Linux 上完成的。至少在公开报道中,第一部使用 Linux 的主要电影是《泰坦尼克号》。Digital Domain 使用了一个由 200 台 Alpha 机器组成的网络,运行 Red Hat Linux,来加快渲染时间。

28、​Linux 内核并不是按照既定时间表发布的,所以如果你要预测下一个内核版本什么时候发布,你将会如何预测呢?用水晶球来预测怎么样啊?

根据“PHB Crystal Ball”网站的数据表明,内核的平均开发时间为 68 天,合并窗口为 13 天。根据该网站说法,下一个内核将于 2019 年 9 月 19 日星期天发布。

28 周年快乐,Linux!

Linux 的历史充满了迷人的事实和故事,所以本文只是对这段历史的一个小小的一瞥。正如他们所说的,最好的还在后头。尽管 Linux 的过去有趣、令人印象深刻,但它的未来看起来同样也有趣。生日快乐,Linux!祝你生日快乐!Linux!

作者介绍

Joe Brockmeier,Red Hat 官博编辑部主任。复合型专业技术人员,拥有 10 年以上的 IT 行业经验。曾任社区经理、技术记者、系统管理员,在开源社区和开发社区的工作和倡导方面拥有丰富的经验。有效的沟通者,擅长写作、与不同的听众进行交流。

有道无术,术可成;有术无道,止于术

欢迎大家关注Java之道公众号

Linux 28 岁了,我们总结了 28 个不为人知的事实_linux