红联Linux门户
Linux帮助

《Linux系统管理员手册》读书笔记

发布时间:2008-08-26 21:50:40来源:红联作者:Songs
作者:victoryan

很不错的一本书,Lars Wirzenius著,赵炯翻译。我看的是pdf版的,也给大家推荐一下。

1.内核自己做的事很少,但它提供了建立所有服务所需的工具。它也防止了任何人直接对硬件的访问,迫使任何人使用它所提供的工具。这样,内核为各个用户之间提供了一些保护。内核所提供的工具是通过系统调用(system calls)来使用的。

2.系统程序利用内核所提供的工具来实现一个操作系统所需的各种服务。

3.在最低层,内核包含每种它支持的硬件的设备驱动程序。由于世界充满了各种各样不同种类的硬件,硬件设备驱动程序的数量是庞大的。有许多在一些方面相似的硬件仅仅在软件是如何控制它们方面是有所区别的。这种相似性使得支持相同操作的驱动程序通用类成为可能;类的每个成员对于内核的其余部分来说有着同样的接口,但在实现它们方面有所不同。例如,所有的磁盘驱动程序对于内核的其它部分来说看上去是相同的,也即,它们都有如‘初始化驱动器’、‘读扇区N’、‘写扇区N’的操作。

4.UNIX 系统中的一个非常重要的服务是由init 提供的。Init 是每个UNIX 系统第一个启动的进程,作为内核引导所做的最后一件事。当init 启动后,它通过执行各种启动事务来继续引导进程(检查并监视文件系统,启动后台程序daemons,等等)。

5.在正常的操作下,init 确定getty 正在工作着(用以允许用户登录),并且收取孤立进程(父辈进程已结束的进程;在UNIX 中所有的进程必须属于单棵进程树,所以孤立进程必须被收取)。当系统关闭时,init 负责杀死所有其它的进程,卸载所有的文件系统以及停止处理器的工作,以及任何它被配置成要做的工作。

6.用户和系统管理员常常需要定时地执行某些命令。例如,系统管理员想要运行一个命令来清理临时文件目录(/tmp 以及 /var/tmp)中的旧文件,以防止磁盘过满,因为并非所有程序在其后都会正确地清理。Cron 服务即用来做此事的。每个用户都有一个crontab 文件,在这个文件中他列出了他想执行的命令和这些命令被执行的时间。Cron 后台程序(守护程序)会在指定的时间启动命令。At 服务与cron 相类似,但它只执行一次:命令在指定时间被执行,但并不会重复执行。

7./etc/fstab

列出了在系统启动时由mount -a 命令自动加载的文件系统(在/etc/rc 或者同等的启动文件中)。

8.处理器(CPU)与实际磁盘通过磁盘控制器进行通信。这使得计算机的其余部分不需要知道如何使用驱动器,因为不同硬盘类型的控制器能够使用相同的接口与计算机的其它部分通信。因此,计算机只需说“咳,硬盘,给我想要的数据”。

9.圆盘表面通常划分成许多的同心圆环,称作磁道(tracks),并且这些圆环再被分为扇区(sectors)。这种分割是用于在硬盘上指定位置以及为文件分配硬盘空间的。为了在硬盘上找到指定的地方,人们可以说“面3、磁道5、扇区7”。通常,所有磁道上的扇区数是相同的,但有些硬盘在在外磁道上放置了更多的扇区(所有扇区的物理面积大小是一样的,因此在稍长的外磁道上可以放置更多的扇区)。典型地,一个扇区能容纳512 字节的数据。硬盘本身不能处理比一个扇区更少的数据。以同样的方法,每个面也被分成磁道(及扇区)。这意味着当一个面的读写头位于一个磁道上时,其它面上的读写头也位于相应的磁道上。所有这些相关磁道总合起来就叫作一个柱面(cylinder)。从一个磁道(柱面)移动到另一个磁道(柱面)是需要时间的,所以常把要一起访问的数据放在一起(如,一个文件)一个柱面上,这样就不用移动读写头来读取所有的数据,因此可以提高性能。(事实说明,使用所有数据在同一柱面的窍门来提高性能是不切实际的。)并不是总能够象这样来放置文件的;在磁盘上几个地方存储数据的文件被称为有碎片的(fragmented)。

10.

11.硬盘的设备文件可以访问整个硬盘,而不管各分区。硬盘的设备文件通常仅用来访问主引导记录的。

12.格式化(formatting)就是在磁性介质上写上记号,用于标志出磁道和扇区。在格式化之前,磁盘表面的磁信号是杂乱无章的。当格式化后,沿着磁道的轨迹方向带来了一定的次序,并且磁道被分成扇区。实际的细节并不完全如此,但那我们就不管了。重要的是磁盘没有格式化就不能用。

13.在MS-DOS 中,格式化这个词也同时用于表示创建文件系统的过程(这将在下面讨论)。在其中,两个过程常常合在了一起,尤其是对软盘。当需要加以区别时,实际的格式化被称作低级格式化(low-level-formatting),而创建文件系统被称作高级格式化(high-level formatting)。在UNIX 环境中,这两者分别称作格式化和创建文件系统。

