Linux 周年快乐:回顾它的起源

安装 SLS 1.05 展示了 Linux 内核在 26 年里取得了多大的进步。
568 位读者喜欢这个。
Happy birthday, Linux!

litlnemo。由 Opensource.com 修改。CC BY-SA 2.0。

我第一次安装 Linux 是在 1993 年。当时我运行的是 MS-DOS,但我非常喜欢我们校园计算机实验室里的 Unix 系统,在那里我度过了本科大学的大部分时间。当我听说 Linux,一个免费的 Unix 版本,我可以在家里的 386 计算机上运行,我立即想尝试一下。我的第一个 Linux 发行版是 Softlanding Linux System (SLS) 1.03,带有 Linux 内核 0.99 alpha patch level 11。这需要惊人的 2MB 内存,如果你想编译程序,则需要 4MB,运行 X 窗口则需要 8MB。

我认为 Linux 比 MS-DOS 的世界有了巨大的进步。虽然 Linux 缺乏 MS-DOS 上可用的应用程序和游戏的广度,但我发现 Linux 给了我更大的灵活性。与 MS-DOS 不同,我现在可以进行真正的多任务处理,一次运行多个程序。而且 Linux 提供了大量的工具,包括一个 C 编译器,我可以用来构建自己的程序。

一年后,我升级到了 SLS 1.05,它采用了全新的 Linux 内核 1.0。更重要的是,Linux 1.0 引入了内核模块。有了模块,你不再需要完全重新编译你的内核来支持新的硬件;相反,你可以加载 63 个包含的 Linux 内核模块中的一个。SLS 1.05 在发行版的 README 文件中包含了关于模块的这段说明

内核的模块化旨在减少,并最终消除,重新编译内核的要求,无论是用于更改/修改设备驱动程序还是用于动态访问不常用的驱动程序。更重要的是,也许,各个工作组的努力不再需要影响内核本身的开发。事实上,现在应该可以发布官方内核的二进制版本。

8 月 25 日,Linux 内核将迎来它的 26 周年纪念日。为了庆祝,我重新安装了 SLS 1.05,以提醒自己 Linux 1.0 内核是什么样的,并认识到自 20 世纪 90 年代以来 Linux 已经走了多远。加入我,一起踏上这段 Linux 怀旧之旅!

安装

Softlanding Linux System 是第一个真正的“发行版”,它包含一个安装程序。然而,安装过程与你在现代发行版中发现的流畅过程不同。我需要从安装软盘启动我的系统,而不是从安装 CD-ROM 启动,然后在 login 提示符下运行安装程序。

Installing SLS 1.05 from the login prompt

opensource.com

SLS 1.05 中引入的一个很酷的特性是启用了颜色的文本模式安装程序。当我选择颜色模式时,安装程序切换到浅蓝色背景和黑色文本,而不是我们原始前辈使用的纯白色背景上的黑色文本。

Color-enabled text-mode installer in SLS 1.05

opensource.com

SLS 安装程序很简单,从屏幕底部滚动文本,但它确实完成了工作。通过响应几个简单的提示,我能够为 Linux 创建一个分区,在它上面放置一个 ext2 文件系统,并安装 Linux。安装 SLS 1.05,包括 X 窗口和开发工具,需要大约 85MB 的磁盘空间。按照今天的标准,这可能听起来不多,但当 Linux 1.0 推出时,120MB 的硬盘仍然很常见。

Creating a partition for Linux, putting an ext2 filesystem on it, and installing Linux

opensource.com

First boot

opensource.com

系统级别

当我第一次启动进入 Linux 时,我的记忆触发了一些关于这个早期版本 Linux 的系统事情。首先,Linux 不占用太多空间。启动系统并运行一些实用程序来检查它之后,Linux 占用的内存不到 4MB。在一个拥有 16MB 内存的系统上,这意味着剩下大量的内存来运行程序。

Checking out the filesystem and available disk space

opensource.com

熟悉的 /proc 元文件系统存在于 Linux 1.0 中,尽管与你在现代系统中看到的相比,它没有提供太多信息。在 Linux 1.0 中,/proc 包括探测基本系统统计信息(如 meminfostat)的接口。

The familiar /proc meta filesystem

opensource.com

这个系统上的 /etc 目录非常空旷。值得注意的是,SLS 1.05 借用了来自 BSD Unixrc 脚本来控制系统启动。一切都通过 rc 脚本启动,本地系统更改在 rc.local 文件中定义。后来,大多数 Linux 发行版将采用来自 Unix System V 的更熟悉的 init 脚本,然后是 systemd 初始化系统。

The /etc directory

opensource.com

你能做什么

我的系统启动并运行后,是时候开始工作了。那么,你可以用这个早期的 Linux 系统做什么?

让我们从基本的文件管理开始。每次你登录时,SLS 都会提醒你关于 Softlanding 菜单 shell (MESH),一个文件管理程序,现代用户可能会认为它类似于 Midnight Commander。20 世纪 90 年代的用戶会将 MESH 更紧密地与 Norton Commander 相比较,后者可以说是 MS-DOS 上最流行的第三方文件管理器。

The Softlanding menu shell (MESH)

opensource.com

除了 MESH,SLS 1.05 中包含的完整屏幕应用程序相对较少。但你可以找到熟悉的用户工具,包括 Elm 邮件阅读器、GNU Emacs 可编程编辑器和古老的 Vim 编辑器。

Elm mail reader

opensource.com

GNU Emacs programmable editor

opensource.com

SLS 1.05 甚至包含一个可以在终端上玩的俄罗斯方块版本。

Tetris for terminals

opensource.com

在 20 世纪 90 年代,大多数住宅互联网访问是通过拨号连接,因此 SLS 1.05 包含了 Minicom 调制解调器拨号应用程序。Minicom 提供了与调制解调器的直接连接,并要求用户导航 Hayes 调制解调器 AT 命令来执行基本功能,如拨打电话号码或挂断电话。Minicom 还支持宏和其他巧妙的功能,使其更容易连接到你的本地调制解调器池。

Minicom modem-dialer application

opensource.com

但是如果你想写一份文档呢? SLS 1.05 存在于 LibreOffice 或 OpenOffice 之类软件出现之前。在 20 世纪 90 年代初期,Linux 只是没有这些应用程序。相反,如果你想使用文字处理器,你可能会将系统启动到 MS-DOS 并运行你最喜欢的文字处理器程序,例如 WordPerfect 或共享软件 GalaxyWrite。

但是所有的 Unix 系统都包含一组简单的文本格式化程序,称为 nroff 和 troff。在 Linux 系统上,这些程序被组合到 GNU groff 软件包中,SLS 1.05 包含一个 groff 版本。我对 SLS 1.05 的一个测试是使用 nroff 生成一个简单的文本文档。

A simple nroff text document

opensource.com

nroff text document output

opensource.com

运行 X 窗口

正如 SLS 安装文件所承诺的那样,让 X 窗口执行并不是一件容易的事

在你的 PC 上运行 X 窗口有时可能是一种令人清醒的体验,主要是因为 PC 有如此多种类型的显卡。 Linux X11 仅支持 VGA 类型的显卡,但是有如此多种类型的 VGA,只有某些显卡得到完全支持。 SLS 配备了两个 X 窗口服务器。 全彩色服务器 XFree86 支持部分或全部 ET3000,ET4000,PVGA1,GVGA,Trident,S3,8514,加速卡,ATI plus 等。

另一个服务器 XF86_Mono 应该可以与几乎任何 VGA 卡一起使用,但只能在单色模式下使用。 因此,它也使用更少的内存,并且应该比彩色服务器更快。 但是,当然它看起来并不那么漂亮。

