Solaris 是一套作業系統,這個作業系統可以驅動整個電腦設備,讓使用者可以操作電腦設備來達成他們的工作。
那麼電腦設備裡面有哪些元件?作業系統如何與電腦設備搭配?這些我們都得要先瞭解一下,
然後再來談開始安裝 Solaris 的啦!那學習 Solaris 有啥好處?你該不該學會 Solaris 呢?
趕緊來去瞧一瞧!
Solaris 是一套作業系統,但是這套作業系統是怎麼開發出來的?
他適合在什麼機器上面運作?他與 Unix 這個作業系統又有何相關?都值得來討論討論!
關於電腦硬體
有人說,電腦是很厲害的咚咚,鳥哥認為,電腦只是一個很厲害的工具,其實他很笨的!
因為如果你沒有下達命令給電腦作,他就不會作任何事情啊! ^_^ !
目前的電腦只認識 0 和 1 ,只會利用 0/1 的方式來幫助人類進行運算或者是處理其他的事務性工作。
那麼電腦是什麼呢?就如同你看到的個人電腦一般,電腦主要分為:輸入單元(鍵盤、滑鼠)、
中央處理器(主機機殼內的 CPU、記憶體等)、輸出單元(例如螢幕、印表機)等等,
當然還有儲存設備例如硬碟、軟碟等等元件。
時至今日你會覺得『啊電腦不就是個人電腦,還有什麼不一樣嗎?』,當然不一樣~
現今的電腦硬體主要分為 x86 架構的個人電腦以及 RISC 架構的大型主機 (mainframe)。
早期個人電腦尚未流行的時候,主要的電腦架構是 RISC 這種架構的。
在 RISC 的架構中,由於開發商的不同,所以硬體相關規格或多或少就有點不相容。
舉例來說, Sun 的主機與 HP 的主機彼此之間就無法互相交換使用。
RISC 架構的主機早期是很流行的,這是因為該架構可以具有多工處理的能力,讓該架構可以負責負載較重的任務。
不過近來由於 x86 架構的高速成長,讓個人電腦的多工處理能力並不會比 RISC 架構遜色。
由於硬體開發商在發展 RISC 架構的硬體通常是全部的元件整合開發的,
所以各元件之間的整合性理論上會比較好。而個人電腦的 x86 架構是較為開放的,
只要符合 x86 架構的硬體配備,理論上就能夠搭配使用。例如你可以使用 NVidia 這家公司發展的主機板晶片組,
使用華碩製造的主機板,配合 AMD 製造的 CPU 還有創見的記憶體,搭配 WD 的硬碟等等,
最終組成一部 x86 個人電腦。不過,由於製造商眾多,在整合上面或許有些小問題也說不定。
就因為大型企業最重要的任務是『穩定的提供服務』,所以 RISC 架構的大型主機還是有其存在的必要!
不管怎麼說,各種架構都存在而各有其適用性,也是一件不錯的事情啊!
那麼接下來我們要來談一談,『如何使用你的電腦』?
咦!啊不就按下電源就能夠玩電腦了?
關於作業系統
當你按下電腦主機的電源之後,電腦會開始讀取硬碟內的資料,然後『驅動所有的電腦硬體配備』,
包括 CPU、記憶體、硬碟、網路卡、周邊介面等等。之後再載入一些應用程式,
接下來你就可以使用這些應用程式來處理你日常的工作了!
這些『驅動硬體的程式、應用程式』等等,可是不包含在硬體內的啊!
這些是所謂的『軟體功能』,而『
驅動所有的硬體配備,就是作業系統最底層的核心的重要功能』了!
這樣您就可以瞭解啥是作業系統了! ^_^
如同前面提到的,早期由於各家硬體廠商開發的硬體規格上或多或少都有點不相同,
那麼『驅動硬體的程式自然也就不一樣』了!
所以說,各家硬體廠商也必須要自行開發可以驅動他們家硬體的作業系統才行。
這也就是說:『作業系統與硬體是有相關性的』啊!
但如此一來也就造成很多的困擾,怎麼說呢?看看底下的例子:
由於應用軟體必須要使用到作業系統所提供的相關功能,所以在不同的作業系統上面是沒有辦法執行相同的一套軟體的。
也就是說,如果我是軟體開發商的話,那我想要讓我的軟體可以在各家主機硬體上面跑的話,
我就得要重寫我的軟體,讓他可以在不同硬體平台上的作業系統裡面執行,
哇!那光是寫不同版本的程式,就可以讓人瘋掉了就要發瘋了吶!
這個情況也就造就了在大型主機上面有很多『專屬軟體』的現象,因為這些軟體只能在某一些作業系統上面執行的原因!
這樣說,您對於硬體、作業系統與軟體應該有一定程度的瞭解了吧?
Unix 、 BSD 、 SunOS 及 Solaris
各家硬體廠商自行以某些獨特的方法開發自家的作業系統,一直到 1973 年以後才比較好一點!
因為 1973 年以 C 程式語言寫出來的 Unix 作業系統被釋出了!由於 C 程式語言與硬體並沒有直接的關係,
只要你有程式語言編譯器,那麼透過修改原始碼就能夠重新編譯出適合您硬體的作業系統了!
在此要再強調一次,電腦硬體僅認識 0/1 這種二進位的資料,而人類對於二進位並沒有很深的概念,
所以人們便透過:
- 利用程式語言的語法撰寫程式碼,這個程式碼通常是純文字的資料,所以人們可以很輕易的看懂;
- 這個原始碼(就是程式碼)需要經過編譯 (compile) 後才能夠成為電腦能夠認識的二進位 (binary) 檔案。
而 Unix 既然有釋出原始碼,那麼只要你將原始碼透過一些修訂以符合你硬體所需要的規格,
呵呵~那就可以編譯出適合你機器的作業系統了!而且 Unix 的速度、概念、效能都很好,
也就造成大流行。當然啦,很多硬體開發商也就直接利用 Unix 來進行作業系統的開發!
對於軟體開發商來說,既然都是使用 Unix ,並且大家都遵守一些工業規範的話,
那麼軟體的開發也就變的更簡單了!
到了 1977 年,Unix 傳到加州柏克萊 (Berkeley) 大學,被 Bill Joy 改版成為 BSD
(Berkeley Software Distribution, BSD) 的版本,利用 Unix 的概念但是捨棄了原本 Unix 的程式碼,
因此 BSD 雖然是 Unix 的一個分支 (Unix-like),不過卻擁有自己的版權喔!
後來 Bill Joy 自行創組昇陽公司 (Sun) ,並且將 BSD 改成 SunOS 這個作業系統,
並且在 SunOS 5.x 版後重新將他們的作業系統更名為 Solaris!
早期的 SunOS 或者是 Solaris 僅能在 Sun 自己開發的硬體上面跑而已,
他們並沒有釋出其作業系統的原始碼。但是 Sun 的機器在大型企業以及學術單位使用的相當廣泛,
包括鳥哥之前所待的研究室裡面就有一部 Sun 的主機,而且很多學術界、工程界所開發的軟體都是僅能在
SunOS 上面跑而已,所以, Sun 的機器與 Solaris 作業系統對於某些人來說是相當重要的!
近年來由於自由軟體的風行, Solaris 也搭上這趟順風車,此外, Sun 也將 Solaris 移植到了 x86
的個人電腦架構上面了!也就是說,
您現在可以使用個人電腦跑 Solaris 囉!
這真是個好消息!因為很多的大型企業或者是學術單位等等,都還是有使用 Sun 相關的機器,
但是 Sun 的 Solaris 與目前最流行的 Linux 是有些不太一樣的地方,包括各項裝置代號、開機流程、
對於硬碟分割的概念不同等等,所以還是得要花時間去熟悉他的。早期因為 Solaris 僅能在 Sun
的機器上跑,所以我們也沒有辦法學習 (因為 Sun 的機器很貴ㄟ!),現在既然可以在個人電腦上跑,
呵呵!當然得要給他學習學習!除了增廣見聞的主要目的之外,多學一樣工具,總是對自己的競爭力多一份加分啊!
您說是吧! ^_^
另外, Sun 除了將 Solaris 釋出成為 Open Source 的軟體之外,較知名的其實是釋出 StarOffice
成為 OpenOffice 這個軟體,對於目前的 Linux 桌上用辦公電腦其實是相當有幫助的吶! ^_^
所以說, Solaris 就是一套作業系統,目前這套作業系統已經支援 x86 了,
這套系統上面還有很多 Sun 自己開發的軟體以及工具,大致上就是如此啦!
想要安裝 Solaris 在你的個人電腦上面時,得先來瞭解一下你需要什麼等級的電腦配備才行。
由於 Solaris 實在.....有點慢,所以你的硬體實在不能太差!簡單的說,你應該要:
- 最好能夠有 CPU 為 P-III 等級以上的主機架構;
- 至少需要 256 MB 的實體記憶體容量;
- 最好能有 5-7 GBytes 以上的硬碟空間;
- 若要進行多重作業系統的安裝時, Solaris 僅能安裝在所謂的『Primary partition』當中;
- 最好能夠有較為平常的硬體裝置,不要使用特殊的硬體裝置。
上面的配備在 2006 年的現在你或許覺得那又沒什麼,新買的電腦都要比上頭列出的配備要更佳!
不過,如果你跟鳥哥一樣都是喜歡撿舊的貨色來做成伺服器的話,那麼就得要先將你的主機配備找出來看看囉~
如果沒有上述的配備,那最好不要安裝 Solaris 了~因為.....真的有點小慢!
另外,如果你想要使用你的個人電腦做成多重作業系統的話,那麼那個『 磁碟分割 (Partition) 』要很注意!
因為 Solaris 的磁碟分割與傳統的 Windows/Linux 並不相同,這點在後續我們也會繼續的來介紹的喔!
現在的作業系統由於包山包海,除了主要的驅動程式之外,其他的應用軟體也都加入很多很多,
所以傳統的磁片已經無法適用於開機啟動作業系統了!因此就得要藉由所謂的硬碟來儲存作業系統所需要的資料。
在 Unix Like 的作業系統當中,任何裝置都是以檔案的型態來代表的,
那麼在 Solaris 當中硬碟的代號又是什麼呢?我們知道現在主機常見的硬碟介面主要有
IDE, SCSI 以及 SATA,在 x86 個人電腦的環境當中則以 IDE 以及 SATA 介面為主的。
這些裝置在 Solaris 的代號並不相同。
在 SATA 尚未成為主流之前,IDE 是最主要的硬碟的資料傳輸介面。即使到目前的環境當中,
為了讓主機能夠支援傳統的 IDE 裝置 (硬碟、光碟、燒錄機等) ,所以主機上面還是會有 IDE 的連接介面。
咦!沒見過 IDE 嗎?呵呵!那玩意兒就是很寬的排線所連接的設備啊!通常主機上面都會有兩個 IDE 插槽,
每個插槽所連接出來的排線可以連接兩個 IDE 裝置,這兩個裝置稱為 Master 與 Slave ,
而他們在 Solaris 當中的代號是這樣的:
IDE插槽 \ 排線 | Master | Slave |
IDE 1 | c0d0s[0-15] | c0d1s[0-15] |
IDE 2 | c0d2s[0-15] | c0d3s[0-15] |
很奇怪的代號吧!^_^!其實也沒有這麼難記啦!你就這樣記得好了:
- c :意義就是控制器 (controller) 的縮寫啦! c0 就是第一個控制器;
- d :意義就是磁碟 (disk) , d0 就是第一個磁碟;
- s :意義就是分割區 (slice), s0 就是第一個分割區,最多由 0~15 號!
所以說,主機上面的第一個 IDE 控制器 (其實通常只有一個啦!) 的 IDE1 所接的 master 磁碟,
裡頭的第一塊 Solaris 分割區就被設定為:
c0d0s0 囉~這樣就不會太難記了吧?
那如果是 SATA 的硬碟 (與 SCSI 相同!) 的話呢?通常主機上面應該也是只有一個 SATA 的控制晶片,
而這個控制晶片在主機上面可以提供多個 SATA 硬碟連接的插槽,每個插槽都有其代號,
所以他的硬碟代號則為:
SATA 插槽 | sata1 | sata2 | sata3 | ... |
裝置代號 | c0t0d0s[0-15] | c0t1d0s[0-15] | c0t2d0s[0-15] |
... |
同樣的,也沒有那麼難記!你依舊可以這樣記憶:
- c :控制器 (controller);
- t :插槽代號 (target number) ,例如 SATA 第一個插槽 (stat1) 就是 t0 ;
- d :在該插槽上的第幾個磁碟,第一個磁碟就是 d0 ;
- s :同樣的啊,分割區嘛!
所以囉,第一個 SATA 控制器所提供的第一個 SATA 插槽,上面接的硬碟的第一個 solaris 分割區就是
c0t0d0s0 的啦!第二個 SATA 的插槽代號則為: c0t1d0s0 喔!
不同點在於 target number 的啦!
談完硬碟的代號後,接下來談一談:
那麼硬碟裡頭有什麼呢?其實如果將硬碟拆開的話,您會發現裡面最重要的就是幾個元件:
- 磁頭 (head):用來讀取與寫入磁碟盤上頭的資料;
- 磁區 (sector):硬碟最小的儲存單位,每個磁區為 512 bytes;
- 磁柱 (Cylinder):順著同心圓轉一圈的立體空間,這也是磁碟分割槽的最小單位。
整個硬碟最重要的就是那個紀錄資料的磁碟盤,磁碟盤就有點像底下的圖示:
圖一、磁碟盤的示意圖
除了磁頭、磁區、磁柱之外,在整個磁碟盤的第一個磁柱的第一個磁區,也就是被稱為主要開機磁區
(Master Boot Record, MBR) 記錄了這個磁碟的最重要參數,也就是磁碟分割槽的定義。
而每次在使用該磁碟時,這個所謂的 MBR 一定會被讀取,所以這個 MBR 如果壞掉了,
那這部硬碟機也可以宣告壽終正寢了!
MBR 主要記錄了兩個最重要的資訊,
一個是開機管理程式 (boot loader)
,這就是當我們在開機的時候,螢幕會出現 Windows 或 SPFdisk 或 Linux 的 Grub 等選單程式的安裝處!
另一個則是這部硬碟的磁碟分割紀錄。
什麼是磁碟分割呢?如果你用過 Windows 的話應該會知道,明明只有一顆硬碟,不過我們就是可以擁有
C:, D:, E:.. 等等的磁碟槽,那個磁碟槽的定義就是寫在 MBR 裡面的啦!
而由於 MBR 是一個磁區的大小 (sector 一個為 512 bytes) ,裡面最多僅能記錄四筆磁碟分割槽的紀錄,
這四個記錄是硬碟本身的物理定義,不能改變的。這就是整個硬碟最主要的概念呢!
磁碟分割 (partition) 是個很重要的任務。但如前面提到的,硬碟的物理限制上最多就只有四個分割資訊,
那如果你的硬碟想要分成四個以上的分割槽時,那該怎麼辦?這個問題在 Linux 與 Solaris 之間的處理方式不太相同。
Linux 這個作業系統使用類似 Windows 的概念,將那四個 partition 其中一個定義為延伸分割,
而延伸分割的資料則指向其他的磁區額外的定義其他的分割槽,因此延伸分割需要再處理成為邏輯分割後,
才能夠被 Linux 作業系統所利用。
但 Solaris 則不是這樣子定義,
Solaris 僅會使用到 MBR
裡面的四個磁碟分割記錄的其中一個,而該記錄其實是指向 solaris 的磁碟分割定義區,
在 solaris 的磁區內需要再被分割成為更多的磁碟分割槽!看不懂嗎?讓我們用底下這張圖來介紹一下:
圖二: Solaris 的磁碟分割概念
也就是說,雖然 MBR 可以擁有固定的四個 partition 記錄,不過,
Solaris
僅能利用其中的一個記錄,其他的三個可以保留給其他作業系統使用。這個很重要!
如果你的 x86 個人電腦當中想要安裝多重作業系統的話,而你的剩餘空間是放置在 Linux/Windows
partition 的 Logical partition (邏輯分割區),那很抱歉, Solaris 是無法安裝的!
上面圖一的地方,如果你看不清楚的話,那簡單的說,你可以這樣看:
- 硬碟的架構內,由於 MBR 僅有 512 bytes 的關係,所以最多僅能有四筆 partition 的紀錄,
所以你當然可以看到圖一左邊的介紹當中,就只有四個主要的紀錄區塊了!
再次強調, partition 的最小單位是磁柱 (Cylinder) 喔!
- Solaris 在 x86 上最多僅能使用到一個區塊,在圖一的例子當中,我們的 Solaris 使用掉第一個區塊;
- 在該區塊當中, Solaris 可以繼續的進行磁碟分割,分割出來的區塊就是 Solaris 可以使用的磁碟分割槽了。
在這樣的磁碟分割槽當中,以 IDE 硬碟為例,最多僅能分割出 16 個區塊,亦即是 c0d0s0, c0d0s1..., c0d0s15;
但實際上,可以使用的分割僅有 c0d0s[0,1,3,4,5,6,7],這部份得要清楚清楚喔!
也就是說, Solaris 目前並不提供大於 s7 以上的分割區 (slice) 啦!
- 在所有的分割槽當中需要注意的是那個 c0d0s2 了,那個磁碟分割槽不可被移除或修改,
因為那個就是來自 MBR 的記錄,被稱為 overlap ,你當然不能變更他了!
這樣說明的話,比較容易理解了吧?上面的分割也看懂了吧?這個真的很重要!
如果不瞭解的話,後面提到的實際安裝流程就會看不懂啦!切記切記!! ^_^
既然要玩 Solaris ,首要工作當然就是下載囉!
目前 Solaris 提供 CD, DVD 的格式給使用者,鳥哥的主機因為沒有 DVD ,所以選擇下載 CD ,
不過,Solaris 10 總共需要 6 張 CD ....實在是有點太多了吧~
無論如何,就給他下載了先!你可以到底下的網址進行下載:
選擇底下的圖樣:
圖三:選擇下載的資料
然後在該連結往下方查閱,會看到如下的按鈕,按下『Get Downloads & Media』:
圖四:選擇下載的資料
在經過了註冊 (register)、登入 (login) 後,就可以讓你開始準備下載了!
不過,你必須要在出現的網頁當中接受一個授權 (License) 後,才可以開始下載。
剛剛說過,由於鳥哥是使用 x86 的主機架構,同時僅有光碟機,所以如下圖:
圖五:選擇所需要的下載資料
鳥哥當然選擇上圖最右邊的 CD 項目來下載了。如果你的環境或者是公司使用的是 Sun 的主機硬體設備,
由於 Sun 的硬體設備通稱為 SPARC ,因此,你當然就需要下載 Solaris for SPARC 囉!
反正,就是依據你的主機來下載相對應的資料啦!之後出現的畫面如下:
圖六:選擇所需要的下載資料
依據你的意願來填寫相關的資料,最後按下『 Continue 』就能夠看到一堆連結:
圖七:選擇所需要的下載資料
不過記得在開始下載前,請先按下上圖第一行的『 Accpet 』那個小圓點,否則不能開始下載喔! ^_^!
而且也要記得總共有 6 片光碟需要下載的!下載完畢後給他開始燒錄起來,那就可以開始安裝了!