Linux 1.0 之旅:回顧這一切的開始
我第一次安裝 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](/data/attachment/album/201709/03/200234llktk4abge6qtkb4.png "Installing SLS 1.05 from the login prompt")
在 SLS 1.05 中引入的一個漂亮的功能是支持彩色的文本模式安裝器。當我選擇彩色模式時,安裝器切換到一個帶有黑色文字的亮藍色背景,不再是我們祖祖輩輩們使用的原始的普通黑白文本。
![Color-enabled text-mode installer in SLS 1.05](/data/attachment/album/201709/03/200234z1tet1604h77m1cb.png "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](/data/attachment/album/201709/03/200235wsn2uitws5l09s9t.png "Creating a partition for Linux, putting an ext2 filesystem on it, and installing Linux")
![First boot](/data/attachment/album/201709/03/200235beiun1ufey3uanjo.png "First boot")
系統級別
當我第一次啟動到 Linux 時,讓我想起來了一些關於這個早期版本 Linux 系統的事情。首先,Linux 沒有佔據很多的空間。在啟動系統之後運行一些程序來檢查的時候,Linux 佔用了不到 4 MB 的內存。在一個擁有 16MB 內存的系統中,這就意味著節省了很多內存用來運行程序。
![Checking out the filesystem and available disk space](/data/attachment/album/201709/03/200236cbwkwzyawhadm8y8.png "Checking out the filesystem and available disk space")
熟悉的 /proc
元文件系統在 Linux 1.0 就存在了,儘管對比我們今天在現代系統上看到的,它並不能提供許多信息。在 Linux 1.0, /proc
包含一些介面來探測類似 meminfo
和 stat
之類的基本系統狀態。
![The familiar /proc meta filesystem](/data/attachment/album/201709/03/200236hlqi0l2g05tl0lh1.png "The familiar /proc meta filesystem")
在這個系統上的 /etc
文件目錄非常簡單。值得一提的是,SLS 1.05 借用了來自 BSD Unix 的 rc 腳本來控制系統啟動。 初始化是通過 rc 腳本進行的,由 rc.local
文件來定義本地系統的調整。後來,許多 Linux 發行版採用了來自 Unix System V 的很相似的 init 腳本,後來又是 systemd 初始化系統。
![The /etc directory](/data/attachment/album/201709/03/200237b4imixd85zhri644.png "The /etc directory")
你能做些什麼
隨著我的系統的啟動運行,接下來就可以使用了了。那麼,在這樣的早期 Linux 系統上你能做些什麼?
讓我們從基本的文件管理開始。 每次在你登錄的時候,SLS 會讓你使用 Softlanding 菜單界面(MESH),這是一個文件管理程序,現代的用戶們可能覺得它和 Midnight Commander 很相似。 而二十世紀 90 年代的用戶們可能會拿 MESH 與更為接近的 Norton Commander 相比,這個可以說是在 MS-DOS 上最流行的第三方文件管理程序。
![The Softlanding menu shell (MESH)](/data/attachment/album/201709/03/200237xuc27l10ttemjztl.png "The Softlanding menu shell (MESH)")
除了 MESH 之外,在 SLS 1.05 中還少量包含了一些全屏應用程序。你可以找到熟悉的用戶工具,包括 Elm 郵件閱讀器、GNU Emacs 可編程編輯器,以及古老的 Vim 編輯器。
![Elm mail reader](/data/attachment/album/201709/03/200238g821lltit8m1xfr1.png "Elm mail reader")
![GNU Emacs programmable editor](/data/attachment/album/201709/03/200238c9zn4ivenvhveqrs.png "GNU Emacs programmable editor")
SLS 1.05 甚至包含了一個可以讓你在終端玩的俄羅斯方塊版本。
![Tetris for terminals](/data/attachment/album/201709/03/200239iyviailypdpvvtvr.png "Tetris for terminals")
在二十世紀 90 年代,多數住宅的網路接入是通過撥號連接的,所以 SLS 1.05 包含了 Minicom 數據機撥號程序。Minicom 提供一個與數據機的直接連接,並需要用戶通過賀氏數據機的 AT 命令來完成一些像是撥號或掛電話這樣的基礎功能。Minicom 同樣支持宏和其他簡單功能來使連接你的本地數據機池更容易。
![Minicom modem-dialer application](/data/attachment/album/201709/03/200239l0wzqyuoyy9498z2.png "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](/data/attachment/album/201709/03/200240z6pnnfcxnfy6fpx0.png "A simple nroff text document")
![nroff text document output](/data/attachment/album/201709/03/200241snm0mb41m7jxoxlm.png "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](/data/attachment/album/201709/03/200241k0dr4h548c2444dv.png "The syssetup program")
但這是來自於 1994 年的 X windows,它仍然並沒有桌面的概念。我可以從 FVWM (一個虛擬窗口管理器)或 TWM (選項卡式的窗口管理器)中選擇。TWM 直觀地設置提供一個功能簡單的圖形環境。
![TWM](/data/attachment/album/201709/03/200243grmcggnmjvwj9iio.png "TWM")
關機
我已經在我的 Linux 尋根之旅沉浸許久,是時候最終回到我的現代桌面上了。最初我跑 Linux 的是一台僅有 8MB 內存和 一個 120MB 硬碟驅動器的 32 位 386 電腦,而我現在的系統已經足夠強大了。擁有雙核 64 位 Intel Core i5 處理器,4 GB 內存和一個 128 GB 的固態硬碟,我可以在我的運行著 Linux 內核 4.11.11 的系統上做更多事情。那麼,在我的 SLS 1.05 的實驗結束之後,是時候離開了。
![Shutting down](/data/attachment/album/201709/03/200243e9w82pgh9n39cpza.png "Shutting down")
再見,Linux 1.0。很高興看到你的茁壯成長。
(題圖:圖片來源:litlnemo。由 Opnesource.com 修改。CC BY-SA 2.0.)
via: https://opensource.com/article/17/8/linux-anniversary
作者:Jim Hall 譯者:softpaopao 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive