鸟哥的Linux私房菜——基础学习篇(第三版) (1-5章)

第一章: 计算机概论

1.CPU的种类:

CPU主要分为两类:精简指令集RISC和复杂指令集CISC。

对于精简指令集,常见系列有Sun公司的SPARC系列,IBM公司的PowerPC系列,和ARM系列

复杂指令集主要有AMD,Intel 和VIA的x86系列的CPU


第三章: 主机规划与磁盘分区

1. 磁盘介绍

整颗磁盘的第一个扇区特别重要,它记录了两个重要的信息:

(1) MBR (master boot record) 主要启动记录区: 可以安装开机管理程序的地方, 有446bytes

(2) 分区表 (partition table): 记录整个磁盘的分区状态, 有64bytes

MBR非常重要, 系统在开机的时候要主动读取这个分区的内容, 这样才知道如何引导开机

2. 磁盘分区表

在分区表所在的64 bytes 容量中,总共分为四组记录区,每组记录区记录了该区段的启始不结束的磁柱号码。 若将硬盘以长条形来看,然后将磁柱以柱形图来看,那么那64 bytes 的记录区段有点像底下图示:

假设上面的硬盘装置文件名为/dev/hda 时,在linux中得到的装置文件名称如下:

 P1:/dev/hda1

 P2:/dev/hda2

 P3:/dev/hda3

 P4:/dev/hda4

由于分区表就只有64 bytes 而已,最多只能容纳四笔分区的记录, 这四个分区的记录被称为主要(Primary)或扩展(Extended)分区槽。 根据上面的图示与说明,我们可以得到几个重点信息:

 (1) 其实所谓的『分区』只是针对那个64 bytes 的分区表进行设定而已!

 (2) 硬盘默认的分区表仅能写入四组分区信息

 (3) 这四组分区信息我们称为主要 (Primary) 或扩展 (Extended) 分区槽

 (4) 分区槽的最小单位为磁柱 (cylinder)

 (5) 当系统要写入磁盘时,一定会参考磁盘分区表,才能针对某个分区槽进行数据的处理

3. 磁盘分区的好处

(1) 数据的安全性

(2) 系统的效率考虑

由二分区槽将数据集中在某个磁柱的区段,例如上图当中第一个分区槽位二磁柱号码 1~100号,如此一来当有数据要读取自该分区槽时, 磁盘只会搜寻前面1~100的磁柱范围,由于数据集中了,将有利于数据读取的速度与效能!所以说,分区是很重要的!

4. 扩展分区

如果要多于4个分区可以使用扩展分区,将扩展分区进行划分. 上面提到的4个分区可以划为主分区或扩展分区

在上图当中,我们知道硬盘的四个分区记录区仅使用到两个,P1为主要分区,而 P2则为扩展分区。

请注意, 扩展分区的目的是使用额外的扇区来记录分区信息,扩展分区本身并不能被拿来格式化。 然

后我们可以透过扩展分区所指向的那个区块继续作分区的记录。

同样的,上述的分区槽在Linux系统中的装置文件名分别如下:

 P1:/dev/hda1

 P2:/dev/hda2

 L1:/dev/hda5

 L2:/dev/hda6

 L3:/dev/hda7

 L4:/dev/hda8

 L5:/dev/hda9

关于分区终结如下:

主要分区、扩展分区与逻辑分区的特性我们作个简单的终结如下:

(1) 主要分区与扩展分区最多可以有四笔(硬盘的限制)

(2) 扩展分区最多只能有一个 (操作系统的限制)

(3) 逻辑分区是由扩展分区持续切割出来的分区槽;

(4) 能够被格式化后,作为数据存取的分区槽为主要分区与逻辑分区。扩展分区无法格式化;

(5) 逻辑分区的数量依操作系统而不同,在Linux 系统中,IDE硬盘最多有59个逻辑分区 (5号到63号), SATA 硬盘则有11个逻辑分区(5 号到15 号)。

5. 开机流程与主要启动记录区 (MBR)

简单的说,整个开机流程到操作系统之前的动作应该是这样的:

(1). BIOS:开机主动执行的韧体,会认识第一个可开机的装置;

BIOS会去分析计算机里面有哪些储存设备,我们以硬盘为例,BIOS会依据使用者的设定去取得能够开机的硬盘,并且到该硬盘里面去读取第一个扇区的 MBR 位置。 MBR 这个仅有446 bytes 的硬盘容量里面会放置最基本的开机管理程序, 此时 BIOS 就功成圆满,而接下来就是MBR 内的开机管理程序的工作了。

(2). MBR:第一个可开机装置的第一个扇区内的主要启动记录区块,内含开机管理程序;

(3). 开机管理程序 (boot loader) :一支可读取核心档案来执行的软件;

这个开机管理程序的目的是在加载(load)核心档案, 由于开机管理程序是操作系统在安装的时候所提供的, 所以他会认识硬盘内的文件系统格式,因此就能够读取核心档案, 然后接下来就是核心档案的工作, 开机就完成了.

(4). 核心档案:开始操作系统的功能…