X 窗口配置信息的大部分存储在目录“/usr/X386/lib/X11/”中。 特别是,文件“Xconfig”定义了显示器和显卡的时序。 默认情况下,X 窗口设置为使用彩色服务器,但是如果彩色服务器给你带来麻烦,你可以切换到使用单色服务器 x386mono,因为它应该支持任何标准 VGA。 从本质上讲,这只是意味着使 /usr/X386/bin/X 成为它的链接。

只需编辑 Xconfig 以设置鼠标设备类型和时序,然后输入“startx”。

如果这听起来令人困惑,那确实是。 手动配置 X 窗口确实可能是一种令人清醒的体验。 幸运的是,SLS 1.05 包含 syssetup 程序,以帮助你定义各种系统组件,包括 X 窗口的显示设置。 经过一些提示,以及一些实验和调整,我终于能够启动 X 窗口!

The syssetup program

opensource.com

但是这是来自 1994 年的 X 窗口,桌面的概念尚不存在。 我的选择是 FVWM(一个虚拟窗口管理器)或 TWM(一个选项卡式窗口管理器)。 TWM 易于设置,并提供了一个简单而实用的图形环境。

TWM

opensource.com

关闭

尽管我很享受探索我的 Linux 根源,但最终还是该回到我的现代桌面了。 我最初在 32 位 386 计算机上运行 Linux,只有 8MB 的内存和 120MB 的硬盘,而我今天的系统强大得多。 我可以在我的双核 64 位 Intel Core i5 CPU 上做更多的事情,它配备 4GB 内存和一个运行 Linux 内核 4.11.11 的 128GB 固态硬盘。 因此,在我的 SLS 1.05 实验结束后,是时候离开了。

Shutting down

opensource.com

再见,Linux 1.0。 很高兴看到你成长得很好。

标签
photo of Jim Hall
Jim Hall 是一位开源软件倡导者和开发者,以 GNOME 中的可用性测试以及 FreeDOS 的创始人兼项目协调员而闻名。

15 条评论

看来即使在当时,它也相当能干。 感谢您写下这篇文章!

Linux 的第一个发行版是 SLACKWARE,而不是 Softlanding Linux System (SLS)。
我仍然有 linix Slackware 安装的原始 CD

Jim 从未说过 SLS 是第一个 Linux 发行版。 他写道,SLS 是他的第一个发行版,并且它是第一个包含安装程序的真正的“发行版”。 无论如何,Slackware 的早期版本都是基于 SLS 的; SLS 大约在 Slackware 推出前一年发布。

回复 Unixos WinNT(未验证)