14.一个硬盘可以分成几个区(partitions)。每个分区就如同一个独立的硬盘。这个想法是,如果你有一个硬盘,并且想要在上面安装两个操作系统,你可以将这个硬盘分成两个分区。每个操作系统自由地使用各自的分区而不触及另一个。这样两个操作系统就可以和平地共处于同一个硬盘中。如果没有分区的话,你就得为每个操作系统购买一个硬盘。

15.硬盘是如何分区的信息存储于硬盘的第一个扇区中(也即,第一张盘片的第一个磁道的第一个扇区)。这第一个扇区就是硬盘的主引导记录(master boot record MBR);当机器首次启动时,BIOS 会读入这个扇区。主引导记录中含有一个小程序,用于读分区表、检查哪个分区是活动分区(也即,标志为可启动的),并且读入那个分区的第一个扇区,分区的启动扇区(boot sector)(MBR 也是一个启动扇区,但它有一个特殊的地位,因此有一个特殊的名字)。这个启动扇区也包括一个小程序,用于读入当前分区操作系统的第一部分(假设它是可启动的),然后开始运行整个操作系统。

16.一个硬盘的分区结构。硬盘被分成三个主分区,第二个主分区再被分成两个逻辑分区。硬盘还有些部分根本没有分区。整个硬盘以及各个主分区都有一个引导扇区。

17.当使用IDE 硬盘时,启动引导分区(含有启动内核映像文件的分区)必须完全位于头1024 柱面以内。这是因为硬盘在启动时是通过BIOS 使用的(在系统进入保护模式之前),而BIOS 不能处理大于1024 的柱面。有时候很可能用到只有部分分区在1024 柱面内的启动分区,但只要所有通过BIOS 来读取的文件位于头1024 个柱面内就行。由于这种安排非常困难,所以这样做是很不利的;你不可能知道什么时候一个内核的更新或者硬盘的整理碎片活动将导致系统不可启动。因此,要确信你的启动分区完全在头1024 个柱面以内。

18.在许多系统中,还有其它一些文件系统应该在系统启动时被自动加载。这些文件系统是在/etc/fstab 文件中指定的。

19.一个文件系统的正确性和有效性可以用fsck 命令来检查。可以用它来修复所发现的小问题,并且在有不可修复的问题时提醒用户注意。幸运的是,实现文件系统的代码能够很有效地进行调试,所以很少真正存在问题的,如果有问题通常也是因为掉电、硬件出错或者操作出错;例如,没有正常关闭系统等。

20.fsck 必须对未加载的文件系统运行,绝对不要对已加载的文件系统运行(除了在启动期间对只读的根文件系统)。这是因为它访问磁盘的原始数据,因此能够在操作系统不知情的情况下修改文件系统。这样如果操作系统搞混的话就有可能带来问题。

21.Badblocks /dev/sda 可以用于检查磁盘坏块,而df 用于显示一个或多个文件系统上的空磁盘空间;du 用于显示一个目录以及其内所有文件所占用的磁盘空间。

22.不是所有的磁盘或分区被用作文件系统的。例如,交换分区上是没有文件系统的。许多软盘是以模拟磁带驱动器的方式使用的,所以一个tar 文件或其它文件是直接写在原始盘片上的,而非文件系统中。Linux 启动盘片不含文件系统,只含有原始内核。

23.Linux 支持虚拟内存(virtual memory),虚拟内存是指使用磁盘当作RAM 的扩展,这样可用的内存的大小就相应地增大了。内核会将暂时不用的内存块的内容写到硬盘上,这样一来,这块内存就可用于其它目的。当需要用到原始的内容时,它们被重新读入内存。这些操作对用户来说是完全透明的;Linux 下运行的程序只是看到有大量的内存可供使用而并没有注意到时不时它们的一部分是驻留在硬盘上的。当然,读写硬盘要比直接使用真实内存慢得多(要慢数千倍),所以程序就不会象一直在内存中运行的那样快。用作虚拟内存的硬盘部分被称为交换空间(swap space)。

24.输出的第一行(Mem:)显示出物理内存的使用情况。总和(total)列中并没有显示出被内核使用的内存,它通常将近一兆字节。已用列(used column)显示出已用内存的总和(第二行没有把缓冲算进来)。空闲列(free column)显示了所有未被使用的空闲内存。共享列(shared column)显示出了被几个进程共享的内存的大小;共享的内存越多,情况就越好。缓存列(buffer column)显示出了当前磁盘缓存的大小。已缓冲列(cached column)显示出了已使用的缓存的大小。

最后一行(Swap:)显示出了与交换空间相应的信息。如果这一行的数值都是零表示你的交换空间没有被击活。
文章评论

共有 3 条评论

  1. ubuntu1618 于 2013-03-12 09:02:10发表:

    哪里能下载

  2. jinjiaying 于 2013-03-05 22:48:02发表:

    收藏

  3. wdjialen 于 2008-08-31 16:23:26发表:

    在 51cto 看过你些的这篇 文章