標籤:

Linux 1.0 之旅:回顧這一切的開始

通過安裝 SLS 1.05 展示了 Linux 內核在這 26 年間走過了多遠。

我第一次安裝 Linux 是在 1993 年。那時我跑的是 MS-DOS,但我真的很喜歡學校機房電腦的 Unix 系統,就在那裡度過了我大學本科時光。 當我聽說了 Linux,一個 Unix 的免費版本,可以在我家的 386 電腦上運行的時候,我立刻就想要試試。我的第一個 Linux 發行版是 Softlanding Linux System (SLS) 1.03,帶有 11 級補丁的 0.99 alpha 版本的 Linux 內核。它要求高達 2 MB 的內存,如果你想要編譯項目需要 4 MB,運行 X windows 則需要 8 MB。

我認為 Linux 相較於 MS-DOS 世界是一個巨大的進步。 儘管 Linux 缺乏運行在 MS-DOS 上的廣泛的應用及遊戲,但我發現 Linux 帶給我的是巨大的靈活性。不像 MS-DOS ,現在我可以進行真正的多任務,同時運行不止一個程序。並且 Linux 提供了豐富的工具,包括一個 C 語言編譯器,讓我可以構建自己的項目。

一年後,我升級到了 SLS 1.05,它支持全新的 Linux 內核 1.0。 更重要的,Linux 引入了內核模塊。通過內核模塊,你不再需要為支持新硬體而編譯整個內核;取而代之,只需要從包含 Linux 內核之內的 63 個模塊里載入一個就行。在 SLS 1.05 的發行自述文件中包含這些關於模塊的注釋:

內核的模塊化旨在正視減少並最終消除重新編譯內核的要求,無論是變更、修改設備驅動或者為了動態訪問不常用的驅動。也許更為重要的是,個別工作小組的工作不再影響到內核的正確開發。事實上,這讓以二進位發布官方內核現在成為了可能。

在 8 月 25 日,Linux 內核將迎來它的第 26 周年(LCTT 譯註:已經過去了 =.= )。為了慶祝,我重新安裝了 SLS 1.05 來提醒自己 Linux 1.0 內核是什麼樣子,去認識 Linux 自二十世紀 90 年代以來走了多遠。和我一起踏上 Linux 的懷舊之旅吧!

安裝

SLS 是第一個真正的 「發行版」,因為它包含一個安裝程序。 儘管安裝過程並不像現代發行版一樣順暢。 不能從 CD-ROM 啟動安裝,我需要從安裝軟盤啟動我的系統,然後從 login 提示中運行安裝程序。

Installing SLS 1.05 from the login prompt

在 SLS 1.05 中引入的一個漂亮的功能是支持彩色的文本模式安裝器。當我選擇彩色模式時,安裝器切換到一個帶有黑色文字的亮藍色背景,不再是我們祖祖輩輩們使用的原始的普通黑白文本。

Color-enabled text-mode installer in SLS 1.05

SLS 安裝器是個簡單的東西,文本從屏幕底部滾動而上,顯示其做的工作。通過對一些簡單的提示的響應,我能夠創建一個 Linux 分區,掛載上 ext2 文件系統,並安裝 Linux 。 安裝包含了 X windows 和開發工具的 SLS 1.05,需要大約 85 MB 的磁碟空間。依照今天的標準這聽起來可能不是很多,但在 Linux 1.0 出來的時候,120 MB 的硬體設備才是主流設備。

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

First boot

系統級別

當我第一次啟動到 Linux 時,讓我想起來了一些關於這個早期版本 Linux 系統的事情。首先,Linux 沒有佔據很多的空間。在啟動系統之後運行一些程序來檢查的時候,Linux 佔用了不到 4 MB 的內存。在一個擁有 16MB 內存的系統中,這就意味著節省了很多內存用來運行程序。

Checking out the filesystem and available disk space

熟悉的 /proc 元文件系統在 Linux 1.0 就存在了,儘管對比我們今天在現代系統上看到的,它並不能提供許多信息。在 Linux 1.0, /proc 包含一些介面來探測類似 meminfo 和 stat 之類的基本系統狀態。

