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 片光盘需要下载的!下载完毕后给他开始刻录起来,那就可以开始安装了!