由上面的说明我们会知道,BIOS 与MBR 都是硬件本身会支持的功能,至于Boot loader则是操作系统安装在MBR 上面的一套软件了。由于 MBR 仅有 446 bytes 而已,因此这个开机管理程序是非常小而美的。 这个boot loader的主要仸务有底下这些项目:

(1) 提供选单:用户可以选择不同的开机项目,这也是多重引导的重要功能!

(2) 载入核心档案:直接指向可开机的程序区段来开始操作系统;

(3) 转交其他loader:将开机管理功能转交给其他 loader 负责。

开机管理程序除可以安装在MBR中外,还可以安装在其他分区的启动扇区。

6. 双系统引导

我们举一个例子来说,假设你的个人计算机只有一个硬盘,里面切成四个分割槽,其中第一、二分割槽分别安装了Windows 及Linux, 你要如何在开机的时候选择用Windows 还是Linux开机呢?假设MBR 内安装的是可同时认识Windows/Linux操作系统的开机管理程序, 那么整个流程可以图标如下:

在上图中我们可以发现,MBR 的开机管理程序提供两个选单,选单一(M1)可以直接加载Windows 的核心档案来开机; 选单二(M2)则是将开机管理工作交给第二个分割槽的启动扇区(boot sector)。当使用者在开机的时候选择选单二时, 那么整个开机管理工作就会交给第二分割槽的开机管理程序了。 当第二个开机管理程序启动后,该开机管理程序内(上图中)仅有一个开机选单,因此就能够使用Linux的核心档案来开机啰。 这就是多重引导的工作情况啦!我们将上图作个总结:

 (1) 每个分割槽都拥有自己的启动扇区 (boot sector)

(2) 图中的系统槽为第一及第二分割槽,

(3) 实际可开机的核心档案是放置到各分割槽内的!

(4) Loader只会认识自己的系统槽内的可开机核心档案,以及其他 loader而已;

(5) Loader可直接指向或者是间接将管理权转交给另一个管理程序。

为什么人家常常说:『如果要安装多重引导, 最好先安装Windows 再安装Linux』呢?这是因为:

 (1) Linux在安装的时候,你可以选择将开机管理程序安装在 MBR 或各别分割槽的启动扇区, 而且Linux的loader可以手动设定选单 (就是上图的 M1, M2…) ,所以你可以在 Linux 的boot loader里面加入Windows 开机的选项;

 (2) Windows 在安装的时候,他的安装程序会主动的覆盖掉 MBR 以及自己所在分割槽的启动扇区,你没有选择的机会, 而且他没有让我们自己选择选单的功能。