那时我甚至还没有开始编程。所以我不确定,但在维基百科上发现SLS是最早的,而SLACKWARE源自SLS。“Slackware 最初源自 Softlanding Linux System (SLS),它是最初的 Linux 发行版中最受欢迎的一个,也是第一个提供包含不仅仅是内核和基本实用程序[18]的综合软件集合,包括 X11 图形界面、TCP/IP 和 UUCP 网络以及 GNU Emacs。[19]”。(参考:https://en.wikipedia.org/wiki/Slackware

回复 Unixos WinNT(未验证)

我的第一个 Linux 是 Red Hat 5.1 自带的。当时最大的挑战是驱动程序,找到它们,下载它们,安装然后配置。我花了几个星期才让 X Windows 运行起来,但第一次启动进入 X 的快乐是令人难忘的。

一篇由 OSS 的伟大贡献者撰写的令人非常愉快的庆祝文章。我的第一个 Linux 发行版是 1997 或 1998 年的 Caldera OpenLinux。我记得长途跋涉去零售店购买盒装的(那时没有宽带)。回家,安装它,自言自语:“这不会有什么发展...”然后爬回我在公司用的 WinNT 和在家用的 Win95。这清楚地表明了像 Linus(和你)这样的开明人士与我们凡人之间的视野、洞察力和知识深度的差异。今天热情地使用基于 Debian/Ubuntu 的 Mint,现在我看不出自己会去其他地方了...

感谢您,来自意大利罗马,祝 Linux 生日快乐!

感谢大家的精彩评论!

我还想指出安装程序截图中的一个有趣的现象。当提示输入 IP 地址时,我首先输入了 127.0.0.1,这是标准的环回地址。然后我意识到我想使用来自我的私有网络的 IP 地址,所以我按退格键并将其更改为 192.168.1.100

但是在安装过程中,控制台还没有正确设置好,所以退格键用“\”表示,然后是你退格删除的每个字符,当正常输入恢复时用“/”表示。

这就是为什么 127.0.0.1 是倒着写的 (1.0.0.721),因为我在我刚刚输入的内容上按了退格键。

这也是为什么稍后你会看到 8.8..\./8.8。在输入 DNS 地址时,我错误地输入了第二个点。

那段日子啊....
我还记得使用 20 多个软盘 (5 1/4") 安装 SLS 的情景...
手动 modelines 以在我的 1024x768x90Hz *隔行*(即实际上是 1024x(768/2)x45Hz)上获得无闪烁(非标准)分辨率...
是的,3MB 内存... 那段日子啊...

我更喜欢过去的一件事:开发人员知道如何优化,而不是像今天这样,我们有多 GB 内存的系统,仅仅打开另一个浏览器窗口就会消耗更多的资源

当您第一次安装 Linux 时,我已经运行了 Digital Research 的 Concurrent DOS(他们的 Concurrent CPM OS 的 DOS 界面)。

它具有多任务处理能力,事实上,我可以多任务处理我的 Clipper 程序,并允许它们在不同的用户之间进行交互。在多个窗口中运行 Windows 3.0 很容易,而且操作系统的开销很小。

不幸的是,Linux 幸存下来,而 Concurrent DOS 逐渐消失。但是,关键是如果你想在 Microsoft 友好的 DOS 环境中获得 Unix 的好处,DR 的 Concurrent DOS 就是它。

很高兴阅读您对早期 Linux 时代的追忆,Jim - 听起来您和我几乎以相同的方式经历了这一切。1993 年 1 月,我以一个贫穷的毕业生的身份,在一个拥有 1MB 内存和不受支持的 S3 911 显卡的系统上开始了 Slackdist 和 Kernel 0.99.4。我记得将内核二进制文件和源代码放在一个 1.44MB 的软盘上。那段日子啊...

没有 x windows 这种东西... 它是 X Window。我想相信您确实了解很多关于 UNIX 和 Linux 的知识,但是这样一个基本的错误很难让人忽视。

愚蠢的 greybeard,x windows,x window,twm,motif,不管怎样,每个人都知道他的意思... 甚至你。所以,这并没有真正反映他的知识,而更多地反映了你的吹毛求疵的本性。即便如此,为了进一步为他辩护,SLS 的发布说明,他正在演示的正是这个发行版(我知道这不是一个词,或者说是吗?),将其称为 X-windows - 参见:http://linux-distributions.org/sls-1.05.readme.txt

回复 ,作者:greybeard (未验证)

感谢你带我回到记忆的旅程!你的文章就像是我自己写的。我清楚地记得装满软盘的纸板箱,这些软盘是我在 1993 年准备和试验安装 SLS 时使用的。

几年后,在 1995 年,我作为一名自由撰稿人,为一家计算机杂志撰写文章,他们要求我对基于 RedHat 的新产品进行 Linux 评论。在此之前,我玩过 Slackware,但 RedHat 完全不同,安装程序以及我在安装时遇到一些奇怪问题时得到的支持让我印象非常深刻。我必须说,从那以后我就迷上了 RedHat。

我写的评论是我所在国家有史以来第一篇关于 Linux 的评论,这是我微不足道的荣誉,现在已经完全消失并埋没在历史的洪流中... :-)

最常见的计算机是 IBM 的,我的是 Caypro,带有便携式键盘和一些松动的胶带字母 Æ、Ø 和 Å。两个 5 1/4" 软盘。

在过去的 26 年里,Linux 已经发展了很多,从黑白命令提示符到多颜色、多种风格的发行版。

Creative Commons License本作品采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可。
© . All rights reserved.