The familiar /proc meta filesystem

在這個系統上的 /etc 文件目錄非常簡單。值得一提的是,SLS 1.05 借用了來自 BSD Unix 的 rc 腳本來控制系統啟動。 初始化是通過 rc 腳本進行的,由 rc.local 文件來定義本地系統的調整。後來,許多 Linux 發行版採用了來自 Unix System V 的很相似的 init 腳本,後來又是 systemd 初始化系統。

The /etc directory

你能做些什麼

隨著我的系統的啟動運行,接下來就可以使用了了。那麼,在這樣的早期 Linux 系統上你能做些什麼?

讓我們從基本的文件管理開始。 每次在你登錄的時候,SLS 會讓你使用 Softlanding 菜單界面(MESH),這是一個文件管理程序,現代的用戶們可能覺得它和 Midnight Commander 很相似。 而二十世紀 90 年代的用戶們可能會拿 MESH 與更為接近的 Norton Commander 相比,這個可以說是在 MS-DOS 上最流行的第三方文件管理程序。

The Softlanding menu shell (MESH)

除了 MESH 之外,在 SLS 1.05 中還少量包含了一些全屏應用程序。你可以找到熟悉的用戶工具,包括 Elm 郵件閱讀器、GNU Emacs 可編程編輯器,以及古老的 Vim 編輯器。

Elm mail reader

GNU Emacs programmable editor

SLS 1.05 甚至包含了一個可以讓你在終端玩的俄羅斯方塊版本。

Tetris for terminals

在二十世紀 90 年代,多數住宅的網路接入是通過撥號連接的,所以 SLS 1.05 包含了 Minicom 數據機撥號程序。Minicom 提供一個與數據機的直接連接,並需要用戶通過賀氏數據機的 AT 命令來完成一些像是撥號或掛電話這樣的基礎功能。Minicom 同樣支持宏和其他簡單功能來使連接你的本地數據機池更容易。

Minicom modem-dialer application

但如果你想要寫一篇文檔時怎麼辦? SLS 1.05 的存在要比 LibreOffice 或者 OpenOffice 早很長時間。在二十世紀 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

nroff text document output

運行 X windows

獲取安裝 X windows 並不特別容易,如 SLS 安裝文件承諾的那樣:

在你的 PC 上獲取安裝 X windows 可能會有一些發人深省的體驗,主要是因為 PC 的顯示卡類型太多。Linux X11 僅支持 VGA 類型的顯示卡,但在許多類型的 VGA 中僅有個別的某些類型是完全支持的。SLS 存在兩種 X windows 伺服器。全彩的 XFree86,支持一些或所有 ET3000、ET400、PVGA1、GVGA、Trident、S3、8514、Accelerated cards、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

但這是來自於 1994 年的 X windows,它仍然並沒有桌面的概念。我可以從 FVWM (一個虛擬窗口管理器)或 TWM (選項卡式的窗口管理器)中選擇。TWM 直觀地設置提供一個功能簡單的圖形環境。

TWM

關機

我已經在我的 Linux 尋根之旅沉浸許久,是時候最終回到我的現代桌面上了。最初我跑 Linux 的是一台僅有 8MB 內存和 一個 120MB 硬碟驅動器的 32 位 386 電腦,而我現在的系統已經足夠強大了。擁有雙核 64 位 Intel Core i5 處理器,4 GB 內存和一個 128 GB 的固態硬碟,我可以在我的運行著 Linux 內核 4.11.11 的系統上做更多事情。那麼,在我的 SLS 1.05 的實驗結束之後,是時候離開了。

Shutting down

再見,Linux 1.0。很高興看到你的茁壯成長。

(題圖:圖片來源:litlnemo。由 Opnesource.com 修改。CC BY-SA 2.0.)


via: opensource.com/article/

作者:Jim Hall 譯者:softpaopao 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出

推薦閱讀:

Linux下Anaconda的安裝使用與卸載
拯救者 Linux:我是如何給我的團隊引入 Linux 的
linux zsh終端 大目錄下 緩慢的問題?
學Linux內核的作用與方法?
利用iptables目標重寫巧妙變更遺留系統配置

TAG:Linux |