因此,如果先安装Linux再安装 Windows 的话,那 MBR 的开机管理程序就只会有Windows 的项目,而不会有Linux的项目 (因为原本在MBR 内的 Linux的开机管理程序就会被覆盖掉)。 那需要重新安装Linux 一次吗?当然不需要,你只要用尽各种方法来处理 MBR 的内容即可。 例如利用全中文的spfdisk(http://spfdisk.sourceforge.net/)软件来安装认识Windows/Linux 的管理程序, 也能够利用Linux的救援模式来挽救 MBR 即可。


第四章: 安装CentOS

1. 磁盘分区

如同前面谈到的,磁盘分区是整个安装过程里面最重要的部分了。CentOS默认给了我们四种分割模式,分别为:

(1) 移除所选磁盘上的所有分割区,并建立默认分割模式: 如果选择这种模式,linux会将硬盘里面的分割全部被删除后, 以安装程序的默认方式重新建立分割槽

(2) 移除所选磁盘上的 Linux 分割区,并建立默认的分割模式: 在这个硬盘内,只有Linux 的分割槽会被删除,然后再以安装程序的默认方式重新建立分割槽。

(3) 使用所选取磁盘上的未使用空间,建立默认的分割模式: 如果你的这颗硬盘内还有未被分割的磁柱空间 (注意,是未被分割,而不是该分割槽内没有数据的意思!), 那么使用这个项目后,他不会更改原有的分割槽,只会就剩余的未分割区块进行预设分割的建置。

(4) 建立自定义的分割模式

2. 文件系统的选择

这几种文件系统类型分别是:

(1) Ext2/ext3:是Linux 适用的文件系统类型。由于 ext3 文件系统多了日志的记录, 对于系统的复原比较快速,因此建议你务必要选择新的 ext3 不要用ext2 了。

(2) Physical volume (LVM) :这是用来弹性调整文件系统容量的一种机制, 可以让你的文件系统容量变大或变小而不改变原有的档案数据内容!

(3) Software RAID:利用Linux操作系统的特性,用软件仿真出磁盘阵列的功能!

(4) Swap:就是内存置换空间!由于swap 并不会使用到目录树的挂载, 所以用swap 就不需要指定挂载点!

在传统的 Linux说明文件当中特别有指定到『swap 最好为物理内存的 1.5 到2倍之间』。swap置换空间是很重要的, 因为他可以避免因为物理内存不足而造成的系统效能低落的问题。但是如果你的物理内存有 4GB以上时, 老实说,swap也可以不必额外设定.

swap 内存置换空间的功能是:当有数据被存放在物理内存里面,但是这些数据又不是常被CPU所取用时, 那么这些不常被使用的程序将会被丢到硬盘的 swap 置换空间当中, 而将速度较快的物理内存空间释放出来给真正需要的程序使用! 所以,如果你的系统不很忙,而内存又很大,自然不需要 swap啰。

(5) Vfat:同时被Linux 与Windows 所支持的文件系统类型。 如果你的主机硬盘内同时存在Windows与Linux操作系统,为了数据的交换,确实可以建置一个 vfat 的文件系统!

3. SELinux

它是Security Enhanced Linux的缩写,这个软件是由美国国家安全局(National Security Agency, NAS)所开发的,这东西并不是防火墙喔!SELinux 是一个Linux系统讵问控制 (Access control) 的细部设定, 重点在于控制程序对于系统档案的讵问权限限制。由于 CentOS 5.x 以后的Linux版本对于SELinux的设定已经非常的妥当了, 因此建议您务必要打开这个功能!

4. Kdump

Kdump 就是,当核心出现错误的时候, 是否要将当时的内存内的讯息写到档案中,而这个档案就能够给核心开发者研究为啥会宕机之用。 我们并不是核心开发者,而且内存内的数据实在太大了,因此常常进行 Kdump 会造成硬盘空间的浪费。 所以,这里建议不要启动Kdump 的功能!

5. 双系统的安装

新主机仅有一颗硬盘

如果你的系统是新的,并且想要安装多重操作系统时,那么这个多重操作系统的安装将显的很简单啊! 假设以目前主流的 160GB 硬盘作为规划好了,而你想要有WindowsXP, WindowsXP的数据碟, Linux, swap 及一个共享分割槽, 那我们首先来规划一下硬盘分割吧!如果是这样的需求,那你可以这样规划:

安装一定要先装WindowsX 再装Linux才好!

安装Windows XP
在这个阶段依旧使用Windows XP光盘开机来安装,安装到了分割时,记得依照上述表格的规划制作出两个主要分割槽, 并且将文件系统格式化为 NTFS,然后再将Windows XP装到 C 槽当中。理论上,此时仅有/dev/sda1, /dev/sda2 而已喔!

安装CentOS 5.x
再来则是安装Linux,安装时要注意的地方也是在分割的地方,请回到前一小节的磁盘分区部分来进行分割设定。另外一个要注意的地方则是在开机管理程序的地方, 尤其是『默认开机』项目,是默认要Windows 还是Linux开机呢?这需要你的选择喔!而且 grub 务必要安装到MBR 上头。

后续维护的注意事项
多重引导设定完毕后请特别注意, (1)Windows 的环境中最好将Linux的根目录与 swap取消挂载,否则未来你打开档案总管时, 该软件会要求你『格式化!』如果一个不留神,你的 Linux系统就毁了。 (2) 你的Linux不可以随便的删除! 因为grub 会去读取Linux根目录下的/boot/目录内容,如果你将 Linux移除了,你的Windows 也就无法开机了! 因为整个开机选单都会不见喔!


第五章: 首次登陆与在线帮助

1. 关机/重新启动相关的指令

谈一谈几个与关机/重新启动相关的指令:

(1) 将数据同步写入硬盘中的指令: sync

 (2) 惯用的关机指令: shutdown

 (3) 重新启动,关机: reboot, halt, poweroff

2.切换执行等级: init

本章上头有谈到过关于 run level 的问题。之前谈到的是系统运作的模式,分为纯文本(run level 3)及图形接口模式(run level 5)。除了这两种模式外,有没有其他模式呢?其实 Linux 共有七种执行等级, 七种等级的意义我们在后面会再谈到。本章你只要知道底下四种执行等级就好了:

 run level 0:关机

 run level 3:纯文本模式

 run level 5:含有图形接口模式

 run level 6:重新启动

那如何切换各模式呢?可以使用 init 这个指令来处理喔!也就是说,如果你想要关机的话, 除了上述的 shutdown -h now 以及poweroff 之外,你也可以使用如下的指令来关机:

[root@www ~]# init 0

3. 保护硬盘

硬盘该如何预防发生文件系统错误的问题呢?

 (1) 妥善保养硬盘:

例如:主机通电之后部要搬动,避免移动或震动硬盘;尽量降低硬盘的温度,可以加装风扇来冷却硬盘; 或者可以换装 SCSI 硬盘。

 (2) 划分不同的partition:

为什么磁盘分区这么重要!因为Linux每个目录被读写的频率不同,妥善的分割将会让我们的Linux更安全! 通常我们会建议划分下列的磁盘区块:

o /

o /boot

o /usr

o /home

o /var

这样划分有些好处,例如/var是系统默认的一些数据暂存或者是 cache数据的储存目录, 像 e-mail 就含在这里面。如果还有使用 proxy 时,因为常常存取,所以有可能会造成磁盘损坏, 而当这部份的磁盘损坏时,由于其他的地方是没问题的,因此资料得以保存,而且在处理时也比较容易!

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值