Linux 周年快乐:回顾一切的起点

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

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

我在 1993 年首次安装了 Linux。当时我运行的是 MS-DOS,但我非常喜欢我们校园计算机实验室里的 Unix 系统,我作为本科大学生在那里度过了很多时间。当我听说 Linux,一个免费的 Unix 版本,可以在我家的 386 电脑上运行,我立刻就想尝试一下。我的第一个 Linux 发行版是 Softlanding Linux System (SLS) 1.03,带有 Linux 内核 0.99 alpha 补丁级别 11。这需要惊人的 2MB 内存,如果想编译程序则需要 4MB,运行 X windows 需要 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 windows 和开发工具,需要大约 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 Vinit 脚本,然后是 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 windows

正如 SLS 安装文件所承诺的那样,让 X windows 运行起来并不容易,

让 X windows 在你的 PC 上运行有时可能有点令人沮丧,主要是因为 PC 的显卡类型太多了。Linux X11 仅支持 VGA 类型的显卡,但是 VGA 的类型太多了,只有某些类型得到完全支持。SLS 配备了两个 X windows 服务器。全彩色服务器 XFree86 支持部分或全部 ET3000、ET4000、PVGA1、GVGA、Trident、S3、8514、加速卡、ATI plus 等。

另一个服务器 XF86_Mono 应该可以与几乎任何 VGA 显卡配合使用,但仅限于单色模式。因此,它也使用更少的内存,并且应该比彩色服务器更快。但当然它看起来不如彩色服务器好看。

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

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

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

The syssetup program

opensource.com

但这是 1994 年的 X windows,桌面的概念尚不存在。我的选择是 FVWM(虚拟窗口管理器)或 TWM(选项卡式窗口管理器)。TWM 设置起来很简单,并提供了一个简单但功能齐全的图形环境。

TWM

opensource.com

关机

尽管我非常享受探索我的 Linux 根源,但最终还是到了回到我的现代桌面的时候了。我最初在一台 32 位 386 计算机上运行 Linux,只有 8MB 内存和一个 120MB 硬盘,而我今天的系统要强大得多。在我的双核 64 位 Intel Core i5 CPU 上,运行着 4GB 内存和 128GB 固态硬盘以及 Linux 内核 4.11.11,我可以做更多的事情。所以,在我的 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)。
我仍然有 Linux Slackware 原始安装光盘。

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

回复 Unixos WinNT (未验证)

我当时甚至还没有开始编程。所以我不太确定,但在 WIKI 中发现 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 的日子……
手动模式行,以在我的 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 - 听起来你和我经历的时间差不多,方式也或多或少相同。我作为一个贫穷的毕业生,在 93 年 1 月在一个 1MB 系统上使用 Slackdist 和 Kernel 0.99.4 入门,该系统配备了不受支持的 S3 911 显卡。我记得将内核二进制文件和源代码放在一张 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 年,我为一家计算机杂志做自由撰稿人,他们要求我写一篇关于 Linux 的评论,基于一个名为 RedHat 的新产品。在此之前,我玩过 Slackware,但 RedHat 完全不同,我对安装程序以及我在安装过程中遇到一些奇怪问题时收到的支持印象深刻。可以说,从那以后我就迷上了 RedHat。

我写的评论是我所在国家/地区关于 Linux 的第一篇评论,这是我微不足道的成名之作,现在已经消失在历史的长河中…… :-)

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

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

Creative Commons License本作品采用 Creative Commons Attribution-Share Alike 4.0 International License 许可。
© . All rights reserved.