最近升级日期:2009/08/06
1. Linux与硬件的搭配
1.1 认识计算机的硬件配备 1.2 选择与Linux搭配的主机配备: 硬件支持相关网站 1.3 各硬件装置在Linux中的档名 2. 磁盘分区 2.1 磁碟连接的方式与装置档名的关系 2.2 磁碟的组成复习 2.3 磁盘分区表(partition table) 2.4 启动流程与主要启动记录区(MBR) 2.5 Linux安装模式下,磁盘分区的选择(极重要) 3. 安装Linux前的规划 3.1 选择适当的distribution 3.2 主机的服务规划与硬件的关系 3.3 主机硬盘的主要规划(partition) 3.4 鸟哥说:关於练习机的安装建议 3.5 鸟哥的两个实际案例 3.6 大硬盘配合旧主机造成的无法启动问题 4. 重点回顾 5. 本章习题 6. 参考数据与延伸阅读 7. 针对本文的建议:http://phorum.vbird.org/viewtopic.php?t=23874 Linux与硬件的搭配 虽然个人计算机各组件的主要介面是大同小异的,包括前面第零章计算机概论讲到的种种介面等, 但是由於新的技术来得太快,Linux核心针对新硬件所纳入的驱动程序模块比不上硬件升级的速度, 加上硬件厂商针对Linux所推出的驱动程序较慢,因此你在选购新的个人计算机(或服务器)时, 应该要选择已经过安装Linux测试的硬件比较好。 此外,在安装Linux之前,你最好了解一下你的Linux预计是想达成什么任务,这样在选购硬件时才会知道那个组件是最重要的。 举例来说,壁纸计算机(Desktop)的使用者,应该会用到X Window系统, 此时,显卡的优劣与内存的大小可就占有很重大的影响。如果是想要做成文件服务器, 那么硬盘或者是其他的储存设备,应该就是您最想要增购的组件罗!所以说,功课还是需要作的啊! 鸟哥在这里要不厌其烦的再次的强调,Linux对於计算机各组件/装置的分辨,
与大家惯用的Windows系统完全不一样!因为,各个组件或装置在Linux底下都是『一个文件!』
这个观念我们在第一章Linux是什么里面已经提过,
这里我们再次的强调。因此,你在认识各项装置之后,学习Linux的装置档名之前,
务必要先将Windows对於装置名称的概念先拿掉~否则会很难理解喔! 认识计算机的硬件配备 『什么?学Linux还得要玩硬件?』呵呵!没错! 这也是为什么鸟哥要将计算机概论搬上台面之故! 我们这里主要是介绍较为普遍的个人计算机架构来配置Linux服务器,因为比较便宜啦! 至於各相关的硬件组件说明已经在第零章计概内讲过了,这里不再重复说明。 仅将重要的主板与组件的相关性图示如下: 图1.1.1、个人计算机各组件的相关性 (上述图示主要取自tom's硬件指南,各组件图片分属个别公司所有) 那么我们应该如何挑选计算机硬件呢?随便买买就好,还是有特殊的考量?底下有些思考角度可以提供给大家参考看看:
事实上,计算机主机的硬件配备与这部主机未来的功能是很有相关性的!举例来说,家里有小孩, 或者自己仍然算是小孩的朋友大概都知道:『要用来打Game的『游戏机计算机』 所需要的配备一定比办公室用的『工作机计算机』配备更高档』,为什么呢? 因为现在一般的三维(3D)计算机游戏所需要的3D光影运算太多了,所以显卡与CPU资源都会被耗用的非常多! 当然就需要比较高级的配备罗,尤其是在显卡、CPU(例如Intel的Core 2 Duo及AMD的Athlon64 X2等)及主板芯片组方面的功能。 至於办公室的工作环境中,最常使用到的软件大多是办公软件(Office),最常使用的网络功能是浏览器,
这些软件所需要的运算并不高,理论上目前的入门级计算机都能够跑得非常顺畅了!(例如Intel Celeron及AMD的Sempron)。
甚至很多企业都喜欢购买将显卡、主板芯片组整合在一起的整合型芯片的计算机,因为便宜又好用!
并不是『贵就比较好』喔!在目前(2009)全球经济萧条的情况下,如何兼顾省钱与计算机硬件的效能问题,很重要! 如果你喜欢购买最新最快的计算机零件,这些刚出炉的组件都非常的贵,而且操作系统还不见得能够完整的支持。 所以,鸟哥都比较喜欢购买主流级的产品而非最高档的。因为我们最好能够考虑到效能/价格比。 如果高一级的产品让你的花费多一倍,但是新添加的效能却只有10%而已,那这个效能/价格的比值太低,不建议啦! 此外,由於电价越来越高,如何『省电』就很重要啦!因此目前硬件评论界有所谓的『每瓦效能』的单位,
每瓦电力所发挥的效能越高,当然代表越省电啊!这也是购买硬件时的考量之一啦!要知道,如果是做为服务器用,
一年365天中时时刻刻都启动,则你的计算机多花费50瓦的电力时,每年就得要多花450度电左右,如果以企业来讲,
每百部计算机每年多花450度电的话,每年得多花十万块以上的电费呢!所以这也需要考量啊!
并非所有的产品都会支持特定的操作系统,这牵涉到硬件开发商是否有意愿提供适当的驱动程序之故。 因此,当我们想要购买或者是升级某些计算机组件时,应该要特别注意该硬件是否有针对您的操作系统提供适当的驱动程序, 否则,买了无法使用,那才是叫人呕死啊!因此,针对Linux来说,底下的硬件分析就重要啦! 选择与Linux搭配的主机配备 由於硬件的加速发展与操作系统核心功能的增强,导致较早期的计算机已经没有能力再负荷新的操作系统了。 举例来说,Pentun-II以前的硬件配备可能已经不再适合现在的新的Linux distribution。 而且较早期的硬件配备也可能由於保存的问题或者是电子零件老化的问题, 导致这样的计算机系统反而非常容易在运行过程中出现不明的死机情况,因此在利用旧零件拼凑Linux使用的计算机系统时, 真的得要特别留意呢! 不过由於Linux运行所需要的硬件配备实在不需要太高档,因此,如果有近期汰换下来的, 比Pentun-III 500还要新的硬件配备, 不必急著丢弃。由於P-III的硬件不算太老旧,在效能方面其实也算的上非常OK了~所以, 鸟哥建议您如果有P-III以后等级的计算机被淘汰,可以拿下来测试一下,说不定能够作为你日常生活的Linux服务器, 或者是备用服务器,都是非常好用的功能哩! 但是由於不同的任务的主机所需要的硬件配备并不相同,举例来说,如果你的Linux主机是要作为企业内部的Mail server或者是Proxy server时,或者是需要使用到图形介面的运算(X Window内的Open GL等等功能), 那么你就必须要选择高档一点的计算机配备了,使用过去的计算机零件可能并不适合呢。 底下我们稍微谈一下,如果你的Linux主要是作为小型服务器使用,并不负责学术方面的大量运算, 而且也没有使用X Window的图形介面,那你的硬件需求只要像底下这样就差不多了:
底下鸟哥针对一般你可能会接触到的计算机主机的用途与相关硬件配备的基本要求来说明一下好了:
总之,鸟哥在这里仅是提出一个方向:如果你的Linux主机是小型环境使用的,即时死机也不太会影响到企业环境的运行时, 那么使用升级后被淘汰下来的零件以组成计算机系统来运行,那是非常好的回收再利用的案例。 但如果你的主机系统是非常重要的,你想要更一部更稳定的Linux服务器,那考虑系统的整体搭配与运行效能的考量, 购买已组装测试过的商用服务器会是一个比较好的选择喔!
此外,Linux开发商在释出Linux distribution之前,都会针对该版所默认可以支持的硬件做说明, 因此,你除了可以在Linux的Howto文件去查询硬件的支持度之外,也可以到各个相关的Linux distributions网站去查询呢! 底下鸟哥列出几个常用的硬件与Linux distributions搭配的网站,建议大家想要了解你的主机支不支持该版Linux时, 务必到相关的网站去搜寻一下喔!
总之,如果是自己维护的一个小网站,考虑到经济因素,你可以自行组装一部主机来架设。 而如果是中、大型企业,那么主机的钱不要省~因为,省了这些钱,未来主机挂点时, 光是要找出哪个组件出问题,或者是系统过热的问题,会气死人ㄟ! 而且,要注意的就是未来你的Linux主机规划的『用途』来决定你的Linux主机硬件配备喔!相当的重要呢! 各硬件装置在Linux中的档名 选择好你所需要的硬件配备后,接下来得要了解一下各硬件在Linux当中所扮演的角色罗。 这里鸟哥再次的强调一下:『在Linux系统中,每个装置都被当成一个文件来对待』 举例来说,IDE介面的硬盘的文件名称即为/dev/hd[a-d],其中, 括号内的字母为a-d当中的任意一个,亦即有/dev/hda, /dev/hdb, /dev/hdc, 及 /dev/hdd这四个文件的意思。
那么打印机与软盘呢?分别是/dev/lp0, /dev/fd0罗!好了,其他的周边设备呢? 底下列出几个常见的装置与其在Linux当中的档名罗:
需要特别留意的是硬盘机(不论是IDE/SCSI/U盘都一样),每个磁碟机的磁盘分区(partition)不同时, 其磁碟档名还会改变呢!下一小节我们会介绍磁盘分区的相关概念啦!需要特别注意的是磁带机的档名, 在某些不同的distribution当中可能会发现不一样的档名,需要稍微留意。 总之,你得先背一下IDE与SATA硬盘的档名就是了!其他的,用的到再来背吧!
磁盘分区 这一章在规划的重点是为了要安装Linux,那Linux系统是安装在计算机组件的那个部分呢?就是磁碟啦!所以我们当然要来认识一下磁碟先。
我们知道一块磁碟是可以被分割成多个分割槽的(partition),以旧有的Windows观点来看,你可能会有一颗磁碟并且将他分割成为C:,
D:, E:槽对吧!那个C, D, E就是分割槽(partition)罗。但是Linux的装置都是以文件的型态存在,那分割槽的档名又是什么?
如何进行磁盘分区,磁盘分区有哪些限制?是我们这个小节所要探讨的内容罗。 磁碟连接的方式与装置档名的关系 由第零章提到的磁碟说明,我们知道个人计算机常见的磁碟介面有两种, 分别是IDE与SATA介面,目前(2009)的主流已经是SATA介面了,但是老一点的主机其实大部分还是使用IDE介面。 我们称呼可连接到IDE介面的装置为IDE装置,不管是磁碟还是光盘设备。 以IDE介面来说,由於一个IDE排线可以连接两个IDE装置,又通常主机都会提供两个IDE介面,因此最多可以接到四个IDE装置。 也就是说,如果你已经有一个光盘设备了,那么最多就只能再接三颗IDE介面的磁碟罗。 这两个IDE介面通常被称为IDE1(primary)及IDE2(secondary), 而每条排线上面的IDE装置可以被区分为Master与Slave。这四个IDE装置的档名为:
再以SATA介面来说,由於SATA/U盘/SCSI等磁碟介面都是使用SCSI模块来驱动的, 因此这些介面的磁碟装置档名都是/dev/sd[a-p]的格式。 但是与IDE介面不同的是,SATA/U盘介面的磁碟根本就没有一定的顺序,那如何决定他的装置档名呢? 这个时候就得要根据Linux核心侦测到磁碟的顺序了!这里以底下的例子来让你了解罗。
通过上面的介绍后,你应该知道了在Linux系统下的各种不同介面的磁碟的装置档名了。 OK!好像没问题了呦!才不是呢~问题很大呦! 因为如果你的磁碟被分割成两个分割槽,那么每个分割槽的装置档名又是什么?在了解这个问题之前,我们先来复习一下磁碟的组成, 因为现今磁碟的分割与他物理的组成很有关系! 磁碟的组成复习 我们在计算机概论谈过磁碟的组成主要有磁碟盘、机械手臂、磁碟读取头与主轴马达所组成, 而数据的写入其实是在磁碟盘上面。磁碟盘上面又可细分出磁区(Sector)与磁柱(Cylinder)两种单位, 其中磁区每个为512bytes那么大。假设磁碟只有一个磁碟盘,那么磁碟盘有点像底下这样: 图2.2.1、磁碟盘组成示意图 那么是否每个磁区都一样重要呢?其实整颗磁碟的第一个磁区特别的重要,因为他记录了整颗磁碟的重要资讯! 磁碟的第一个磁区主要记录了两个重要的资讯,分别是:
MBR是很重要的,因为当系统在启动的时候会主动去读取这个区块的内容,这样系统才会知道你的程序放在哪里且该如何进行启动。 如果你要安装多重启动的系统,MBR这个区块的管理就非常非常的重要了! ^_^ 那么分割表又是啥?其实你刚刚拿到的整颗硬盘就像一根原木,你必须要在这根原木上面切割出你想要的区段, 这个区段才能够再制作成为你想要的家具!如果没有进行切割,那么原木就不能被有效的使用。 同样的道理,你必须要针对你的硬盘进行分割,这样硬盘才可以被你使用的!
磁盘分区表(partition table) 但是硬盘总不能真的拿锯子来切切割割吧?那硬盘还真的是会坏掉去!那怎办?在前一小节的图示中, 我们有看到『开始与结束磁柱』吧?那是文件系统的最小单位,也就是分割槽的最小单位啦!没有错, 我们就是利用参考对照磁柱号码的方式来处理啦! 在分割表所在的64 bytes容量中,总共分为四组记录区,每组记录区记录了该区段的启始与结束的磁柱号码。 若将硬盘以长条形来看,然后将磁柱以直条图来看,那么那64 bytes的记录区段有点像底下的图示: 图2.3.1、磁盘分区表的作用示意图 假设上面的硬盘装置档名为/dev/hda时,那么这四个分割槽在Linux系统中的装置档名如下所示, 重点在於档名后面会再接一个数字,这个数字与该分割槽所在的位置有关喔!
上图中我们假设硬盘只有400个磁柱,共分割成为四个分割槽,第四个分割槽所在为第301到400号磁柱的范围。 当你的操作系统为Windows时,那么第一到第四个分割槽的代号应该就是C, D, E, F。当你有数据要写入F槽时, 你的数据会被写入这颗磁碟的301~400号磁柱之间的意思。 由於分割表就只有64 bytes而已,最多只能容纳四笔分割的记录, 这四个分割的记录被称为主要(Primary)或延伸(Extended)分割槽。 根据上面的图示与说明,我们可以得到几个重点资讯:
咦!你会不会突然想到,为啥要分割啊?基本上你可以这样思考分割的角度:
既然分割表只有记录四组数据的空间,那么是否代表我一颗硬盘最多只能分割出四个分割槽?当然不是啦!有经验的朋友都知道, 你可以将一颗硬盘分割成十个以上的分割槽的!那又是如何达到的呢?在Windows/Linux系统中, 我们是透过刚刚谈到的扩展分配(Extended)的方式来处理的啦!扩展分配的想法是: 既然第一个磁区所在的分割表只能记录四笔数据, 那我可否利用额外的磁区来记录更多的分割资讯?实际上图示有点像底下这样: 图2.3.2、磁盘分区表的作用示意图 在上图当中,我们知道硬盘的四个分割记录区仅使用到两个,P1为主要分割,而P2则为扩展分配。请注意, 扩展分配的目的是使用额外的磁区来记录分割资讯,扩展分配本身并不能被拿来格式化。 然后我们可以透过扩展分配所指向的那个区块继续作分割的记录。 如上图右下方那个区块有继续分割出五个分割槽, 这五个由扩展分配继续切出来的分割槽,就被称为逻辑分割槽(logical partition)。 同时注意一下,由於逻辑分割槽是由扩展分配继续分割出来的,所以他可以使用的磁柱范围就是扩展分配所配置的范围喔! 也就是图中的101~400啦! 同样的,上述的分割槽在Linux系统中的装置档名分别如下:
仔细看看,怎么装置档名没有/dev/hda3与/dev/hda4呢?因为前面四个号码都是保留给Primary或Extended用的嘛! 所以逻辑分割槽的装置名称号码就由5号开始了!这是个很重要的特性,不能忘记喔! 主要分割、扩展分配与逻辑分割的特性我们作个简单的定义罗:
事实上,分割是个很麻烦的东西,因为他是以磁柱为单位的『连续』磁碟空间, 且扩展分配又是个类似独立的磁碟空间,所以在分割的时候得要特别注意。我们举底下的例子来解释一下好了:
由於第一个磁区所记录的分割表与MBR是这么的重要,几乎只要读取硬盘都会先由这个磁区先读起。 因此,如果整颗硬盘的第一个磁区(就是MBR与partition table所在的磁区)物理实体坏掉了,那这个硬盘大概就没有用了! 因为系统如果找不到分割表,怎么知道如何读取磁柱区间呢?您说是吧!底下还有一些例题您可以思考看看:
启动流程与主要启动记录区(MBR) 我们在计算机概论里面谈到了,没有运行软件的硬件是没有用的,除了会电人之外..., 而为了计算机硬件系统的资源合理分配,因此有了操作系统这个系统软件的产生。由於操作系统会控制所有的硬件并且提供核心功能, 因此我们的计算机就能够认识硬盘内的文件系统,并且进一步的读取硬盘内的软件文件与运行该软件来达成各项软件的运行目的。 问题是,你有没有发现,既然操作系统也是软件,那么我的计算机又是如何认识这个操作系统软件并且运行他的? 明明启动时我的计算机还没有任何软件系统,那他要如何读取硬盘内的操作系统文件啊?嘿嘿!这就得要牵涉到计算机的启动程序了! 底下就让我们来谈一谈这个启动程序吧! 在计算机概论里面我们有谈到那个可爱的BIOS与CMOS两个东西, CMOS是记录各项硬件参数且嵌入在主板上面的储存器,BIOS则是一个写入到主板上的一个韧体(再次说明, 韧体就是写入到硬件上的一个软件程序)。这个BIOS就是在启动的时候,计算机系统会主动运行的第一个程序了! 接下来BIOS会去分析计算机里面有哪些储存设备,我们以硬盘为例,BIOS会依据使用者的配置去取得能够启动的硬盘, 并且到该硬盘里面去读取第一个磁区的MBR位置。 MBR这个仅有446 bytes的硬盘容量里面会放置最基本的启动管理程序, 此时BIOS就功成圆满,而接下来就是MBR内的启动管理程序的工作了。 这个启动管理程序的目的是在加载(load)核心文件, 由於启动管理程序是操作系统在安装的时候所提供的,所以他会认识硬盘内的文件系统格式,因此就能够读取核心文件, 然后接下来就是核心文件的工作,启动管理程序也功成圆满,之后就是大家所知道的操作系统的任务啦! 简单的说,整个启动流程到操作系统之前的动作应该是这样的:
由上面的说明我们会知道,BIOS与MBR都是硬件本身会支持的功能,至於Boot loader则是操作系统安装在MBR上面的一套软件了。由於MBR仅有446 bytes而已,因此这个启动管理程序是非常小而美的。 这个boot loader的主要任务有底下这些项目:
上面前两点还容易理解,但是第三点很有趣喔!那表示你的计算机系统里面可能具有两个以上的启动管理程序呢! 有可能吗?我们的硬盘不是只有一个MBR而已?是没错啦!但是启动管理程序除了可以安装在MBR之外, 还可以安装在每个分割槽的启动磁区(boot sector)喔!瞎密?分割槽还有各别的启动磁区喔? 没错啊!这个特色才能造就『多重启动』的功能啊! 我们举一个例子来说,假设你的个人计算机只有一个硬盘,里面切成四个分割槽,其中第一、二分割槽分别安装了Windows及Linux, 你要如何在启动的时候选择用Windows还是Linux启动呢?假设MBR内安装的是可同时认识Windows/Linux操作系统的启动管理程序, 那么整个流程可以图示如下: 图2.4.1、启动管理程序的工作运行示意图 在上图中我们可以发现,MBR的启动管理程序提供两个菜单,菜单一(M1)可以直接加载Windows的核心文件来启动; 菜单二(M2)则是将启动管理工作交给第二个分割槽的启动磁区(boot sector)。当使用者在启动的时候选择菜单二时, 那么整个启动管理工作就会交给第二分割槽的启动管理程序了。 当第二个启动管理程序启动后,该启动管理程序内(上图中)仅有一个启动菜单,因此就能够使用Linux的核心文件来启动罗。 这就是多重启动的工作情况啦!我们将上图作个总结:
那现在请你想一想,为什么人家常常说:『如果要安装多重启动, 最好先安装Windows再安装Linux』呢?这是因为:
因此,如果先安装Linux再安装Windows的话,那MBR的启动管理程序就只会有Windows的项目,而不会有Linux的项目 (因为原本在MBR内的Linux的启动管理程序就会被覆盖掉)。 那需要重新安装Linux一次吗?当然不需要,你只要用尽各种方法来处理MBR的内容即可。 例如利用全中文的spfdisk(http://spfdisk.sourceforge.net/)软件来安装认识Windows/Linux的管理程序, 也能够利用Linux的救援模式来挽救MBR即可。
Linux安装模式下, 磁盘分区的选择(极重要)
我们前面有谈过Linux内的所有数据都是以文件的形态来呈现的,所以罗,整个Linux系统最重要的地方就是在於目录树架构。 所谓的目录树架构(directory tree)就是以根目录为主,然后向下呈现分支状的目录结构的一种文件架构。 所以,整个目录树架构最重要的就是那个根目录(root directory),这个根目录的表示方法为一条斜线『/』, 所有的文件都与目录树有关。目录树的呈现方式如下图所示: 图2.5.1、目录树相关性示意图 如上图所示,所有的文件都是由根目录(/)衍生来的,而次目录之下还能够有其他的数据存在。上图中长方形为目录, 波浪形则为文件。那当我们想要取得mydata那个文件时,系统就得由根目录开始找,然后找到home接下来找到dmtsai, 最终的档名为:/home/dmtsai/mydata的意思。 我们现在知道整个Linux系统使用的是目录树架构,但是我们的文件数据其实是放置在磁盘分区槽当中的,
现在的问题是『如何结合目录树的架构与磁碟内的数据』呢?
这个时候就牵扯到『挂载(mount)』的问题啦!
所谓的『挂载』就是利用一个目录当成进入点,将磁盘分区槽的数据放置在该目录下; 也就是说,进入该目录就可以读取该分割槽的意思。这个动作我们称为『挂载』,那个进入点的目录我们称为『挂载点』。 由於整个Linux系统最重要的是根目录,因此根目录一定需要挂载到某个分割槽的。 至於其他的目录则可依使用者自己的需求来给予挂载到不同的分割槽。我们以下图来作为一个说明: 图2.5.2、目录树与分割槽之间的相关性 上图中假设我的硬盘分为两槽,partition 1是挂载到根目录,至於partition 2则是挂载到/home这个目录。 这也就是说,当我的数据放置在/home内的各次目录时,数据是放置到partition 2的,如果不是放在/home底下的目录, 那么数据就会被放置到partition 1了! 其实判断某个文件在那个partition底下是很简单的,透过反向追踪即可。以上图来说, 当我想要知道/home/vbird/test这个文件在那个partition时,由test --> vbird --> home --> /,看那个『进入点』先被查到那就是使用的进入点了。 所以test使用的是/home这个进入点而不是/喔!
既然我们在Linux系统下使用的是目录树系统,所以安装的时候自然就得要规划磁盘分区与目录树的挂载了。 实际上,在Linux安装的时候已经提供了相当多的默认模式让你选择分割的方式了, 不过,无论如何,分割的结果可能都不是很能符合自己主机的样子!因为毕竟每个人的『想法』都不太一样! 因此,强烈建议使用『自订安装, Custom 』这个安装模式!在某些Linux distribution中,会将这个模式写的很厉害,叫做是『Expert, 专家模式』,这个就厉害了, 请相信您自己,了解上面的说明后,就请自称为专家了吧!没有问题!
现在你知道Linux为什么不好学了吧?因为很多基础知识都得要先了解!否则连安装都不知道怎么安装~ 现在你知道Linux的可爱了吧!因为如果你学会了,嘿嘿!很多计算机系统/操作系统的概念都很清晰, 转换到不同的资讯跑道是比较容易的喔!^_^ 安装Linux前的规划 从前面的说明我们知道操作系统与硬件的相关性是很高的,而目前最热门的计算机硬件系统为x86个人计算机系统。 我们也讨论了一下各硬件组件在Linux当中的装置档名,同时也了解到磁盘分区与每个分割槽在Linux目录树的关系, 也简单谈论了启动管理程序的用途。接下来我们得要开始安装Linux罗。 安装最重要的第一件事,就是要取得Linux distributions的光盘数据,该如何去下载?
目前有这么多的distributions,你应该要选择哪一个版本比较好?为什么会比较好?
在台湾,你可以在哪里下载你所需要的Linux distribution呢?这都是这一小节所要讨论的喔! 选择适当的distribution 就如同第一章、Linux是什么里面的distributions谈到的, 事实上每个Linux distributions使用的都是来自於http://www.kernel.org官方网站所提供的Linux核心,各家distribution使用的软件其实也都是大同小异, 最大的差别或许就是在於软件的安装模式而已。所以,您只要选择其中一套,并且玩得出神入化, 那么Linux肯定可以学的成的。 不过,由於近年来网络环境实在不很安全,因此你在选择distribution时,特别要了解到该distribution适合的环境, 并且最好选择最新的distribution较佳喔! 以鸟哥来说,如果是将Linux定位在服务器上面的话,那么Red Hat Enterprise Linux及SuSE Enterprise Linux应该是很不错的选择,因为他的版本更动幅度较小,并且升级支持的期限较长的原因。 在我们这次的练习中,不想给大家太沈重的$$负担啦,所以鸟哥选择CentOS这一个号称与RHEL完全兼容的版本来练习, 目前(2009/08)最新的版本是CentOS 5.3版,你可以选择i386或x86_64的版本来安装,请依据您的硬件来选择。 如果你不知道你的硬件规格时,那么建议就直接安装i386的版本即可。因为i386的CentOS 5.x是可以安装在x86_64的硬件中的。 你可以选择到CentOS的官方网站去下载最新的版本,不过我们在台湾嘛!台湾有映设站台(mirror site), 所以由映设站台来下载比较快啊!底下列出CentOS的下载点:
你要知道的是,因为Linux distributions里面的软件越包越多,所以使用到的光盘(CD)片越来越多了, 因此目前各distribution都有提供DVD的版本。以上面的连结来说,每个连结里面的i386版本中, 你会发现到有DVD版本例如:CentOS-5.3-i386-bin-DVD.iso,也有CD版本例如: CentOS-5.3-i386-bin-[1-6]of6.iso。鸟哥建议您可以下载DVD版本,因为只有一片,比较环保啦!
主机的服务规划与硬件的关系 我们前面已经提过,由於主机的服务目的不同,所需要的硬件等级与配备自然也就不一样!
底下鸟哥稍微提一提每种服务可能会需要的硬件配备规划,当然,还是得提醒,
每个朋友的需求都不一样,所以设计您的主机之前,请先针对自己的需求进行考量。而,
如果您不知道自己的考量为何,那么就先拿一部普通的计算机来玩一玩吧!不过要记得!
不要将重要数据放在练习用的Linux主机上面。
在某些情况之下,你可能会想要在『一部主机上面安装两套以上的操作系统』, 例如底下这些状况:
果真如此的话,那么刚刚我们在上一个小节谈到的启动流程与多重启动的数据就很重要了。 因为需要如此你才能够在一部主机上面操弄两种不同的操作系统嘛!
如果你的Linux主机已经是想要拿来作为某些服务之用时,那么务必不要选择太久的硬件喔!
前面谈到过,太老旧的硬件可能会有电子零件老化的问题~另外,如果你的Linux主机必须要全年无休的启动著,
那么摆放这部主机的位置也需要选择啊!好了,底下再来谈一谈,在一般小型企业或学校单位中,
常见的某些服务与你的硬件关系有哪些?
通常小型企业或者是学校单位大多仅会有一条对外的连线,然后全公司/学校内的计算机全部透过这条连线连到网际网络上。 此时我们就得要使用IP分享器来让这一条对外连线分享给所有的公司内部员工使用。 那么Linux能不能达到此一IP分享的功能呢?当然可以,就是透过NAT服务即可达成这项任务了! 在这种环境中,由於Linux作为一个内/外分离的实体,因此网络流量会比较大一点。 此时Linux主机的网络卡就需要比较好些的配备。其他的CPU、RAM、硬盘等等的影响就小很多。 事实上,单利用Linux作为NAT主机来分享IP是很不智的~因为PC的耗电能力比IP分享器要大的多~ 那么为什么你还要使用Linux作为NAT呢?因为Linux NAT还可以额外的加装很多分析软件,
可以用来分析用户端的连线,或者是用来控制频宽与流量,达到更公平的频宽使用呢!
更多的功能则有待后续更多的学习罗!你也可以参考我们在服务器架设篇当中的数据罗!
在你的Windows系统之间如何传输数据呢?当然就是透过网络上的芳邻来传输啦!那还用问。 这也是学校老师在上课过程中要分享数据给同学常用的机制了。问题是,Windows XP的网芳一般只能同时分享十部用户端连线,超过的话就得要等待了~真不人性化。 我们可以使用Linux上面的SAMBA这个软件来达成加入Windows网芳的功能喔!SAMBA的效能不错, 也没有用户端连线数的限制,相当适合於一般学校环境的文件服务器(file server)的角色呢! 这种服务器由於分享的数据量较大,对於系统的网络卡与硬盘的大小及速度就比较重要,
如果你还针对不同的使用者提供文件服务器功能,那么/home这个目录可以考虑独立出来,并且加大容量。
邮件服务器是非常重要的,尤其对於现代人来说,电子邮件几乎已经取代了传统的人工邮件递送了。 拜硬盘价格大跌及Google/Yahoo/MicroSoft公平竞争之赐,一般免费的email信箱几乎都提供了很不错的邮件服务, 包过Web介面的传输、大於2GB以上的容量空间及全年无休的服务等等。例如非常多人使用的gmail就是一例: http://gmail.com。 虽然免费的信箱已经非常够用了,老实说,鸟哥也不建议您架设mail server了。问题是, 如果你是一间私人单位的公司,你的公司内传送的email是具有商业机密或隐私性的,那你还想要交给免费信箱去管理吗? 此时才有需要架设mail server罗。CentOS一安装完毕就提供了Sendmail及Postfix两种mail server软件了! 在mail server上面,重要的也是硬盘容量与网络卡速度,在此情境中,也可以将/var目录独立出来,并加大容量。
WWW服务器几乎是所有的网络主机都会安装的一个功能,因为他除了可以提供Internet的WWW连线之外, 很多在网络主机上面的软件功能(例如某些分析软件所提供的最终分析结果的画面)也都使用WWW作为显示的介面, 所以这家伙真是重要到不行的。 CentOS使用的是Apache这套软件来达成WWW网站的功能,在WWW服务器上面,如果你还有提供数据库系统的话,
那么CPU的等级就不能太低,而最重要的则是RAM了!要添加WWW服务器的效能,通常提升RAM是一个不错的考量。
如果你是个区域网络管理员,你的局域网内共有20部以上的计算机给一般员工使用,这些员工假设并没有计算机网络的维护技能。
那你想要让这些计算机在连上Internet时需要手动去配置IP还是他可以自动的取得IP呢?当然是自动取得比较方便啦!
这就是DHCP服务的功能了!用户端计算机只要选择『自动取得IP』,其他的,就是你系统管理员在DHCP服务器上面配置一下即可。
这个咚咚的硬件要求可以不必很高罗。
这也是常常会安装的一个服务器软件,尤其像中小学校的频宽较不足的环境下,
Proxy将可有效的解决频宽不足的问题!当然,你也可以在家里内部安装一个Proxy喔!但是,
这个服务器的硬件要求可以说是相对而言最高的,他不但需要较强有力的CPU来运行,对於硬盘的速度与容量要求也很高!
自然,既然提供了网络服务,网络卡则是重要的一环!
常常看到很多朋友喜欢架设FTP去进行网络数据的传输,甚至很多人会架设地下FTP网站去传输些违法的数据。 老实说,『FTP传输再怎么地下化也是很容易被捉到的』啦!所以,鸟哥相当不建议您架设FTP的喔! 不过,对於大专院校来说,因为常常需要分享给全校师生一些免费的资源, 此时匿名使用者的FTP软件功能就很需要存在了。对於FTP的硬件需求来说,硬盘容量与网络卡好坏相关性较高。 大致上我们会安装的服务器软件就是这一些罗! 当然啦,还是那句老话,在目前你刚接触Linux的这个阶段中,还是以Linux基础为主, 鸟哥也希望你先了解Linux的相关主机操作技巧,其他的架站,未来再谈吧! 而上面列出的各项服务,仅是提供给你,如果想要架设某种网络服务的主机时,你应该如何规划主机比较好! 主机硬盘的主要规划 系统对於硬盘的需求跟刚刚提到的主机开放的服务有关,那么除了这点之外,还有没有其他的注意事项呢? 当然有,那就是数据的分类与数据安全性的考量。所谓的『数据安全』并不是指数据被网络cracker所破坏, 而是指『当主机系统的硬件出现问题时,你的文件数据能否安全的保存』之意。 常常会发现网络上有些朋友在问『我的Linux主机因为跳电的关系,造成不正常的关机,结果导致无法启动,这该如何是好?』 呵呵,幸运一点的可以使用fsck来解决硬盘的问题,麻烦一点的可能还需要重新安装Linux呢!伤脑筋吧!另外, 由於Linux是多人多工的环境,因此很可能上面已经有很多人的数据在其中了, 如果需要重新安装的话,光是搬移与备份数据就会疯掉了!所以硬盘的分割考量是相当重要的! 虽然我们在本章的第二小节部分有谈论过磁盘分区了,但是,硬盘的规划对於Linux新鲜人而言,那将是造成你『头疼』的主要凶手之一! 因为硬盘的分割技巧需要对於Linux文件结构有相当程度的认知之后才能够做比较完善的规划的! 所以,在这里你只要有个基础的认识即可。老实说,没有安装过十次以上的Linux系统,是学不会Linux与磁盘分区的啦! 无论如何,底下还是说明一下基本硬盘分割的模式吧!
以鸟哥为例,通常我会希望我的邮件主机大一些,因此我的/var通常会给个数GB的大小, 如此一来就可以不担心会有邮件空间不足的情况了!另外,由於我开放SAMBA服务, 因此提供每个研究室内人员的数据备份空间,所以罗,/home所开放的空间也很大!至於/usr/的容量, 大概只要给2-5GB即可!凡此种种均与您当初预计的主机服务有关! 因此,请特别注意您的服务项目!然后才来进行硬盘的规划。 鸟哥说:关於练习机的安装建议
老实说,安装Linux是非常困难的一件事,所以在补教界的教材方面,安装(Installation)通常是在系统管理教完后才教的。 那因为我们不是在补教业的教室中,所以没有现成的Linux系统可以用,当然就得要自行安装一个啦! 因此这里才会先跟大家介绍如何安装Linux的。虽然很多朋友都喜欢使用Virtualbox安装Linux去学习, 但是Virtualbox或其他相关的虚拟化软件都是用模拟的方式去启动Linux的,新手学习方面常常会误解~ 有鉴於此,因此,鸟哥『强烈的建议您,务必拥有一台独立的主机,
而且内含一颗仅有Linux操作系统的硬盘』,以鸟哥自己为例,我的主机上面有一个抽取式硬盘盒,而我有两颗分离的硬盘,
分别安装Windows与Linux系统,要使用不同的操作系统时就抽换硬盘,如此一来,主机很单纯,
而抽换也很快速,不需要对机壳拆拆装装的,很方便!提供给您做为参考。
此外,在硬盘的分割方面,鸟哥也建议新手们,先暂时以/及swap两个分割即可,而且,还要预留一个未分割的空间喔! 因为我们是练习机,暂时不会提供网络服务,所以只要有/及Swap提供给我们进行安装Linux的空间即可。不过, 我们未来会针对系统的磁碟部分进行分割的练习以及磁碟配额(quota)的练习,因此,预留一个磁碟空间是必须要的! 举例来说,如果你有一个20GB的硬盘,那么建议你分15 GB给/来安装Linux,512 MB给Swap,另外的4
GB左右不要分割,先保留下来,未来我们可以继续来练习喔!^_^
另一个容易发现问题的地方,在於使用者常常会找不到某些命令,导致无法按照书上的说明去运行某些命令。 因为无法运行命令,所以就会一直给他放在那边,不会继续往下学习啊!真是可惜! 为什么会找不到命令呢?很简单啊!就是因为没有安装该软件啊!所以,『强烈的建议新手,务必将所有的套件都给他安装上去!』也就是选择『安装所有套件』就是了。 当然啦,上面提到的都是针对『练习机』而言喔!如果是您自己预计要上线的Linux主机, 那就不建议按照上面的说明安装了!切记切记! 鸟哥的两个实际案例 这里说一下鸟哥的两个实际的案例,这两个案例是目前还在运行的主机喔!
要先声明的是,鸟哥的范例不见得是最好的,因为每个人的考量并不一样。我只是提供相对可以使用的方案而已喔!
在上面的案例中,案例一是属於小规模的主机系统,因此只要使用预计被淘汰的配备即可进行主机的架设! 唯一可能需要购买的大概是网络卡吧!呵呵!而在案例二中,由於我需要大量的数值运算, 且运算结果的数据非常的庞大,因此就需要比较大的磁碟容量与较佳的网络系统了。 以上的数据请先记得,因为下一章节在实际安装Linux之前,你得先进行主机的规划呀! 大硬盘配合旧主机造成的无法启动问题 随著时代的演变,在2009年中的目前,个人计算机上面的硬盘容量竟然都已经高达750 GB以上了! 这么大的硬盘用起来当然是很爽快的啦~不过,也有一些问题的~那就是~启动的问题~ 某些比较旧的主板中,他们的BIOS可能找不到比较大容量的磁碟的。所以,你在旧主板上面安装新的大容量磁碟时, 很可能你的磁碟容量会被误判!不过,即使是这样,Linux还是能够安装喔!而且能够顺利的捉到完整的硬盘容量呢! 为什么呢?因为当Linux核心顺利启动启动后,他会重新再去侦测一次整个硬件而不理会BIOS所提供的资讯, 所以就能够顺利的捉到正确的硬盘,并且让你安装Linux。 但是,安装完毕后,可能会无法启动喔!为什么啊?前一小节里面我们不是谈到过启动流程与MBR的内容吗? 安装的时候是以光盘启动并且由光盘加载Linux核心,所以核心可以被顺利加载来安装。但是若以这样的配备来启动时, 因为BIOS捉到的硬盘是不对的,所以使用硬盘启动可能就会出现无法启动的错误了。那怎办? 由於BIOS捉到的磁碟容量不对,但是至少在整颗磁碟前面的磁区他还读的到啊! 因此,你只要将这个磁碟最前面的容量分割出一个小分割槽,并将这个分割槽与系统启动文件的放置目录摆在一起, 那就是 /boot 这个目录!就能够解决了!很简单吧! 其实,重点是:『将启动磁区所在分割槽规范在小於1024个磁柱以内~』 即可!那怎么做到呢?很简单,在进行安装的时候,规划出三个磁区,分别是:
那个/boot只要给100M Bytes左右即可!而且/boot要放在整块硬盘的最前面!这部份你先有印象与概念即可,未来我们谈到第二十章的启动流程时,会再加强说明的! ^_^ 重点回顾
本章习题
(要看答案请将鼠标移动到『答:』底下的空白处,按下左键圈选空白处即可察看)
实作题部分:
参考数据与延伸阅读
2002/04/08:第一次完成吧? 2003/02/02:重新编排与加入 FAQ 2005/06/04:将旧的文章移动到 这里 2005/06/12:风格修订之外,新增了 Linux 练习机硬件选择与软件安装的建议 2005/06/15:感谢上奇编辑 Tim 兄来信告知一些可能有争议的部分!包括 AthlonXP 已被 Sempron 取代,已经修订! 2008/07/29:将旧的FC4文章移动到此处。 2008/08/21:将整份文件作个重新整理,移除计概有谈到的硬件部分,添加partition的数据量。 2009/08/06:重新修订习题与解答,尤其一些计概方面的问题将他挪开! |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
本网页主要以Firefox配合解析度 1024x768 作为设计依据 鸟哥自由软件整合应用研究室