红联Linux门户
Linux帮助

Red Flag Server 4.1全章知识

发布时间:2005-07-11 00:21:16来源:红联作者:ming
第1章 命令行操作
熟悉在命令行界面下工作对使用和管理 Linux 操作系统具有很大的意义,本章介绍在Red Flag Server 4.1 系统中进行 shell 操作的知识。

1.1 基础知识
以下关于 Linux shell 及文件和目录的知识是学习本章的基础。

1.1.1 文件命名
Linux 下文件名的最大长度可以是256个字符,通常由字母、数字、“.”(点号)、“_”(下划线)和“-”(减号)组成。文件名中不能含有“/”符号,因为“/”在 Linux 目录树中表示根目录或路径中的分隔符(如同 DOS 中的“\”)。
Linux 系统中支持文件名中的通配符,具体如下:
星号(*):匹配零个或多个字符;
问号(?):匹配任何一个字符;
[ab1 A-F]:匹配任何一个列举在集合中的字符。本例中,该集合是a、b、1或任何一个从A到F的大写字符;

1.1.2 路径
操作系统查找文件所经过的路径称为路径名。使用当前目录下的文件时可以直接引用文件名;如果要使用其他目录下的文件,就必须指明该文件在哪个目录之中。
按查找文件的起点不同可以分为两种路径:绝对路径 和 相对路径。从根目录开始的路径称为绝对路径,从当前所在目录开始的路径称为相对路径,相对路径是随着用户工作目录的变化而改变的。
与 DOS 相同,每个目录下都有代表当前目录的“.”文件和代表当前目录父目录的“..”文件,相对路径名一般就是从“..”开始的。
在 Linux 目录树中,表示根目录或是路径中的分隔符是“/”。

1.1.3 文件类型
Red Flag Server 4.1 系统支持以下文件类型:普通文件、目录文件、设备文件以及符号链接文件。
普通文件: 包括文本文件、数据文件、可执行的二进制程序等。
目录文件: 简称目录,Linux 中把目录看成是一种特殊的文件,利用它构成文件系统的分层树型结构。每个目录文件中至少包括两个文件,“..”表示上一级目录,“.”表示该目录本身。
设备文件: 设备文件是一种特别文件,Linux 系统利用它们来标识各个设备驱动器,核心使用它们与硬件设备通信。有两类特别设备文件:字符设备和块设备。
符号链接: 一种特殊文件,它们存放的数据是文件系统中通向某个文件的路径。当使用符号链接文件时,系统自动地访问所保存的这个路径。

1.1.4 目录结构
通过对系统目录组织结构的了解,可以在进行文件操作和系统管理时方便地知道所要的东西在什么地方。
Red Flag Server 4.1 的文件系统采用分层的树形目录结构。即:在一个根目录(通常用“/”表示),含有多个下级子目录或文件;子目录中又可含有更下级的子目录或者文件的信息,这样一层一层地延伸下去,构成一棵倒置的树。树中的“根”与“杈”代表的是目录或称为文件夹,而“叶子”则是一个个的文件。
下面列出了主要的系统目录及其简单描述:
/bin: 存放普通用户可以使用的命令文件。目录 /usr/bin 也可用来贮存用户命令。
/sbin: 一般存放非普通用户使用的命令(有时普通用户也可能会用到)。目录 /usr/sbin 中也包括了许多系统命令。
/etc: 系统的配置文件。
/root: 系统管理员(root或超级用户)的主目录。
/usr: 包括与系统用户直接相关的文件和目录,一些主要的应用程序也保存在该目录下。
/home: 用户主目录的位置,保存了用户文件(用户自己的配置文件,文档,数据等)。
/dev: 设备文件。在Linux中设备以文件形式表现,从而可以按照操作文件的方式简便地对设备进行操作。
/mnt: 文件系统挂载点。一般用于安装移动介质?其它文件系统(如DOS)的分区、网络共享文件系统或任何可安装文件系统。
/lib: 包含许多由 /bin 和 /sbin 中的程序使用的共享库文件。目录 /usr/lib/ 中含有更多用于用户程序的库文件。
/boot: 包括内核和其它系统启动时使用的文件。
/var: 包含一些经常改变的文件。例如假脱机(spool)目录?文件日志目录?锁文件?临时文件等等。
/proc: 操作系统的内存映像文件系统,是一个虚拟的文件系统(没有占用磁盘空间)。当您查看它们时,看到的是内存里的信息,这些文件有助于了解系统内部信息。
/initrd: 在计算机启动时挂载 initrd.img 映像文件的目录以及载入所需设备模块的目录。
/opt: 存放可选择安装的文件和程序。主要由第三方开发者用于安装和卸装他们的软件包。
/tmp: 用户和程序的临时目录,该目录中的文件被系统自动清空。
/lost+found: 在系统修复过程中恢复的文件。

1.1.5 Shell 简介
用户在命令行下工作时,不是直接同操作系统内核打交道,而是由命令解释器接受命令,分析后再传给相关的程序。进入 Red Flag Server 4.1 环境时系统将自动启动相应的 shell,shell 是一种命令行解释程序,它提供用户与操作系统之间的接口。Red Flag Server 4.1 下默认的 shell 是 bash。
bash 命令的基本格式如下:
命令名 [选项] [参数1] [参数2]…
其中方括号括起的部分表明该项对命令而言是可选的。
[选项] :对命令有特别定义,一般以“-”开始,多个选项可用一个“-”连起来,如 ls -l -a 与 ls -la 相同。
[参数] :提供命令运行的信息,或者是命令执行过程中所使用的文件名。
输入用户名、口令与文件名、命令名时,一定要区分大小写,因为大小写字母在 Linux 系统中代表不同的含义。
在命令、选项和参数之间要用空格隔开。连续的空格会被 shell 解释为单个空格。

键入命令
在 shell 提示符下输入相应的命令,然后按回车键确认,shell 会读取该命令并执行。如果系统找不到输入的命令,会显示:“Command not Found”,这时需要检查键入命令的拼写及大小写是否正确。
使用分号(;)可以将两个命令隔开,这样可以实现在一行中输入多个命令。命令的执行顺序和输入的顺序相同。

命令补齐
当要输入的命令目录很深或命令中的文件名很长时,只要按一下 键,系统会在可能的命令或文件名中找到相匹配的项,自动帮您补齐。如果有一个以上的文件符合输入的字符串,不能补齐时,可以按两下 键,系统将把所有符合的文件名列出来。

历史记录
shell 会把过去输入过的命令记忆下来,只要按上下方向键,就可以选择以前输入过的命令了。
有了以上基础,可以运行下面列出的几个简单命令来实际使用一下:
clear:刷新屏幕;
date:在屏幕上显示日期和时间;
echo:将命令行中的内容回显到标准输出上。
cal:显示月份和日历。

1.1.6 系统帮助
Red Flag Server 4.1 具有强大的系统和网络功能,数量众多的实用工具软件和大量复杂的操作命令。为了帮助用户顺利进行操作,系统提供了多种多样的联机帮助信息以便用户随时查询。

联机手册
通过 man 命令使用联机用户手册,系统可以显示任何命令的联机帮助信息。它将命令名称作为参数,该命令的语法格式为:
man command
以下是常用的 Linux 系统帮助手册的章节分类,它位于 /usr/man 目录下:
例如,下面的命令行将显示 cal 命令的手册页:
$ man cal
使用命令 “man man” 会显示出 man 命令本身的使用方法。
在所查询的命令后加 help 参数的方式,也可以显示出命令的参考信息。
用 help command 可列出许多内部命令的帮助。
whatis 命令可以通过命令名查找简要的帮助信息,命令语法为:whatis keyword。

1.2 目录操作命令

1.2.1 查看目录
查看目录内容的命令是 ls,它默认显示当前目录的内容,可以在命令行参数的位置给出一个或多个目录名,从而可以查看这些目录。命令的语法格式为:
ls [选项]…[文件名]…
ls命令有多个命令行选项,如:
-a: 列出所有文件,包括那些以“.”开头的文件;
-d: 如果后面接的是一个目录,那么使用该参数只输出该目录的名称;
-l: 使用长格式显示文件条目,包括连接数目、所有者、大小、最后修改时间、权限等;
-t: 按文件修改时间进行排序,而不是使用文件名排序;
-C: 按列纵向对文件名排序;
-F: 在文件名后加上一个符号来表示文件类型;
-Cx: 按行跨页对文件名排序;
-CF: 按列列出目录中的文件名,该命令在文件名之后附加一个字符用来区分目录和文件的类型;
----目录文件名之后附加一个斜线(/)
----可执行文件名之后附加一个星号(*)
----符号链接文件之后附加一个@字符
----普通文件名之后不加任何字符
-CR: 按多栏格式显示当前目录中的所有文件以及沿目录树向下各个子目录的所有文件,也称作递归列表。该命令可以区分目录和可执行的文件,即在文件名之后附加一个字符。

1.2.2 改变工作目录
进入一个目录,或者说改变当前工作目录使用 cd 命令,其命令的语法格式为:
cd 目录名
cd 命令带有唯一的一个参数,即表示目标目录的路径名(相对路径名或绝对路径名)。
利用点点(..)把工作目录向上移动一级目录:cd . .
为了从系统中的任何地方返回到用户主目录,可以使用不带任何参数的 cd 命令。

1.2.3 创建目录
使用 mkdir 命令创建一个目录或多个目录,以便有效地组织自己的文件。其命令的语法格式为:
mkdir [选项] 目录名 [目录名…]
同一子目录应包含类似的文件。例如,应建立一个子目录,包含所有的数据库文件;另一个子目
录包含电子表格文件;还有一个子目录用来保存某项目相关文件。
-p 选项:同时创建目录和它的子目录。
mkdir -p 目录名/子目录名

1.2.4 删除目录
当目录不再被使用,或者磁盘空间已达到使用限定值,就需要从文件系统中删除失去使用价值的目录。
利用 rmdir 命令从目录中删除一个或多个空的子目录,语法格式如下:
rmdir [选项] 目录名 [目录名…]
子目录被删除之前应该是空目录。就是说,该目录中的所有文件必须已清空。如果该目录中仍有其它文件,那么就不能用 rmdir 命令把它删除。
当前的工作目录必须在被删除目录之上,不能是被删除目录本身,也不能是被删除目录的子目录。
-p 选项:递归地删除指定的目录及其子目录。即:如果指定的目录有子目录,就先删除其子目录,然后删除该目录。
-r 选项:递归地删除目录中的所有文件和该目录本身。详见1.3.5节有关删除文件命令的介绍。

1.2.5 显示当前目录
在具体操作时,很多时候可能会记不清自己当前所在的目录,命令 pwd 可以显示用户当前在目
录树中的位置。如:
# pwd
# /usr/local/rfinput/bin
系统给出的信息表示用户当前所在的目录是 /usr/local/rfinput/bin。

1.3 文件操作命令

1.3.1 显示文本文件
文本文件是由可打印字符和控制字符(如制表符和换行符)组成的。有几个命令可以显示文本文件。
cat 命令
cat命令的一般语法是:
cat [选项] 文件名 [文件名…]
该命令运行后,指定文件的内容就在标准输出(通常是屏幕)上显示出来。如果文件的内容很长,在一个屏幕中显示不下,就会出现屏幕滚动,为了控制滚屏,可以按 组合键,停止滚屏;按 可以恢复滚屏。
其中选项及其意义如下:
-v: 用一种特殊形式显示控制字符,除去LFO与TAB
-n: 显示输出行的编号
-b: 显示非空输出行的编号

head 命令
其命令语法如下:
head [显示行数] 文件名 [文件名…]
head命令在屏幕上显示指定文件最前面的若干行,行数由“显示行数”确定,默认值是10。

tail 命令
其命令的语法如下:
tail [显示行数] 文件名 [文件名…]
tail [+n] 文件名 [文件名…]
在屏幕上显示指定文件末尾的若干行,行数由“显示行数”确定;或者从指定行号开始显示,直至该文件的末尾。

more 命令
more命令显示文件内容,每次显示一屏。其语法是:
more [选项] 文件名 [文件名]
可在每个屏幕的底部出现一个提示信息,给出至今已显示的该文件的百分比。
可以用几种不同的方法对提示做出回答:
----按 键,显示文本的下一屏内容。
----按 键,只显示文本的下一行内容。
----按斜线符(/),接着输入一个模式,可以在文本中寻找下一个相匹配的模式。
----按 h 键,显示帮助屏,该屏上有相关的帮助信息。
----按 b 键,显示上一屏内容。
----按 q 键,退出 more 命令。
文章评论

共有 36 条评论

  1. BeefyMiracle 于 2012-12-21 13:00:58发表:

    {:2_93:}

  2. 我若为欢 于 2010-11-15 18:19:21发表:

  3. balini 于 2009-07-28 12:00:45发表:

    (e:e2s

  4. 西门吹牛 于 2007-04-02 20:33:49发表:

    最好能做成电子书,再加上图片 就完美了

    呵呵,有点贪心不足哦

  5. coneytoo 于 2007-04-02 18:38:13发表:

    受教了~~thx~

  6. jjjyyy99 于 2007-04-01 16:51:13发表:

    谢,辛苦了

  7. 于 2006-08-12 21:57:01发表:

    真是太好了,辛苦辛苦

  8. marinercn 于 2006-08-03 21:19:36发表:

    学习中 虽然国产有点问题~~~~~~~~~

  9. smallwl 于 2006-08-03 12:48:09发表:

    支持

  10. 严寒 于 2006-07-28 21:12:33发表:

    强烈支持

  11. zz123 于 2006-07-13 22:36:50发表:

  12. belive 于 2006-04-02 00:08:23发表:

    引用:
    原帖由 CMK 于 2005-8-15 00:17 发表
    强烈支持

    很好的

  13. yangzhan000 于 2006-03-24 21:40:34发表:

    先收了,回去好好看看。

  14. masink 于 2006-02-24 11:02:57发表:

    好,我将它转成WORD了,看有没有必要PRINT出来

  15. weou 于 2005-12-21 09:29:56发表:

  16. princes 于 2005-10-23 18:50:53发表:

    谢谢,收下了。辛苦了楼主!

  17. 154978 于 2005-10-13 00:27:42发表:

    不错,强烈支持

  18. def 于 2005-10-01 00:08:53发表:

    太棒了

  19. huohuliaisili 于 2005-09-11 11:43:22发表:

    楼主发完了吗?
    我收藏了!

  20. oiou 于 2005-09-10 14:43:57发表:

    厉害,佩服!

  21. 火 于 2005-09-06 00:06:41发表:

    强烈的顶

  22. love601 于 2005-08-17 19:21:49发表:

    把书本的内容也搬来了
    不错!~

  23. CMK 于 2005-08-15 00:17:24发表:

    强烈支持

  24. ming 于 2005-07-11 00:25:40发表:

    7.2.2.2 bzip2和bunzip2
    要使用 bzip2 来压缩文件,在 shell 提示符下键入以下命令:
    bzip2 filename
    该文件就会被压缩,并被保存为 filename.bz2。
    要解开被压缩的文件,键入以下命令:
    bunzip2 filename.bz2
    filename.bz2 文件会被删除,而代之以 filename 文件。
    可以使用 bzip2 命令同时处理多个文件和目录,方法是将它们逐一列出,并用空格隔开。例如:
    bzip2 filename.bz2 file1 file2 file3 /usr/local/rfinput
    上面的命令把 file1、file2、file3 以及 /usr/local/rfinput 目录的内容压缩起来,存放到 filename.bz2 文件中。

    7.2.2.3 gzip和gunzip命令
    gzip 是一个经常使用的文件压缩和解压缩命令。该命令的语法格式为:
    gzip [选项] 压缩/解压缩的文件名
    常用的选项参数如下:
    -c: 将输出写到标准输出上,并保留原有文件。
    -d: 将压缩文件解压缩。
    -l: 对每个压缩文件显示其大小、未压缩文件的大小、压缩比和名称等。
    -r: 递归式地查找指定目录并压缩其中的所有文件或是解压缩。
    -t: 测试、检查压缩文件是否完整。
    -v: 对每一个压缩和解压缩文件,显示文件名和压缩比。
    -num: 用指定的数字来调整压缩的速度。
    现在假设在目录 /home 下有文件 aa.txt、bb.txt、cc.txt,把它们压缩成 .gz 文件的命令如下:
    gzip /home/*
    ls
    aa.txt.gz bb.txt.gz cc.txt.gz
    要将上例中的文件解压,并列出详细的信息,使用命令
    gzip -dv /home/*
    要解开被压缩的文件,也可以使用以下命令:
    gunzip filename.gz
    filename.gz 会被删除,而代之以 filename。
    要获得这两个命令的详细信息,可以在 shell 提示下键入 man gzip 和 man gunzip 来阅读 gzip 和 gunzip 命令的说明书页。
    7.2.2.4 zip和unzip
    要使用 zip 命令压缩文件,在 shell 提示符下键入下面的命令:
    zip -r filename.zip filesdir
    在上例中,filename.zip 表示要创建的压缩文件,filesdir 表示要压缩的文件目录。-r 选项表示递
    归地压缩所有包括在 filesdir 目录中的文件。
    要解压缩 filename.zip 文件,键入以下命令:
    unzip filename.zip
    可以使用 zip 命令同时处理多个文件和目录,方法是将它们逐一列出,并用空格隔开:
    zip -r filename.zip file1 file2 file3 /usr/local/rfinput
    上面的命令把 file1、file2、file3 以及 /usr/local/rfinput 目录的内容压缩起来,存放到 filename.zip 文件中。
    要获得这两个命令的详细信息,请参阅 zip 和 unzip 命令的说明书页。

    7.3 加密措施
    Red Flag Server 4.1 在设计中充分考虑了安全因素,使用了多种有代表性的加密程序来保护系统与用户的安全。

    7.3.1 SSH
    SSH(Secure Shell)是一个用来登录远程服务器并在远程服务器上执行命令的程序,在缺少安全
    防护的网络上,能为两台互不信任的主机间提供安全可靠的加密通信。
    OpenSSH 是 SSH 协议的免费开源实现。

    7.3.1.1 SSH的特点
    使用 OpenSSH 工具能够增强系统的安全性。OpenSSH 加密所有的通信(包括口令),有效的防止了窃取和网络攻击。除此之外,OpenSSH 还提供了多种安全认证方法。而 telnet、rlogin、ftp 等连接工具使用纯文本口令,并被明文发送,这些信息可能会被截取,未经授权的人员可能会使用截取的口令登录系统并造成危害。
    OpenSSH 包括:ssh(替代了 rlogin 和 telnet)、scp(替代了 rcp)、sftp(替代了 ftp)和服务器端的 sshd。其他的基本工具包括 ssh-add、ssh-agent、ssh-keygen、ssh-keyscan 等。
    OpenSSH 的一个很有用的功能是:它自动把 DISPLAY 变量转发给客户端。也就是说,如果在
    本地主机上运行 X 窗口系统,并且使用 ssh 命令登录到了远程机器上,当在远程机器上执行一个需要 X 的程序时,它会显示在本地主机上。这会使您的工作更加方便。

    7.3.1.2 配置OpenSSH服务器
    远程服务器只要运行 sshd 服务器守护进程即可。
    要启动 OpenSSH 服务,使用 /etc/rc.d/init.d/sshd start 命令;要停止 OpenSSH 服务,使用/etc/rc.d/init.d/sshd stop 命令。
    OpenSSH 的服务器端配置文件是 /etc/ssh/sshd_config,默认的配置文件在多数情况下应该可以胜任。如果要进行更细致的定制,请阅读 sshd 的手册页。

    7.3.1.3 配置OpenSSH客户端
    客户端需要安装有 openssh-clients 和 openssh 软件包,才可以连接到 OpenSSH 服务器上。
    OpenSSH 客户端的配置文件是 /etc/ssh/ssh_config,允许通过设置不同的选项来改变客户端程序的运行方式。有兴趣的用户可以查看 ssh 的手册页。

    7.3.1.4 使用ssh命令
    ssh 命令是 rlogin、rsh 和 telnet 命令的安全替换。它允许用户登录远程机器并在其上执行命令。
    使用 ssh 登录远程机器和使用 telnet 相似。
    例如:登录到一个名为 example.test.com 的远程主机,在 shell 提示下键入下面的命令:
    ssh example.test.com
    第一次使用 ssh 登录远程机器时,会看到和下面相仿的消息:
    The authenticity of host ´example.test.com ´ can´t be established.
    RSA key fingerprint is 94:68:3a:3a:bc:f3:9a:9b:01:5d:b3:07:38:e2:11:0c.
    Are you sure you want to continue connecting (yes/no)?
    键入 yes 继续,把该服务器添加到你的已知主机列表中。下一步,会询问用户在远程主机上的口
    令。正确输入口令后,就会在远程主机的 shell 提示符下了。
    如果登录时没有指定用户名,本地客户机登录远程机器时用的用户名就会被传递给远程机器。如
    果想指定不同的用户名,使用下面的命令:
    ssh username@example.test.com 或 ssh -l username example.test.com
    使用 ssh 后需要用“exit”命令退出登录。
    ssh 命令还可以不经登录而在远程机器上执行命令。它的语法格式是:ssh hostname command。例如,如果想查看远程主机 example.test.com 上 /usr/share/apps 目录下的内容,在 shell 提示下键入命令:
    ssh example.test.com ls /usr/share/apps
    正确的输入口令之后,远程机器 /usr/share/apps 目录下的内容就会被显示,然后返回到本地 shell 提示下。

    7.3.1.5 使用scp命令
    scp 命令可以通过安全、加密的连接在机器间传输文件。它的使用与 rcp 相似。
    把本地文件传输给远程机器的一般语法是:
    scp localfile username@remotehostname:/remotefile
    localfile 指定本地源文件,username@remotehostname:/remotefile 指定远程目标文件。
    要把本地文件 file1 传送到用户在 example.test.com 上的主目录中,在 shell 提示下键入:
    scp file1 username@example.test.com:/home/username
    把远程文件传输给本地系统的一般语法是:
    scp username@remotehostname:/remotefile /localfile
    remotefile 指定远程源文件,localfile 指定本地目标文件。
    源文件可以由多个文件组成。例如,要把目录 /downloads 的内容传输到远程机器
    example.test.com 上现存的 uploads 目录,键入下列命令:
    scp /downloads/* username@example.test.com:/uploads/

    7.3.1.6 使用sftp命令
    sftp 命令是 ftp 命令的安全替换,用来打开一次安全的 FTP 交互会话。它的使用与 ftp 相似,
    只不过,它使用安全、加密的连接。
    sftp 一般语法是:sftp username@hostname。一旦通过验证,就可以使用一组和 FTP 相似的命令。
    请参阅 sftp 的手册页获取这些命令的列表。要阅读手册页,在 shell 提示符下执行 man sftp 命令。

    7.3.1.7 使用RSA/DSA认证
    OpenSSH 不仅是安全的而且是加密的。OpenSSH 的一个更加吸引人的特性是其功能组件----
    RSA/DSA 密钥认证系统,它可以代替 OpenSSH 缺省使用的标准安全密码认证系统。
    RSA 和 DSA 认证协议基于一对专门生成的密钥(公钥和私钥)的来认证用户。经过适当的配置,
    能够不必提供密码就同远程机器建立安全的连接。
    RSA 和 DSA认证需要一些初始配置。要设置 RSA和 DSA认证,首先需要生成一对密钥,一把私钥和一把公钥。公钥用于对消息进行加密,只有拥有私钥的人才能对该消息进行解密。公钥只能用于加密,而私钥只能用于解密由匹配的公钥编码的消息。
    Red Flag Server 4.1 默认使用 SSH 协议2和 RSA 密匙。钥匙必须单独为每个用户生成。要为某
    用户生成密匙,用将要连接到远程机器的用户身份来执行下面的步骤。如果以 root 身份执行下列步骤,就只有 root 用户才能使用这对密匙。
    生成 RSA 密钥对
    1、 要生成 RSA 密匙对,先在 shell 提示符下键入下列命令:
    ssh-keygen -t rsa
    2、 当要求输入存放密钥的位置时,按回车键接受 ~/.ssh/id_rsa 的默认位置。接下来输入一个
    与用户帐号口令不同的口令,再输入一次以确认。
    3、 命令完成后,公钥被写入 ~/.ssh/id_rsa.pub;私钥被写入 ~/.ssh/id_rsa。注意:一定不要把私钥出示给任何人。
    4、 使用 chmod 755 ~/.ssh 命令改变用户主目录下 .ssh 目录的许可权限。
    5、 把公钥 ~/.ssh/id_rsa.pub 的内容复制到想要连接的远程机器上的 ~/.ssh/authorized_keys
    文件中。如果文件 ~/.ssh/authorized_keys 不存在,可以把 ~/.ssh/id_rsa.pub 文件复制为远程机器的 ~/.ssh/authorized_keys 文件。
    生成 DSA 密钥对
    1、 要生成 DSA 密匙对,先在 shell 提示符下键入下面的命令:
    ssh-keygen -t dsa
    2、 当要求输入存放密钥的位置时,接受 ~/.ssh/id_dsa 的默认位置。接下来输入一个与用户帐
    号口令不同的口令,再输入一次以确认。
    3、 命令完成后,公钥被写入 ~/.ssh/id_dsa.pub;私钥被写入 ~/.ssh/id_dsa。注意:一定不要把私钥出示给任何人。
    4、 使用 chmod 755 ~/.ssh 命令改变用户主目录下的 .ssh 目录的许可权限。
    5、 把公钥 ~/.ssh/id_dsa.pub 的内容复制到想要连接的远程机器中的 ~/.ssh/authorized_keys2
    文件中。如果文件 ~/.ssh/authorized_keys2 不存在,可以把 ~/.ssh/id_dsa.pub 文件复制为远程机器上的 ~/.ssh/authorized_keys2 文件。
    配置ssh-agent
    ssh-agent是一个用于保存私钥的授权代理。只要使用 ssh-add 命令把私钥添加到 ssh-agent 的高速缓存中,ssh 将从 ssh-agent 获取您的私钥,而不会提示要密码了
    1、 在 shell 提示符下,键入下面的命令:
    exec /usr/bin/ssh-agent $SHELL
    2、 然后,键入下面的命令:
    ssh-add
    3、 接着,输入你的密钥口令。如果配置了不止一个密钥对,会被提示输入每个口令。
    4、 当用户注销后,口令就会被忘记。必须在每次登录到虚拟控制台或打开终端窗口时都执行
    这两条命令。
    默认情况下,系统禁止 root 用户通过 ssh 远程登录,只能以普通用户身份登录。
    可以访问 OpenSSH 的官方站点:http://www.openssh.com 获得更多详细的信息。

    7.3.2 PGP
    PGP--Pretty Good Privacy,是一个基于 RSA 公匙加密体系的邮件加密软件。可以用它对您的邮件加密以防止非授权者阅读,它还能在邮件中加上数字签名从而使收信人可以确信邮件的来源。它让用户可以安全地和从未见过的人们通讯,事先并不需要任何保密的渠道用来传递密匙。它采用了审慎的密匙管理,这一种 RSA 和传统加密的杂合算法,用于数字签名的邮件文摘算法,加密前压缩等。
    PGP 的创始人是美国的 Phil Zimmermann。它的创造性在于把 RSA 公匙体系的方便和传统加密
    体系的高速度结合起来,并且在数字签名和密匙认证管理机制上有巧妙的设计。
    如果需要了解关于 PGP 的详细知识,请访问以下的参考站点:http://www.pgpi.org

    7.3.3 OPENSSL
    Openssl 是一个协议独立的加密方案,在网络信息包的应用层和传输层之间提供了安全的通道。
    一些服务器软件,例如 IMAP、POP、Samba、FTP、Apache 等等,在提供服务时需要对用户进行认证,只有认证通过后服务才会被许可。然而对于 server/client方式的服务,客户端和服务端之间通讯都是以明文方式进行的,Openssl 正是提供了对传输的数据的一种加密方式。
    Openssl 可以安装在 Linux 服务器上,它需要一些第三方提供的应用程序来为服务提供加密。简
    单说来,就是 HTML 或 CGI 经过幕后的服务器进行了加密处理,然而对 HTML 和 CGI 的作者来
    说是透明的。
    Openssl 软件包提供了 SSL(Secure Sockets Layer)及 TLS(Transport Layer Security)协议的加
    密保护,而且提供了 apache 方式的许可证,从而强化了 HTTP 服务器的安全性。
    可以访问 Openssl 的官方网址:http://www.openssl.org/ 获得更多、更新的信息。

  25. ming 于 2005-07-11 00:25:18发表:

    第7章 系统安全
    随着现代通信技术的迅速发展,Internet 使用范围不断扩大、用户人数也在不断增加,而 Internet 上任何一台计算机都可能成为网络黑客试图攻击的对象。对于企业和关键应用领域的服务器系统来说,安全问题就显得更为重要。本章主要介绍 Red Flag Server 4.1 的系统安全管理策略。

    7.1 系统安全概要

    网络服务器作为 Internet/Intranet 上的关键设备,往往储存了大量的重要信息,或是向大量用户提供重要服务,一旦遭到破坏,后果是很严重的。所以网络建设者和管理员应认真对待安全方面的问题,以保证服务器的正常运行。

    7.1.1 安全管理组成
    Linux 系统安全包括3个要素:物理安全管理、普通用户安全管理和超级用户安全管理。
    1、物理安全
    保证放置计算机的机房的安全,必要时需加报警系统,同时应提供软件备份方案,把备份好的软件放在安全的地点;
    保证所有的通信设施(包括有线通讯线、电话线、局域网、远程网等)都不会被非法人员监听;
    钥匙或信用卡识别设备、用户口令和钥匙分配、文件保护、备份或恢复方案等关键文档资料要保存在安全的位置。

    2、普通用户安全管理
    系统管理员有责任发现并报告系统的安全问题,当普通用户登录时,其 Shell 在给出提示前先执行 /etc/profile 文件,要确保该文件中的 Path 指定最后搜索当前工作目录;
    系统管理员可定期抽取一个用户,将该用户安全检查结果(用户的登录情况简报、SUID/SGID 文件列表等)发送到其部门及相关人员;
    注意提高安全管理意识。系统管理员应强化安全规则,用户必须遵守个人安全标准,在权限允许在范围内进行操作,也可使用一些提高安全性的工具。

    3、超级用户安全管理
    在日常使用中最好不要使用 root 帐号,以普通用户进入系统可以防止对系统进行破坏性的操作,以 root 身份工作时应保证输入的每个命令的正确性;
    超级用户不要运行其他用户的程序,如有需要,就选用 su 命令进入普通用户帐号;
    经常改变 root 的用户口令;
    设置用户口令的时效;
    不要把当前工作目录排在 PATH 路径表的前边,以免特洛伊木马的侵入,键入 /bin/su 来
    执行 su 命令;
    不要未注销帐户就离开终端,特别是作为 root 用户时更不能这样;
    可以将登录名 root 改成别的名称,使破坏者不能在 root 用户登录名下猜测各种可能的用
    户口令从而非法进入 root 帐户;
    查出不寻常的系统使用情况,如大量地占用磁盘、CPU 时间、进程,大量地使用su 的企
    图,大量的无效登录与到某一系统的网络传输,以及可疑的 uucp 请求;
    保持系统文件安全的完整性,检查所有系统文件的存取许可,要特别注意设备文件的存取
    许可,任何具有 SUID 许可的程序都可能是黑客攻击的对象;
    将磁盘的备份存放在安全的地方;
    查出久未使用的登录帐户,并取消此帐户;
    确保没有无用户口令的登录帐户;
    启动系统记帐、加密、RSA 等安全机制;
    当安装来源不可靠的软件时,要检查源代码和 makefile 文件,查看特殊的子程序调用或命
    令;
    如认为系统已泄密,就设法查出责任人与事故原因,并及时进行补救。

    7.1.2 常见安全问题及对策

    1、 系统安装时的考虑
    在系统安装的分区步骤中,不要只图简单把所有的空间都留给根分区,应该把不同的部分放在不
    同的分区。建议把“/var”和“/tmp”放在不同的分区,如果服务器有较多的用户访问,这几乎是必须
    的。
    另外最好将“/home”和“/usr”也放在不同的分区,这样可以避免由于日志或用户的原因使硬盘
    被占满而导致服务器的性能降低。
    对分区的最后一点建议是如果要提供一种或多种服务,最好要把这个服务有关的内容放在单独一
    个分区,例如:建立一台 WWW 服务器,在分区的时候,可以留一个单独的分区 /www,将来可以用 chroot 提高这种服务的安全性。
    另外,出于安全和性能的考虑,应该在安装时或安装后进行软件包的选择,有些软件对系统提供
    的服务没有用,就不必安装。对服务器系统完成所有的配置工作后,可以将相应的软件包,编译程序包等从系统中删除或保存在活动介质上。

    2、 取消不必要的服务
    一般来说,除了 http、smtp、ssh 之外,其他服务都可以取消,诸如网络邮件存储及接收所用的
    imap/ipop、寻找和搜索资料用的 gopher 以及用于时间同步的 daytime 和 time 等;
    还有一些系统状态报告服务,如 finger、systat、netstat 等,虽然对系统查错和寻找用户非常有用,但也给黑客提供了方便之门,因此,也应考虑全部或部分取消,以增强系统的安全性。

    3、 帐户口令安全
    Linux 采用了将系统管理员和一般用户分开的策略,这种策略保证了系统的健壮性,同时也使
    Linux 下的病毒难以编写(用户编写的程序仅对自己的目录有写权限,而与操作系统的其它部分是隔离开的)。
    首先应该设置 BIOS 口令,其次可以通过修改 /etc/lilo.conf 文件为 Lilo 的单用户模式设置口令
    限制,另外就是系统中用户的口令。
    脆弱的口令是系统不安全的最主要原因,建议用下面的规则选择有效的口令:
    至少要有6个字符,最好包含一个以上的数字或特殊字符;
    口令不能太简单,所谓的简单就是很容易猜出来,避免用自己的名字、电话号码、生日、职
    业或者其它个人信息作为口令;
    不要把口令写在日历上或计算机旁边等别人能看到的地方;
    应该设置口令的有效期,在一段时间之后就要更换口令;
    如果发现有人试图猜测您的口令,而且已经试过多次了,就必须重新设定口令。
    Red Flag Linux 中采用影子口令文件 /etc/shadow 加强用了户帐户的安全管理,并且提供了 PAM 身份验证机制,可以动态地改变身份验证方法和要求;而且通过设定 PAM,还能实现许多安全功能,大大提高系统的安全性。

    4、 对服务器进行设置
    可以采用以下两种防范措施:
    设置机器的 BIOS 选项,将从硬盘以外的启动设为不允许状态,并在 BIOS 上加设口令,使无权用户无法改变其设定;
    为 GRUB 或 Lilo 设置口令,只有输入正确的口令时,才能启动机器;
    只允许超级用户有使用 组合键的权利,或者禁止任何用户使用
    组合键的权利。这样可以有效地阻止用户在本地控制台登录后,使用 来关闭或重启系统,导致服务的中断。

    5、 文件系统安全
    系统中的文件权限通过设置十位的权限标志位实现。所以对一些关键系统文件的属性设置要十分
    小心,以免导致不可挽回的损失。
    带有文件的附加权限位 SUID 与 SGID 的程序运行时会引起很大的安全漏洞,应该尽量减少使
    用机会。系统管理员应该经常使用 find 命令来浏览自己的文件系统以检查新的 SUID 程序。
    此外,可以用 chattr 命令来改变文件的属性,这里主要注意的是两个属性。
    a 只可添加属性; i 不可改变属性;
    对于系统的配置文件,最好设置为不可改变属性,而对于一些日志文件,可设置为只可添加属性。
    参见下面的示例:
    chattr +i /etc/xinetd.conf
    chattr +a /var/log/secure
    如果要去掉这些属性,将上面命令中的“+”号改为“-”号即可。
    6、 保持最新的系统核心
    Kernel 是 Linux 系统的核心,它常驻内存,实现基本的操作系统功能,它的安全性对整个系统
    的安全至关重要。
    系统管理员可以通过编译核心,只选择必要的功能,这样即可以节约系统资源,又防止了可能的
    系统漏洞。
    在 Internet 上或是来自软件发行商经常会有最新的安全修补程序发布,系统管理员也应及时查阅
    新的修补程序,维护系统的安全运行。
    定期对服务器进行备份、正确使用系统的加密设定、架设网络防火墙与采用一些系统监视工具、
    入侵检测工具等都是保护系统和网络安全的重要手段,我们将在本章和《Red Flag Server 4.1 网络管理手册》中分别讨论如何实现这些功能。

    7.2 系统备份
    世界上没有百分之百的安全,为了防止不可预料的网络攻击、系统硬件故障或用户的非法操作而
    发生数据丢失,系统管理员必须制订一个备份计划,并定期对系统进行安全备份,以便在系统万一崩溃时,可以及时将系统恢复到最佳状态。

    7.2.1 备份前的准备
    选择备份介质
    有很多介质可以用来进行数据备份,目前比较常用的备份介质有软盘、磁带机、光盘和硬盘。对
    于少量数据的存储,软盘就可以解决问题,但在有大量数据的情况下,就需要光盘等介质了。用户需要根据自己系统备份计划的实际情况,从可靠性、速度、可用性、易用性和费用成本几个方面考虑来进行备份介质的选择。
    进行备份的时机
    进行系统备份要定期执行,备份通常应该选择在系统比较空闲时进行,以免影响系统处理正常任
    务,如可以选择在 0:00 之后进行。
    进行系统备份也不可能完全依赖于管理员的手工操作,可以使用 Red Flag Server 4.1 系统的任务计划功能方便的完成,具体参见本手册 第四章4.2节:管理任务计划。
    备份策略的选择
    1、 完全备份
    每隔一定时间对系统进行一次全面备份的方法,是最基本的备份方案。但这样做工作量很大,又
    需要过多的备份介质,因此不能频繁地进行全面备份,要隔一段较长时间,如一个月,进行一次完整备份。但这样一旦发生数据丢失,就只能恢复到上次备份的数据。
    2、 增量备份
    先进行一次完全备份,然后每隔一个较短时间进行一次备份,仅备份在这个期间更改的内容。当
    经过一个较长时间的积累后再进行一次完全备份。这样每次备份的工作量小,能够频繁操作,而且也比较经济。
    3、 更新备份
    与增量备份方式有些相似。首先每月进行一次完全备份,然后每天进行一次更新数据的备份。不
    同之处是:增量备份是备份该天更改的数据,而更新备份是备份从上次进行完全备份后更改的全部数据文件。一旦发生数据丢失,可以使用前一个完全备份恢复到前一个月的状态,再使用前一个更新备份恢复到前一天的情况。
    增量备份和更新备份都能以较为经济的方式实现,在不同备份策略之间进行选择不但与系统数据
    更新的方式有关,也依赖于管理员的习惯。
    备份工具的选择
    有许多工具可用于制作备份。Red Flag Server 4.1 中提供了传统的 tar、bzip2、gzip、cpio 等工具,当然也可以使用其他第三方的软件包。

    7.2.2 常用备份命令
    有时候,我们需要把一组文件贮存成一个文件以便备份或传输到另一个目录甚至另一台计算机上。
    我们还需要把一组文件压缩成一个文件,因而它占用少量的磁盘空间并能更快地通过网络上下载。
    下面介绍 Linux 下最常用的归档压缩工具 tar、bzip2、gzip 和 zip。

    7.2.2.1 tar命令
    利用 tar 可以将文件和目录归档,也可以在 档案中改变文件,或者向档案中加入新的文件。tar 最
    初被用来在磁带上创建档案,现在则可以在任何设备上使用。tar 命令实现把一大堆文件和目录全部打成一个包的功能,这对于备份或将几个文件组合成一个文件以便网络传输是非常有用的。
    tar 命令的语法格式为:
    tar [主选项+辅助选项] 文件或目录
    使用时,主选项是必须的,辅助选项可以选用。主选项主要包括:
    c: 创建新的档案文件。如果用户想备份一个目录或是一些文件,就选择此选项。
    r: 把要存档的文件追加到档案文件末。如用户已完成备份文件,又发现还有一部分文件或目录
    忘记了,就可以使用此选项。
    t: 列出档案文件的内容,查看已经备份了哪些文件。
    u: 更新文件。即用新增的文件取代原备份文件,如果在备份文件中找不到要更新的文件,则把
    它追加到备份文件的最后。
    x: 从档案文件中释放文件。
    辅助选项主要有:
    b: 为磁带机而设定,其后跟一数字,用来说明区块的大小。
    f: 使用档案文件或设备,此选项通常为必选项。
    k: 保存已存在的文件,使用户在还原文件中,遇到相同的文件不会进行覆盖。
    m: 在还原文件时,把所有文件的修改时间设定为现在。
    M: 创建多卷的档案文件,以便在几个磁盘中存放。
    v: 详细报告 tar 处理的文件信息。
    w: 每一步都要求确认。
    z: 用 gzip 来压缩/解压缩文件,加上此选项后可以将档案文件进行压缩,还原是地一定要有该
    选项才能进行解压缩。
    例1:把 /home 目录包括其子目录全部做成备份文件 home.tar。
    # tar cvf home.tar /home
    例2:把 /home 目录包括其子目录全部备份并进行压缩,生成文件名为 home.tar.gz。
    # tar czvf home.tar.gz /home
    例3:把 home.tar.gz 文件还原并解压缩。
    # tar xzvf home.tar.gz
    例4:查看 home.tar 文件的内容,并以分屏方式显示在屏幕上。
    # tar tvf home.tar |more
    例5:在软盘 /dev/fd0 中创建一个备份文件,将 /tmp 目录中所有的文件都拷贝进来。
    # tar cf /dev/fd0 /tmp
    要恢复设备磁盘中的文件,则可使用 xf 选项。
    当需要备份的文件大小超过设备的可用存储空间时,可以创建一个多卷的 tar 文件,使用 M 选
    项向一个软盘存储过程中,系统在一张软盘已满时会提示放入新的软盘,以实现把 tar 档案存入多张磁盘中。如
    # tar cMf /dev/fd0 /home

  26. ming 于 2005-07-11 00:24:59发表:

    第6章 使用Vi编辑器
    Vi 自产生以来,历经不断革新,现在最新版的 Vi 已经具有很强大的功能,使用户能够更加轻松、
    便捷地使用它。

    6.1 vi的工作模式

    6.1.1 命令模式

    开始进入 Vi 时处于命令模式,如果已经处于插入模式或末行模式,按 键可以回到命令
    模式。在这种模式下,只能用按键指令,不能输入文字。

    6.1.2 插入模式
    插入模式就是要把文本插入到要编辑的文件,插入位置根据所用的命令不同而不同。从命令模式
    进入插入模式需要键入 i、a、o、r 及 I、A、O、R 等命令。在完成文本的输入后,必须用 键返回命令模式。

    6.1.3 末行模式
    末行模式因命令出现在屏幕的最底部一行而得名。在命令方式下,键入某些特殊字符,如 /、?、:
    等,光标跳到屏幕末行并显示键入的末行字符,此时键入命令后回车,vi 会根据需要在末行显示出一定的响应信息,同时将自动回到命令状态。

    6.2 Vi编辑文件的基本过程
    在命令行键入 vi testfile,其中 testfile 代表要打开的文件名,如果文件不存在,vi将自动新建
    一个名为 testfile 文件。
    进入 vi 后,按 i 进入插入模式,就可以编写文件了,光标可以由方向键来移动。 键可以删去前一个字符。
    如果已写好文件,就可以按 回到命令模式,然后用 存档(注意,是冒号命令),这
    时还不会离开vi,要离开可按 :q,也可以合起来用 q,代表保存后离开。

    6.2.1 光标的移动
    注意:本节所述都是在命令模式下的操作。

    6.2.1.1 基本的光标移动
    左 h Backspace 或 左方向键
    下 j Enter 或 + 或 下方向键
    上 k - 或上方向键
    右 l Space 或 右方向键
    向下翻页 Ctrl+f PageDown
    向上翻页 Crtl+b PageUp
    6.2.1.2 复杂光标移动
    0 移至行首,或是
    ~ 移至第一个非空白字符
    $ 移至行尾,或
    G 移至文件尾(最后一行的第一个非空白字符处)
    gg 移至文件首(第一行第一个非空白字符处)
    w 移至下一个字首
    W 同上,但会忽略一些标点符号
    e 移至前一个字字尾
    E 同上,但会忽略一些标点符号
    b 移至前一个字字首
    B 同上,但会忽略一些标点符号
    H 移至屏幕顶部第一个非空白字符
    M 移至屏幕中间第一个非空白字符
    L 移至屏幕底第一个非空白字符
    n| 移至第 n 个字符处
    :n 或 n G 移至第 n 行行首,注:n表示具体数字,如1,2,3……
    ) 移至下一个句首
    ( 移至上一个句首
    } 移至下一个段落首
    { 移至上一个段落首

    6.2.2 基本编辑指令

    6.2.2.1 进入插入模式指令
    i 在光标所在字符前开始输入文字(insert)
    a 在光标所在字符后开始输入文字(append)
    o 在光标所在行下开一新行来输入文字(open)
    I 在行首开始输入文字
    A 在行尾开始输入文字
    O 在光标所在行上开一新行来输入文字
    J 将下一行整行连接到本行(joint)

    6.2.2.2 删除指令
    x 删除光标所在处的字符。也可用 键。
    X 删除光标所在位置前的字符。
    dd 删除一整行。
    dw 删除一个字(delete word)。
    dG 删至文件尾。
    D 删至行尾,或d$(含光标所在处字符)。

    6.2.2.3 取代及还原
    r 取代光标所在处的字符。
    R 取代字符直至按 < Esc > 为止。
    cc 取代整行内容。或大写 S 亦可。
    cw 替换一个英文字。
    ~ 光标所在处之大小写转换。
    C 取代至行尾,即光标所在处以后的字都会被替换。或 c$。
    c0 取代至行首,或 c~。
    u 撤销前面的操作,即 undo,撤销的次数是没有限制的。
    U 在光标没离开本行之前,回复所有编辑动作。

    6.2.2.4 复制
    Yy 复制光标所在行整行。或一个大写Y。
    2yy 或 y2y 复制两行。
    y~ 复制至行首,或 y0 ,不含光标所在处字符。
    y$ 复制至行尾。含光标所在处字符。
    Yw 复制一个字。
    Yg 复制至文件尾。
    y1G 复制至文件首。

    6.2.2.5 查找与替换
    查找
    / 在命令模式的情形下,按 / 会在左下角出现一个 / ,键入要查找的字串,按回车开始查找。
    ? 和 / 相同,只是 / 是向前(下)找,? 则是向后(上)找。
    n 继续查找。
    N 继续寻找(反向)。
    * 寻找光标所在处的字(要完全符合)。
    # 同上,但 * 是向前(下)找,# 则是向后(上)找。
    g* 同 *,但部分符合即可。
    g# 同 #,但部分符合即可。
    替换
    :[range]s/pattern/string/[c,e,g,i]
    用 string 替代 pattern。Range 指的是范围,1,7指从第一行至第七行,1,$ 指从第一行至最后一行,也就是整篇文章,也可以 % 代表;c 每次替换前会询问;e 不显示error;g不询问,整行替换;
    i不分大小写。

    6.2.3 离开
    :q 如文件有修改而没保存,会警告,且无法离开。
    :q! 放弃所有修改,强迫离开。
    q 保存文件后离开,即使文件没有修改也会再保存一次。
    :x 保存文件后离开,但如果文件没有修改,则不会做保存的动作。
    :ZZ 和 :x 完全一样。
    另存,不加文件名就是写入原文件。

  27. ming 于 2005-07-11 00:24:42发表:

    第5章 软件包管理
    通常 Linux 下的应用软件包有以下三种类型:

    tar包
    由 Unix 系统的打包工具 tar 制作,如 example-1.2.3-1.tar.gz。

    rpm包
    RedHat 公司提供的一种软件包封装格式,如 example-1.2.3-1.i386.rpm。

    dpkg包
    Debain Linux 提供的一种包封装格式,如 example-1.2.3-1.i386.deb。
    通常用 tar 打包的都是源程序,用 rpm、dpkg 打包的则是可执行程序。一般一个软件会提供多种打包格式的安装程序,用户可以根据情况选择使用。自己编译安装源程序具有更大的灵活性,但初
    级用户可能会遇到一些困难;而可执行程序包能够更容易地完成安装。
    本章先简单介绍如何使用 shell 命令安装和管理系统中的应用程序和软件包,之后详细说明如何使用图形化的软件包管理工具在桌面环境下安装和管理 rpm 软件包。

    5.1 使用rpm命令
    rpm 是一个功能十分强大的软件包管理系统,它使 Linux 下安装、升级和删除软件包的工作变得
    简单容易,并且具有查询、验证软件包的功能。与图形化工具相比,使用命令行可以获得更大的灵活性。
    以下的例子都以 example-1.2.3-1.i386.rpm 代表对象软件包的名称。

    5.1.1 安装、升级和更新
    应用下面三个参数为系统安装软件包:
    rpm -i 安装一个新的软件包
    rpm -U 升级一个软件包,如果系统中原来不存,就进行安装
    rpm -F 更新一个软件包,如果系统中原来不存在,就不进行安装
    经常和这几个参数配合使用的参数包括:
    -v 查看安装过程中的各种信息
    -h 在安装过程中显示进度条
    一个常用的命令形式如下:
    rpm -Uvh example-1.2.3-1.i386.rpm
    这个命令将升级或安装软件包,同时显示安装信息和进度条。

    5.1.2 删除
    删除一个软件包的命令是:
    rpm -e example
    删除时使用的是软件名,而不是软件包的全称。

    5.1.3 查询

    列出用户已经安装的RPM包清单
    如果想查询系统中所有已经安装的 RPM 包,使用 rpm -qa 即可输出所有已安装 RPM 包的列表;
    如果是查看某个已经安装的软件包,则使用 rpm -q example 命令。

    查看一个RPM包中包括的文件
    想要查看某个软件包中包含的文件清单,有下面两种方法:
    a) 如果是未安装的软件包,则使用
    rpm -qlp example-1.2.3-1.i386.rpm
    b) 如果是已安装的软件包,请使用
    rpm -ql example

    确定某个文件属于哪个RPM包
    如果遇到了一个不认识的文件,要找出它属于哪个软件包,则首先记录这个文件的完整路径(绝
    对路径),然后输入以下命令:
    rpm -qf filename

    查询RPM包的用途
    用户可以在安装或使用时查询每个软件包的用途、版本及其它信息,使用如下的命令完成查询:
    rpm -qip example-1.2.3-1.i386.rpm

    5.1.4 验证
    验证一个软件包,就是比较原始包和已安装软件包中文件的信息。具体来说,这些信息包括每个文件的大小、MD5校验和、访问许可权、类型以及所属的用户和组等。
    使用命令 rpm -V 可以验证一个包,下面是常用的几种情况:

    验证包含某个特殊文件的软件包
    rpm -Vf filename
    验证所有已安装的软件包
    rpm -Va
    上面介绍是几个常用的 RPM 命令,关于 RPM 工具的更多资源,请参看相关的 man手册页;还可以在以下的网址 http://www.rpm.org 获得 RPM 的最新资源。

    5.2 安装tar格式的软件包
    *.tar.gz 形式的二进制软件包是用 tar 工具来打包,用 gzip 程序压缩的,安装时需要先解开压缩
    包,其安装过程分为如下几个步骤:
    1、 获得应用软件:可以通过网络下载、光盘或其它渠道得来;
    2、 解压缩文件;
    一般的 tar 包,都会再做一次压缩,常见的是 gzip 压缩,用“tar -xvzf *.tar.gz”,就可以完成
    解压和解包工作;
    3、 阅读附带的 INSTALL 和 README 文件;
    4、 执行“./configure”命令为编译做好准备;
    5、 通过后,将生成用于编译的 makefile 文件,运行“make”命令开始进行编译;编译的过程视软件的规模和计算机性能的不同,所耗费的时间也不同; 6、 执行“make install”命令完成安装;
    7、 执行“make clean”命令删除安装时产生的临时文件。
    怎样运行安装后的应用软件呢?一般来说,Linux 下的应用软件可执行文件存放在 /usr/local/bin
    目录下,但这也不是绝对的,最好的方法是查看该软件所附的 INSTALL 和DEADME 文件,其中会有明确的说明。
    与安装 RPM 软件包相比,用户自己编译安装源程序虽然具有灵活的可配置性,但编译过程中可能会遇到很多问题,它适合于有一定开发经验的用户,一般不推荐初学者使用。

    5.3 软件包管理器
    Red Flag Server 4.1 系统中提供了一个全新的图形化软件包管理工具,能够帮助用户轻松地对
    rpm 形式的软件包进行安装、升级、卸载、验证、查询、删除等操作。
    在控制面板的“系统配置”窗口中,双击“软件包管理器”图标打开软件包管理器;也可以直接用命令 rpmmanager 启动。
    程序主界面包括三个标签页,其功能分别如下:
    用户软件包
    管理除系统发行光盘所含软件包以外的用户自行安装、更新的软件包。
    系统软件包
    管理 Red Flag Server 4.1 发行光盘中包含的所有软件包。
    其他工具
    完成 rpm 包查询及系统软件包更新。

    5.3.1 用户软件包管理
    软件包管理器的“用户软件包”标签页,该窗口显示了除系统发行光盘中提供的软件包外,用户自己安装的软件包列表。
    每一个软件包的基本信息(名称、版本、大小、概要说明)已经列出,如果想得到更详细的说明,
    只要双击该软件包,调出下图5-2所示的信息窗口。
    系统会维护一个所有已安装的软件包和文件的数据库,这些信息都来自于它。

    5.3.1.1 安装用户软件包
    用户经常会在系统中安装一些新的应用软件,这些应用软件可以是从某些网站上下载得来,也可
    以来自光盘或其它渠道;
    在“用户软件包”标签页中,点击“安装其他软件包”按钮,系统将调出 RPM 软件包安装工具
    帮助用户完成软件包安装。
    点击工具栏中的“打开”按钮,在弹出的文件浏览窗口中选择要安装的一个或多个 RPM 包,按
    “确定”后,所选的软件包将显示在窗口左侧的列表中。如果不想安装某个软件包,可以点击工具栏
    中的“去掉”按钮取消对该软件包的选择。
    确认后,按下工具栏中的“安装”按钮,开始安装选中的软件包,安装程序会对配置文件进行特别处理,并自动检查软件包之间的依赖关系。
    下一个界面将提示安装已完成,点击“确定”按钮,结束安装过程。

    5.3.1.2 删除用户软件包
    要删除不再使用的软件包,在“用户软件包”窗口列表中选择将删除的软件包项,按下“卸载软
    件包”按钮,正式开始删除前还会出现确认对话框,确认无误后按下“开始删除”按钮。
    程序会检查被删除软件包与其它软件包之间的依赖关系,如果要忽略依赖关系强制删除的话,将可能造成依赖于该软件包的程序无法运行。

    5.3.2 系统软件包管理
    系统软件包是指 Red Flag Server 4.1 发行光盘中所包含的全部软件包,该模块用于给出当前计算机中所安装系统软件包的信息,并对系统软件包的安装、更新、删除进行管理。图5-5是“系统软件包”标签页的界面。
    界面上方按系统软件包的分组列出了每个软件包组的安装情况,即该组包括软件包的总数和已安
    装数。
    界面下方窗口中列出了对应软件包组中包含的系统软件包在当前系统中的安装情况,包括软件包
    名称、版本、大小等。
    如果软件包已经安装,则状态显示为 ,软件包名称前的小方框标记为 (选中);如果系统中尚未安装某软件包,则状态显示为 ,软件包名称前的小方框标记为 (未选中)。

    5.3.2.1 安装系统软件包
    要将未装的系统软件包安装到系统中,首先需要把包含该软件包的 Red Flag Server 4.1 光盘放在光驱中,然后,把软件包列表中要安装软件包名称前的标记置为 (选中),按“安装/卸载系统”按钮,启动 RPM 软件包安装工具开始安装,步骤与5.3.1.1节中的描述相似。
    安装完成后,窗口中的软件包标记将显示为 。

    5.3.2.2 删除系统软件包
    要删除已安装的软件包,请把列表中对应软件包名称前的标记置为 (未选中),按“安装/卸载
    系统”按钮,开始卸载系统软件包。与用户软件包的删除一样,会出现删除确认对话框,确认后按“开始删除”按钮。
    卸载完成后,窗口中软件包标记将显示为 。
    程序会检查被删除软件包与其它软件包之间的依赖关系,如果要忽略依赖关系强制删除的话,将可能造成依赖于该软件包的程序无法运行。

    5.3.3 其他
    在“其它工具”标签页中,可以完成在系统中进行 RPM 查询和更新系统操作。

    5.3.3.1 RPM查询
    选择“查找RPM包”,在文本框中输入要查找的RPM包名称或名称中的几个字符,按“查找”按钮,系统中符合条件的软件包将在窗口中列出。
    选择“查找文件所属RPM包”,在文本框中输入文件的位置,注意,必须是绝对路径。该文件所属的软件包将在窗口中列出。

    5.3.3.2 更新系统
    Red Flag Server 4.1 支持多种升级方式,图5-7所示的升级工具帮助用户完成系统的升级。
    首先选择升级方式,具体如下:
    从光盘驱动器
    将升级盘放入光驱中,工具将识别并引导系统更新到新的升级版本。
    从指定位置
    输入或选择要升级的软件包在本地硬盘上所属目录的绝对路径。
    从网络
    从红旗网站上升级系统,升级工具将检测网站上所有可以升级的软件包。
    按“下一步”继续,(如果选择的是从网络升级,升级工具会首先列出网站上所有可以升级的软
    件包供用户选择,选择并确认后按“下一步”,系统会将选定的软件包下载到一个本地的临时目录中),接下来的步骤对三种升级方式来讲都是相同的,操作方法类似与5.3.1.1节中的安装用户软件包,确认需要更新的软件包后开始执行更新操作。

  28. ming 于 2005-07-11 00:24:20发表:

    4.7 任务管理器


    任务管理器提供计算机上正在运行的程序和进程等信息。它可以使用多达26个参数评估正在运行的进程;也可以作为监视计算机性能的关键指示器,显示反映 CPU 和内存使用情况的图形和数据。
    如果计算机与网络连接,则可以查看网络状态和网络运行情况。此外,如果有多个用户连接到计算机上,可以查看连接用户是谁、在做什么,还可以给他们发送消息。
    任务管理器的主界面。其中包括“应用程序”、“进程”、“性能”、“网络”和“用户”五个标签页,用鼠标单击标签进行不同项目的切换。
    通过选择“查看刷新速度”子菜单中的选项,可以更改任务管理器中数据自动更新的频率。其
    中:“高”代表每两秒一次,“标准”代表每五秒一次,“低”代表每十秒一次,“暂停”则表示暂时固
    定数据的更新显示。

    4.7.1 应用程序
    “应用程序”标签页显示计算机上正在运行的程序的状态。
    启动新程序
    单击“应用程序”窗口中的“新建任务”按钮,将弹出“运行命令”对话框。
    在命令文本行中键入或选择要启动程序的名称,然后单击“运行”。
    终止正在运行的程序
    在“应用程序”窗口所示的列表中,选择要终止的程序,然后单击“结束任务”按钮。
    “结束任务” 操作将导致该应用程序中任何未保存的数据或所作更改被丢失。

    4.7.2 进程
    “进程”标签页显示了计算机上正在运行的进程信息。窗口中显示了包括进程名称、
    进程号、CPU 和内存使用情况、页面错误、句柄计数等信息。您还可以根据需要定制其他希望显示的参数。
    进程计数器列标题
    在“进程”标签页中,可以使用多个计数器监视正在运行的进程,这些计数器可以显示为列标题。
    要定制进程显示的列标题,请在“查看”菜单中单击“选择列”。在弹出的对话框中选中要显示为进程列标题的对应复选框。
    进程列表排序
    在“进程”标签页中,单击列标题将按照升序或降序对进程完成排序。
    终止进程
    在“进程”列表中,选择要结束的进程,然后单击“结束进程”按钮。
    执行终止进程操作要小心!如果结束应用程序进程,将会丢失未保存的数据;如果结束系统服务进程,可能造成系统的某些部分无法正常工作。
    很多进程是由某个父进程创建的,同时它本身又可能包含若干子进程。杀死某一进程时,其所有子进程将消失或僵死。选中窗口底部的“树形显示”复选框,可以清晰地显示出进程以及由它直接或间接创建的所有进程之间的关系。

    4.7.3 性能
    “性能”标签页显示计算机性能的动态概述。
    CPU 使用情况
    表明 CPU 工作时间百分比的图表。该计数器是 CPU 活动的主要指示器。通过它可以知道当前
    使用的处理时间是多少。如果计算机运行较慢,该图表就会显示较高的百分比。
    如果计算机中包含多个 CPU,默认显示的是 CPU 的平均使用时间。您可以在“查看CPU 记
    录”子菜单中选择查看全部 CPU 或某个 CPU 的负载情况。
    CPU 使用记录
    显示 CPU 的使用程度随时间的变化情况的图表。图表中显示的采样情况取决于“查看刷新速
    度”子菜单中的选项。
    选择“查看”菜单中的“显示内核时间”,则会在“CPU 使用”和“CPU 使用记录”曲线图中添加一条红线,用于指示内核操作占用的 CPU 资源数量。
    概要
    计算机上正在运行的打开文件数、线程和进程的总数。
    物理内存
    计算机上所安装的总物理内存,也称为 RAM。“可用数”表示可供使用的内存的容量,“系统缓
    存”显示当前用于映射打开的文件页面的物理内存。
    交换空间
    操作系统使用的 Swap 分区的大小以及使用情况。
    平均负荷
    在过去1分钟、5分钟、15分钟内的系统平均负荷值。
    4.7.4 网络
    只有当网卡存在时,才会显示“联网”标签页。无论是连接到一个还是多个网络,都可以通过该
    窗口查看当前的网络连接状态。
    在此,可以非常容易地查看当前网络连接的通信量。如果计算机上包含有多个网卡,窗口中会显
    示包含所有网卡的列表,以供选择查看每个网卡的网络通信量。
    为了在所有接口的网络通信量图表中都显示可见线条,视图会自动进行缩放,以放大通信量与可
    见带宽的关系视图。这样,在通信量低的情况下,图表的全高可以仅表示可用带宽的0.01%;当通信量高于该级别时,缩放程度将会减小,以便以较低的放大率显示当前通信量视图(例如,显示总可用带宽的10%)。图表上显示的百分比越大,通信量(相对于可用带宽)的放大率就越小。缩放系数显示在图表上。
    此外,还可以定制显示在图表中的列标题。在“查看”菜单中单击“选择列”,在弹出的对话框
    中选中要显示为列标题的对应复选框。参见下图。
    其中:
    接收字节数: 到目前为止该连接上所发送的总字节数。累计,可以重置。
    接收包数: 到目前为止该连接上所接收的总字节数。累计,可以重置。
    网络应用: 网络利用百分比,基于接口的初始连接速度。

    4.7.5 会话监视
    “用户”标签页显示当前正在访问计算机的用户,以及会话的状态与名称。
    “用户名”表示登录计算机的用户名;“控制终端”表示使用该会话的客户终端名称;“登录时间”
    表示用户登录以来的持续总时间;“空闲时间”表示用户自登录以来的空闲状态总时间。
    此外,“会话”标签页还提供了向用户发送消息的功能,在用户列表中选择要向哪一个用户发送
    消息,然后点击“发送信息”按钮,在弹出对话框中输入信息的内容。

  29. ming 于 2005-07-11 00:24:04发表:

    4.4 系统性能监控
    Red Flag Server 4.1 系统性能监控工具用于监视计算机中的资源使用情况:包括系统监视与性能
    警报。
    监视系统性能是维护和管理 Red Flag Server 4.1 系统的重要部分。根据性能数据可以:
    了解工作负荷以及对系统资源的相应影响。
    观察工作负荷和资源使用的变化和趋势,以便计划今后的升级。
    利用监视结果来测试配置更改或其他调整结果。
    诊断问题和目标组件及过程,用于优化处理。
    “系统监视器”和“性能警报”提供有关操作系统特定组件和设计用于搜集性能数据的服务器程
    序所用资源的详细数据。图形显示性能监视数据,当计数器值到达、高于或低于定义的阈值时,警报
    将通过各种通报手段告知用户。
    4.4.1 系统监视器概述
    使用“系统监视器”可以衡量自己计算机或网络中其他计算机的性能,收集并查看本地计算机上
    的实时性能数据,收集和查看大量有关被管理的计算机中硬件资源使用和系统服务活动的数据。可以
    通过下列方式定义要求图形搜集的数据。
    数据类型
    要选择搜集的数据,请指定性能对象、性能计数器和对象实例。一些对象提供有关系统资源(例
    如内存)的数据,而其他对象则提供有关应用程序运行的数据(例如计算机中正在运行的系统进程)。
    数据源
    “系统监视器”可以从本地计算机中搜集数据,它支持根据需要手动采样或根据指定的时间间隔
    自动采样。除了定义数据内容的选项,在设计“系统监视器”视图的外观时还有相当大的灵活性。
    显示类型
    系统监视器支持图形和直方图视图。图形视图为默认视图,提供的可选设置最多。
    显示特征
    可以定义各种视图显示的颜色和比例。
    4.4.2 性能警报概述
    使用“性能警报”可以自动从本地计算机搜集性能数据,可以在计数器上设置警报,从而定义如
    果所选计数器的值超过或低于指定设置,则发送消息、运行程序或记录日志。
    与“系统监视器”类似,“性能警报”支持定义性能对象、性能计数器、对象示例以及设置监视
    有关硬件资源和系统服务数据的采样间隔。
    4.4.3 系统监视器
    在控制面板的“系统配置”页中双击“性能”图标,或者在系统主菜单中选择“管理工具性能”,
    也可以在终端中直接运行命令 rfmon,打开系统性能监视器,主窗口如下图4-17所示。

    图4-17 系统监视器主窗口
    默认情况下显示的是图形视图和工具栏,图形区域为空。只有将计数器添加到图形后,才开始在
    图形区域绘制计数器数值图表。可以选择数据是自动更新或是按要求更新。
    所选计数器的名称及相关信息在该图形下面的列表中显示。该图例显示如下信息:
    性能对象
    性能计数器
    性能对象实例:默认情况下计数器实例按名称和数字索引列出。该索引用一个数字表示。该索
    引使得监视多实例变的容易,例如监视多个处理器。
    每个计数器的图形属性:包括显示颜色和显示比例。
    4.4.3.1 计数器
    计数器是系统监控的基本监视对象,包括以下三个构成元素:
    性能对象 与可以监视的资源或服务相关联的计数器的逻辑集合。系统监视器缺省提
    供以下性能对象:
    Processor----处理器性能,如处理器使用率、中断发生率等。
    Memory----内存性能,如物理内存大小、内存交换率等。
    Network----网络性能,如发送包率,错误包率等。
    Process----进程性能,如进程数据所占内存大小等。
    Disk----磁盘性能,如输入输出数据块总数等。
    Filesys----文件系统性能,如磁盘分区空闲空间百分比等。
    性能计数器 与性能对象相关联的数据项。对于每个选定的计数器,系统监视器都提供
    一个与性能对象定义的某个方面性能相对应的值。如% Processor Time(处
    理器时间)
    性能对象实例 用来区分相同类型的多个性能对象。如第一个Processor。
    4.4.3.2 添加计数器
    在菜单中选择“计数器添加”,或按下工具栏中的“添加”按钮,也可以在主界面右下方的计数
    器实例列表中,单击鼠标右键,选择弹出菜单的“添加”项;将弹出“添加计数器”对话框,如下图
    4-18。

    图4-18 添加计数器
    在“性能对象”中,选择要监视的对象类型。
    可以选择监视“所有计数器”,或者是“从列表选择计数器”,在计数器列表中选择一个或多个要
    监视的计数器。
    如果要监视所选计数器的全部实例,请单击“所有实例”;如果要监视所选计数器的特定实例,
    请单击“从列表选择实例”,再选择要监视的一个或多个实例。
    确定后,单击“添加”按钮,如果要添加其它计数器,重复以上步骤,完成添加后按“关闭”退
    出。
    4.4.3.3 删除计数器
    在计数器实例列表中,选择要删除的计数器,单击鼠标右键,选择弹出菜单中的“删除”项;或
    者选择菜单中的“计数器删除”,也可以直接按工具栏中的“删除”按钮。
    4.4.3.4 计数器显示属性
    系统监视器为每个新添加的计数器提供缺省的显示颜色和显示比例,显示颜色和显示比例可以在
    计数器列表右侧的显示属性框中进行配置。
    单击“显示颜色”按钮,将弹出颜色选择对话框,从中选择合适的颜色,以保证不同的计数器的
    数据显示不会产生混淆。
    系统以10倍为单位提供从 0.0000001 到 10,000,000 共15种显示比例。从中选择合适的比例以
    保证相乘后的计数器数选择据能够全部显示在图形视图中(在0和100之间)。
    4.4.3.5 其它操作
    系统监视器还提供一些和显示、存储有关的操作,可以通过菜单或工具栏进行这些操作:
    清除显示:清除图形视图。注意:计数器集合不会被改变。
    曲线图:以曲线图的方式显示计数器数据。
    直方图:以直方图的方式显示计数器数据。
    新计数器集:清除当前监视的计数器集合。
    存储计数器:将当前监视的计数器集合存储到文件中。
    载入计数器:从计数器集文件中载入所要监视的计数器。
    冻结显示:冻结图形视图的刷新。
    恢复显示:恢复图形视图的刷新。
    更新数据:手动进行采样,并更新图形视图。
    只有在图形视图被冻结时才能使用此功能。

    属性:修改自动间隔时间(缺省为1秒)。
    在计数器实例列表中选择某个计数器,单击鼠标右键,选择弹出菜单中的“属性”项;或者选择
    菜单中的“操作属性”,也可以直接按工具栏中的“属性”按钮。

    图4-19 监视器属性
    将更新间隔数值设置过小可能会使系统生成大量数据,这会导致难以处理并增加监视器

    运行的开销。
    4.4.4 性能警报
    在系统性能监视工具主界面的左侧单击“警报”,显示如图4-20所示的性能警报界面。
    4.4.4.1 添加警报任务
    在菜单中选择“操作添加警告”,或按下工具栏中的“添加警告”按钮,也可以在窗口右侧的性
    能警报任务列表区域单击鼠标右键,选择弹出菜单中的“添加警告”项,将显示如图4-21所示的配置
    窗口,用来添加新的警告。

    图4-21 常规配置
    在“常规”配置页中:
    1、 输入警报任务的名称,这个名称将作为通报信息的一部分用以标识某个警报任务。
    2、 输入警报任务的注释。(可选)
    3、 选择被监视的计数器,具体方法见4.4.3节中的描述。注意:一个监视警报任务有且仅有一
    个计数器与之对应。
    4、 选择报警界限的类型,包括:等于、不等于、大于、小于、大于等于、小于等于。
    5、 选择报警界限。注意:报警界限只能是大于0的整数。
    在“通报手段”标签页(如图4-22)中选择通报手段,当发生警报时,系统将使用所定义的通报
    手段把警报消息通报给用户。
    系统日志
    将警报消息写入系统日志(syslog),缺省的日志类型为LOG_INFO。
    发送电子邮件
    将警报发送到用户指定的邮件地址。
    本机必须有 sendmail 等 MTA 软件运行。目前还不支持直接的 SMTP 连接发送。

    写入日志文件
    将警报写入用户指定的日志文件。如果文件不存在,系统会创建一个。
    执行命令
    警报发生时,执行一个用户指定的程序。
    需要 X-Window 支持的程序不会被运行。


    图4-22 通报手段配置
    设置完成后单击“确认”退出。
    4.4.4.2 删除警报任务
    在警报任务列表中,选择要删除的警报,单击鼠标右键,选择弹出菜单的“删除警报”项;或者
    在菜单中选择“操作删除警报”。
    4.4.4.3 启动系统监视服务
    对警报任务的修改只有在系统监视服务(rfmond)重新启动后才能生效。选择菜单中的“操作
    重新启动”,系统监视服务正常启动后会显示下图所示的运行结果。


    4.5 系统信息查看
    在进行系统管理和配置之前,应该了解如何收集基本的系统信息。系统信息查看工具rfsysinfo 提
    供了对“系统概要信息”、“硬件信息”、“系统参数”和“分区信息”四部分内容的查看,并提供了输
    出功能,可以将获取的信息输出到指定的文件中,便于查阅和保存。
    4.5.1 系统概要信息
    点击主界面左侧的“概要信息”图标或按下工具栏中的“概要信息”图标,或者在菜单中选择“显
    示概要信息”,界面左侧将显示系统概要信息,包括 CPU主频、BIOS、内存大小、主机名、操作系
    统版本信息等等,见下图4-24。 4-24
    4.5.2 系统硬件信息
    点击主界面左侧的“硬件信息”图标或按下工具栏中的“硬件信息”图标,或者在菜单中选择“显
    示硬件信息”,界面左侧将显示系统的硬件信息。
    可以根据需要选择按照“连接”或“类别”两种方式显示系统中连接的各种硬件设备,在菜单中
    选择 “显示按类型显示硬件信息”或“显示按连接显示硬件信息”即可进行切换,工具栏中也提
    供了相应的图标按钮。
    按类型:表示按照硬件本身的种类分类,比如:主板、内存、处理器、磁盘等。
    按连接:表示按照硬件与计算机系统的连接方式分类,比如:slot、PCI、com 等。

    图4-26 按连接显示硬件信息
    4.5.3 系统参数信息
    系统参数指的是系统运行时的一些参数属性和限制,例如:对线程的支持、环境变量的长度等等。
    点击主界面左侧的“系统参数”图标或按下工具栏中的“系统参数”图标,或者在菜单中选择“显示系统参数”,界面左侧将显示出详细的系统参数信息。

    图4-27 系统信息
    4.5.4 系统分区信息
    点击主界面左侧的“分区信息”图标或按下工具栏中的“分区信息”图标,也可以在菜单中选择
    “显示分区信息”,界面左侧将显示是硬盘的分区状况,包括各个分区的名称、大小、文件系统类型
    和用途、是否被加载、使用状况等信息。
    普通用户不可以查看系统分区信息。

    4.5.5 输出功能
    系统信息查看工具提供了简单的输出功能,可以将系统信息输出到指定的文件中。
    点击工具栏中的“输出到文件”按钮,或者在菜单中选择“操作输出到文件”,让您选择希望输出的信息类型和输出文件的路径。(默认情况下选中了所有的类型)。
    输出文件的路径不能为空,否则将出现提示信息提醒您输入。同时,必须选择至少一类
    系统信息用于输出,否则也将出现提示信息提醒您输入。
    正确选择了输出的信息类型和输出文件的路径后,结果将被输出到指定的文件中。可以在文本编
    辑器或 konqueror 中方便地浏览输出的文件,其中的“保存时间”指的是保存该文件时的日期和时间。


    4.6 系统服务管理
    Red Flag Server 4.1 系统启动过程中会根据当前的运行级别启动或者停止一些相应的系统服务。
    系统管理员可以手动启动、停止、重新启动服务;或者修改服务的运行顺序。下面对有关的概念对做一个简单介绍。
    运行级别
    一个运行级别(runlevel)是初始化进程在系统进入某运行级别时需要完成的启动或停止服务,它
    描述了系统能够提供什么服务和不能提供什么服务。运行级别是用数字来定义的,Red Flag Server 4.1
    中定义了7个运行级别,分别如下:
    系统运行级别
    级别 定义
    0 停止系统运行。(不能将其设为默认运行级别)
    1 单用户模式,一般用于特别的系统管理工作,如root口令丢失、文件系统检查等
    2 多用户态,但不支持网络文件系统(NFS)
    3 完全多用户模式
    4 系统保留,未定义
    5 多用户模式,相对3而言,默认以图形界面登录
    6 系统重新启动,(不能将其设为默认运行级别)
    系统中关于初始化(init)进程最重要的配置文件是 /etc/inittab,此文件的结构比较复杂,系统管理员可以通过查看相关文档掌握它的内容。这里给出一个例子:如果希望直接以图形方式登录,可以通过编辑 /etc/inittab 文件的方法,即将其中如下所示的一行:
    id:3:initdefault:
    改为:
    id:5:initdefault:
    以上更改将系统的启动级别设为5,即 X Window 启动方式。系统重新启动后将自动显示图形方
    式的登录界面,在登录对话框中输入正确的用户名和口令会进入 KDE 桌面环境。
    运行顺序一个运行级别中包含一组停止服务和一组启动服务,进入一个新的运行级别时(比如使用 init 0 命令从当前级别切换到0级别,也就是停机),停止服务组中的服务首先被依次停止,然后启动服务组中的服务被依次启动。停止或启动服务的顺序由服务顺序号决定,服务顺序号是一个0到99之间的整数。服务顺序号越小,该服务就越先被启动或停止。不同的服务可以使用同一个服务顺序号。
    系统缺省安装的服务都有各自缺省的启动顺序号和停止顺序号。改变启动顺序号时必须保证该服
    务所依赖的其它服务的顺序号都大于该服务的启动顺序号。改变停止顺序号时必须保证依赖于该服务的其它服务的顺序号都小于该服务的停止顺序号,也就是先启后停。

    4.6.1 运行系统服务管理工具
    系统服务管理工具的主界面窗口中列出了所有的系统服务,对应每个服务有如下属性:
    名称: 该服务的名称,如 httpd。
    描述: 对该服务的简单描述。
    状态: 该服务的运行状态,运行状态包括两种:“停止”和“已启动”。
    启动类别: 服务的启动类别,启动类别包括两种:“自动”和“手动”。
    启动顺序号: 服务的启动顺序号。只有属于所选级别的启动服务组的服务才会显示启动顺序号。
    各服务名称前的图标代表了该服务的类型:
    一次性服务
    特殊服务
    持续性服务
    未知的服务
    启动类别为“自动”的服务会在进入该运行级别之后自动运行,而启动类别为“手动”服务需要用户在系统启动后手工运行。
    服务列表中显示的启动类别与启动顺序号和所选择的运行级别有关,缺省显示的运行级别为运行级别。可以利用“运行级别”菜单切换到不同的运行级别。
    在窗口中选择需要操作的服务,点击鼠标右键显示弹出菜单:
    可以进行如下操作:
    启动: 启动该服务。
    停止: 停止该服务。
    重新启动: 重新启动该服务。
    刷新: 刷新全部系统服务信息。
    属性: 弹出该服务的属性对话框。
    退出: 退出系统服务管理工具。
    以上操作也可以通过 “操作” 菜单或工具栏上的按钮进行。

    4.6.2 启动、停止和重新启动服务
    当进行了启动、停止或重新启动服务操作之后,会弹出消息窗口,显示操作的结果信息。
    弹出信息首先说明对应的操作是否成功,“命令”文本框中显示了该项操作执行的命令,“运行结
    果”显示了命令的系统输出信息。
    启动服务操作成功后,该服务的状态会变为“已启动”;停止服务操作成功后,该服务的状态会
    变为“停止”。
    执行重新启动操作时,该服务首先被停止,然后再启动。操作成功后,该服务的状态会变为“已
    启动”。
    大部分服务需要有超级用户(root)权限才可以运行。如果普通用户执行了启动、停止服务操作,一般会给出“没有执行权限”的错误信息。

    4.6.3 服务属性窗口
    选择某项服务后,选择菜单中的“操作属性”,或者双击该服务都会弹出服务属性窗口。属性窗
    口包括“常规”、“运行级别”、“启动脚本”三个配置选项页。

    4.6.3.1 常规配置
    “常规”配置页如下
    窗口中显示如下信息:
    服务名称: 服务的名称,如httpd。
    简要描述: 对服务功能的简要描述。
    详细描述: 对服务功能的进一步详细描述。
    可执行文件的路径: 该服务所对应的可执行文件的完全路径名。
    启动类别: 该服务的启动类别。
    类型: 显示该服务的类型,包括三种类型:
    持续性服务----启动后持续运行,连续提供某些系统或网络服务。
    一次性服务----启动后完成特定任务后自行终止,一般用于添加设备驱动或加载文件系统。
    特殊服务----指一些提供特殊功能的服务,比如 shutdown。一般情况下最好不要对其进行手工配置。
    状态: 显示该服务当前的运行状态(停止或已启动)。
    在“常规”配置页中,可以执行以下操作:
    改变启动类别
    通过启动类别下拉列表选择了“自动”或“手动”类别后,按“确定”或“应用”按钮使修改生效。
    启动和停止服务
    按“启动”按钮启动该服务。按“停止”按钮停止该服务。

    4.6.3.2 运行级别配置
    运行级别配置页用于配置服务所在的运行级别,可以将服务从某一启动级别的启动/停止服务组中
    加入或者移走。“运行级别”配置页如下图所示: 窗口中显示了系统的当前运行级别以及该服务在不同运行级别的启动服务组和停止服务组中的设置信息。
    可以执行如下操作:
    在某一运行级别的启动服务组中加入/移走该服务
    加入服务:在左下方的“启动级别”复选框中选中相应运行级别号,相应的启动顺序号输入栏变为有效,如果不想使用缺省的启动顺序号,可以在启动顺序输入栏中直接输入顺序号。
    移走服务:在左下方的“启动级别”复选框中将相应级别设置为非选中状态。
    在某一运行级别的停止服务组中加入/移走该服务
    加入服务:在左下方的“停止级别”复选框中选中相应运行级别号,相应的停止顺序号输入栏变为有效,如果不想使用缺省的启动顺序号,可以在停止顺序输入栏中直接输入顺序号。
    移走服务:在左下方的“停止级别”框中将相应级别设置为非选中状态。
    按“确定”或“应用”按钮使修改生效。

    4.6.3.3 启动脚本
    每个启动服务都有一个相对应的启动程序(一般是shell脚本),启动脚本一般支持以下命令行参
    数:
    start: 启动服务
    stop: 停止服务
    restart: 重新启动服务
    status: 显示服务状态
    当需要启动、停止、重新启动服务或查看当前服务状态时,可以使用相应的命令行选项运行启动
    脚本。比如可以使用命令 /etc/init.d/httpd start 启动 apache Web 服务器,或者使用命令
    /etc/init.d/httpd stop 停止 apache Web 服务器。
    启动脚本的内容显示在“启动脚本”配置页中。

  30. ming 于 2005-07-11 00:23:44发表:

    第4章 定制系统管理任务
    本章的重点是系统管理和配置,利用 Red Flag Server 4.1 提供的图形化系统管理工具,可以简便地解决相关的系统管理和配置任务。
    在具体实现上,图形工具通过一个友好的交互界面接受用户的配置命令,并完成相关系统配置文
    件的修改,这样用户可以不必编辑复杂的配置文件,使得系统管理任务变得直观和容易实现。

    4.1 启动系统管理工具

    4.1.1 从控制面板启动
    访问控制面板的方法如下:
    在系统主菜单中选择“系统控制面板”;
    双击桌面上的“我的电脑”图标,打开资源管理器,选择“控制面板”。
    控制面板的“系统配置”标签页中包含了本章所要介绍的系统管理模块,双击图标即要启动相应的管理工具,它们的名称及用途如下。
    任务计划 安排系统和用户自动执行的任务计划
    日志查看器 查看系统的启动、安全、用户、系统和邮件日志
    性能 监视计算机中的资源使用情况
    系统信息查看 详细显示计算机的硬件设备,系统参数,环境变量
    服务 设置系统的运行级别和对应的启动服务选项
    任务管理器 管理计算机在正在运行的任务和进程等

    关于控制面板中其它配置工具的使用方法,请参考 《Red Flag Server 4.1 用户手册》。

    4.1.2 使用菜单或命令启动
    利用系统主菜单或直接输入命令也可以启动对应的系统管理工具,详见下表 菜单和命令
    主菜单项 命令 系统管理用途
    管理工具任务计划 rfcron 安排系统和用户自动执行的任务计划
    管理工具日志查看器 rflogview 查看系统的启动、安全、用户、系统和邮件日志
    管理工具性能 rfmon 监视计算机中的资源使用情况
    管理工具系统信息查看 rfsysinfo 详细显示计算机的硬件设备,系统参数,环境变量
    管理工具服务 rfsysv 设置系统的运行级别,管理系统服务状态等
    管理工具任务管理器 rftask 管理计算机在正在运行的任务和进程等

    4.2 管理任务计划
    使用任务计划程序,可以安排任何脚本、程序在最方便的时候运行。每次启动 Red Flag Server 4.1 时,任务计划程序也会启动,并在后台运行。
    计划执行的任务不可以与 X-window 有关。
    一般,可操作的任务类型分为:
    系统任务:
    自定义任务:root 用户添加的自定义系统任务。
    一次性任务:root 用户添加的一次性任务。
    预定义任务:系统默认任务,分为每月、每周、每日、每小时。
    用户任务:系统用户的任务。
    选择界面左侧任务类型,右边就会显示此任务的队列。
    普通用户只可以在权限允许的条件下添加和管理属于个人的用户任务。超级用户可以不受任何限制地进行计划任务的定制。

    4.2.1 添加任务

    4.2.1.1 添加自定义任务
    “任务计划向导”用于帮助用户添加任务计划,打开该向导的方法如下:
    1、 选择主界面左侧的“自定义任务”,在菜单中选择“操作添加”;
    2、 选择主界面左侧的“自定义任务”,按下工具栏中的“添加”按钮;
    3、 选择主界面左侧的“自定义任务”,单击鼠标右键(或者在主界面右侧窗口空白处单击鼠标右
    键),显示快捷菜单,单击“添加”。
    屏幕上弹出“任务计划向导”首页,点击“下一步”开始设定任务计划。
    在“命令”编辑框中直接输入任务对应的命令或脚本文件,也可以通过单击命编辑框右侧的按钮
    在弹出的文件浏览窗口中选择;然后输入将添加任务的“注释”信息,设置执行该任务的时间。
    假设选择“每月”,单击“下一步”进入每月时间设定窗口。
    在此可以设置任务在一年中的哪几个月份执行,执行的日期/星期以及小时和分钟数。
    如果选择了“每周”,单击“下一步”将进入每周时间设定窗口,可以设置任务在每周的哪些天的什么时间执行。
    如果选择了“每日”,单击“下一步”,将进入每日时间设定窗口,可以设置任务在每天的什么时间执行。
    如果选择的是“其他时间”,单击“下一步”进入其它时间设定窗口。
    时间设定----其他时间
    这种方式对时间的设置更为灵活,在文本框中输入时间以确定任务在哪些月份的星期几或是第几
    天的什么时间执行。输入时间的有效格式和含义如下:

    2-11 从2到11之间的任何整数
    3,4,5,6 用逗号隔开一系列的有效值
    * 匹配任何月/星期/天/小时/分钟的有效值
    2-8/3 / 表示间隔频率。2-8/3用于月份字段中表示在2到8月间每三个月运行一次时间设置完成后,单击“下一步”,向导提示添加的计划任务信息,如果没有问题,单击“完成”按钮。至此,该任务将被添加并显示在任务队列中。

    4.2.1.2 添加一次性任务
    选择主界面左侧的“一次性任务”,单击鼠标右键(或者在主界面右侧窗口空白处单击鼠标右键,
    显示快捷菜单),选择“添加”,弹出界面。 添加一次性任务 .
    设置该任务计划执行的日期、小时和分数,输入要执行任务对应的命令后,按“确定”将任务添
    加到一次性任务计划队列中。

    4.2.1.3 添加预定义任务
    预定义任务用于设置命令或脚本在每小时、每日、每周或每月执行。
    在主界面左侧的“预定义任务”树中,选择将添加的任务类型(每小时、每小时、每日、每周或
    每月),单击鼠标右键(或者在界面右侧窗口空白处单击鼠标右键,显示快捷菜单),单击“添加”,弹对话框。 添加预定义任务 .
    在“任务”编辑栏中输入任务对应的命令或脚本文件,也可以通过单击编辑栏右侧的按钮在弹出
    的文件浏览窗口中选择,点击“确定”按钮后,任务将被添加到队列中。

    4.2.1.4 添加用户任务
    选择主界面左侧用户列表中的用户名,单击鼠标右键(或者在主界面右侧窗口空白处单击鼠标右
    键,显示快捷菜单),单击“添加”,弹出“任务计划向导”。添加步骤与4.2.1.1节所述添加自定义任务相同。

    4.2.2 编辑任务

    4.2.2.1 编辑自定义任务
    点击主界面左侧的“自定义任务”,在界面右侧的任务队列中选中要编辑的任务,单击鼠标右键
    显示快捷菜单后选择“编辑”(也可以双击该任务),弹出任务属性对话框。
    编辑自定义任务,在此不但可以编辑任务的内容、运行时间,还可以修改运行状态。

    4.2.2.2 编辑一次性任务
    点击主界面左侧的“一次性任务”,在界面右侧的任务队列中选中要编辑的任务,单击鼠标右键
    显示快捷菜单,单击“编辑”(也可以双击该任务),弹出图4-8所示对话框,编辑任务后按“确定”
    使修改生效。
    一次性任务的时间是不可编辑的。预定义任务不可以编辑。

    4.2.2.3 编辑用户任务
    点击主界面左侧用户列表中的用户名,在界面右侧的任务队列中选中要编辑的任务,单击鼠标右
    键显示快捷菜单,单击“编辑”(或者双击该任务),弹出任务属性对话框。编辑用户任务与编辑自定义任务相似。

    4.2.3 删除任务

    4.2.3.1 删除自定义任务
    点击主界面左侧的“自定义任务”,在界面右侧的任务队列中选中要删除的任务,单击鼠标右键
    显示快捷菜单,选择“删除”即可。

    4.2.3.2 删除一次性任务
    点击主界面左侧的“一次性任务”,在界面右侧的任务队列中选中要删除的任务,单击鼠标右键
    显示快捷菜单,选择“删除”即可。

    4.2.3.3 删除预定义任务
    点击主界面左侧的“一次性任务”树中的任务类型,在界面右侧的任务队列中选中要删除的任务,
    单击鼠标右键显示快捷菜单,选择“删除”即可。

    4.2.3.4 删除用户任务
    点击主界面左侧用户列表中的用户名,在界面右侧的任务队列中选中要删除的任务,单击鼠标右
    键显示快捷菜单,选择“删除”即可。

    4.2.4 预定义任务时间设置
    预定义任务的执行时间是系统默认的,在菜单中选择“操作设置时间”,或按下工具栏中的“设
    置时间”按钮,弹出图4-9所示的时间配置界面,用于查看或修改此默认值。
    预定义任务时间设定 ,当某类任务不可编辑,表示没有此类预定义任务。例如,“每天”。

    4.2.5 用户限制
    定制用户任务的使用权限可以被限制。选择菜单中的“操作设定用户”,或者按工具栏中的“设
    定用户”按钮,弹出用户设定窗口。
    有三种用户限制方式。
    全部:无限制,系统中的任何用户都可以使用定制用户任务功能。
    只允许:只有其中列出的用户才被允许使用定制用户任务功能。
    只拒绝:所有在其中列出的用户都被禁止使用定制用户任务功能。
    单击用户编辑栏右侧的“…”按钮,弹出用户选择窗口。
    添加或删除用户 ,“系统用户”列表中列出了当前所有的系统用户,选择用户名,点击“添加”按钮将其加入到“被选择的用户”列表中;同样,使用“删除”按钮可以将被选择的用户从列表中删去。
    无论用户限制如何设定,超级用户总是可以使用和定制各种类型的任务计划。


    4.3 日志查看器
    日志文件是系统管理员诊断和解决系统故障的重要依据,Linux 系统的日志文件记载了关于内核、
    服务、应用程序、启动引导等不同类型的系统信息。
    日志查看器 rflogview 中分类显示了启动日志、安全日志、用户日志、系统日志和邮件日志。
    启动日志:记录系统启动的消息。
    安全日志:记录用户登陆经过认证的消息。
    用户日志:记录用户进程产生的消息。
    系统日志:纪录系统进程产生的消息。
    邮件日志:纪录电子邮件系统的消息。
    日志查看器的主界面左侧为日志类型选择窗口,右侧为日志消息列表显示窗口。每一条日志消息都包括如下内容:
    类型 日志消息的类型。包括以下三种类型:
    信息----描述应用程序、驱动程序或服务的成功事件。
    警告----不是非常重要但将来可能出现的问题的事件。
    错误----重要的问题,如数据丢失或功能丧失。
    日期 表示消息发出的日期。
    时间 表示消息发出的时间。
    主机 表示生成消息的计算机的名字。
    来源 表示消息的来源(内核或进程),或者发出消息的程序的名字。
    内容 关于日志消息的详细说明。

    4.3.1 查看日志
    4.3.1.1 显示事件日志
    选择主界面左侧的某种日志类型,界面右侧将会显示此类日志类型的日志事件。如果是第一次显
    示这一日志类型,而且它的事件很多,会弹出消息框,询问是否需要筛选。
    在 消息提示框选择“否”,弹出进度控制窗口。如果此时按下“停止”按钮,将显示已读出的事件;
    否则,到进度100%完成时,控制窗口会自然关闭,主窗口右侧显示出所有的日志消息。
    控制窗口 ,如果选择“是”,将弹出“属性”对话框,通过限制“常规”或“筛选器”中的属性来减少显示
    的事件数量,确定以后进入显示进度控制窗口。
    显示日志事件都是按照筛选器筛选的,默认筛选器会显示全部日志事件。
    当日志事件很多时,日志事件的显示速度会很慢。

    4.3.1.2 刷新事件日志
    日志查看器显示的日志事件只有在执行刷新操作或是经过筛选后才被更新。如果是切换到另一类
    日志后返回到前一类日志,则前面一类日志不会更新。
    一般采用如下方式刷新日志信息:
    1、 选择要刷新的日志类型,点击鼠标右键,在弹出菜单中选择“刷新”;
    2、 选择要刷新的日志类型,按下菜单中的“操作刷新”;
    3、 选择要刷新的日志类型,点击工具条中的“刷新”按钮。

    4.3.1.3 查看日志的详细信息
    点击主界面左侧选择日志类型,在界面右侧的列表中选择要查看的日志事件项双击,将打开事件
    详细信息显示窗口。也可以选择菜单中的“操作事件”,或者单击工具栏上的“事件”按钮。
    要查看前一个或下一个日志事件的详细信息,点击“向前”或“向后”按钮即可。

    4.3.1.4 搜索特定类型的事件
    首先选择将搜索日志事件所属的日志类型,在菜单中选择“操作筛选”,或者单击工具栏上的“筛
    选”按钮。在弹出的“筛选器”窗口中指定要查找的事件,可设置的搜索选项包括:日志消息类型(信
    息/警告/错误)、主机、来源、内容、事件的起止范围。其中“内容”编辑栏中可键入与事件记录描述部分匹配的任何文本。
    搜索条件保留在当前会话中,下次启动事件查看器时将恢复默认设置。要恢复默认的搜索条件,
    单击“缺省”按键。

    4.3.2 管理事件日志

    4.3.2.1 清除事件日志
    不需要的日志事件应及时清除,清除日志后,将只显示新的事件。
    一般采用如下方式清除日志信息:
    1、 选择要清除的日志类型,点击鼠标右键,在弹出菜单中选择“清除”;
    2、 选择要清除的日志类型,按下菜单中的“操作清除”;
    3、 选择要清除的日志类型,点击工具条中的“清除”按钮。

    4.3.2.2 设定日志保存参数
    在日志类型中,单击要设置的日志。点击菜单中的“操作常规”,或者按下工具栏中的“常规”
    按钮,弹出“常规”属性页。此处大小的范围可以是64--99999KB,时间范围是1--52周。
    当日志事件量超出范围时,系统会自己处理,过滤掉超过范围的部分。

  31. ming 于 2005-07-11 00:23:22发表:

    3.6 LVM逻辑卷管理


    LVM 是 Logical Volume Manager 的简写,它为计算机提供了更高层次的磁盘存储解决方案,使系统管理员可以更方便灵活地分配存储空间。

    3.6.1 LVM的优点
    LVM通常用于装备有大量磁盘的系统,但它同样适于仅有一、两块硬盘的小系统。

    3.6.1.1 小系统使用LVM的益处
    传统的文件系统是基于分区的,一个文件系统对应一个分区。这种方式比较直观,但不易改变:
    1、 不同的分区相对独立,各分区空间经常利用不平衡,空间不能充分利用;
    2、 当一个文件系统/分区已满时,无法对其扩充,只能重新分区,或把分区中的数据移到另一个
    更大的分区中,非常麻烦;
    3、 要把硬盘上的多个分区合并在一起使用,只能采用重新分区的方式,需要数据的备份与恢复。
    当采用LVM时,情况会有所不同:
    1、 硬盘的多个分区由 LVM 统一为卷组管理,可以方便的加入或移走分区以扩大或减小卷组的
    可用容量,硬盘空间被充分利用;
    2、 文件系统建立在逻辑卷上,而逻辑卷可在卷组容量范围内根据需要改变大小;
    3、 文件系统建立在 LVM 上,可以跨分区,使用方便。
    3.6.1.2 大系统使用LVM的益处
    在使用很多硬盘的大系统中,使用 LVM 主要是方便管理、增加系统的扩展性。
    在一个有很多不同容量硬盘的大型系统中,为不同用户分配空间是一个技巧性的工作,要在用户
    需求与实际可用空间中寻求平衡。
    用户/用户组的空间建立在 LVM 上,可以随时根据使用情况对各逻辑卷进行调整。当系统空间不
    足而加入新的硬盘时,不必把用户的数据从原硬盘迁移到新硬盘,而只须把新的分区加入卷组并扩充逻辑卷即可。同样,使用 LVM 可以在不停止服务的情况下,把用户数据从旧硬盘转移到新硬盘空间。

    3.6.2 LVM相关概念和术语
    LVM(Logical Volume Manager)
    LVM(逻辑卷管理)是操作系统的一个磁盘管理子系统,是与传统的静态分区完全不同的一种磁盘管理方法。如果下定义的话,就是一系列用于建立和控制逻辑卷区域的操作系统命令、库函数和其
    它工具的集合。
    LVM 把实际的物理磁盘数据映射到一个简单而灵活的虚拟逻辑存储视图上,藉以控制磁盘资源;
    也就是重新考虑了管理文件系统和卷的方法,在文件系统管理中增加了一个额外的抽象层,可以实现虚拟分区或者动态建立一个逻辑卷以及更改卷的大小,允许文件系统跨越磁盘等功能。
    物理存储介质(The Physical Media)
    系统的存储设备:硬盘或硬盘上的分区,如:/dev/sda、/dev/hda1 等等,是存储系统底层的存储单元。
    物理卷(PV):Physical Volume
    硬盘分区或从逻辑上与硬盘分区具有同样功能的设备(如 RAID),是 LVM 的基本存储逻辑块,
    和基本的物理存储介质(如分区、磁盘等)不同的是,其中包含有 LVM 管理参数。
    卷组(VG):Volume Group
    LVM 中的最高抽象层,由一个或多个物理卷组成。可以在卷组上创建一个或多个逻辑卷。
    逻辑卷(LV):Logical Volume
    逻辑卷(LV)在卷组上建立,相当于非 LVM 系统中的分区,可以在其上创建文件系统,如 /home 或者 /var 等。
    物理块(PE):Physical Extent
    每一个物理卷被划分为大小相等的称为 PE(Physical Extents)的基本单元,具有唯一编号的 PE 是可以被 LVM 寻址的最小单元。PE 的大小是可配置的,默认为4MB。
    逻辑块(LE):Logical Extent
    逻辑卷也被划分为被称为 LE(Logical Extents)的可被寻址的基本单位。在同一个卷组中,LE 的大小和 PE 是相同的,并且一一对应。
    VGDA(卷组描述符区域)
    和非 LVM 系统将包含分区信息的元数据保存在位于分区起始位置的分区表中一样,逻辑卷以及
    卷组相关的元数据被保存在位于物理卷起始处的 VGDA 中。VGDA 包括以下内容:PV 描述符、VG 描述符、LV 描述符、和一些 PE 描述符。
    系统启动 LVM 时激活 VG,并将 VGDA 加载至内存,来识别 LV 的实际物理存储位置。当系
    统进行 I/O 操作时,就会根据 VGDA 建立的映射机制来访问实际的物理位置。

    3.6.3 LVM结构图和工作原理

    可以看出:物理卷(PV)由大小相同的基本单元 PE 组成。一个卷组(VG)由一个或多个物理卷组成。PE 和 LE 有着一一对应的关系。逻辑卷建立在卷组上,文件系统建立在逻辑卷上。
    那么,LVM 系统怎么知道在向某一个 LV 中存放数据时,到底存放到哪个(些)实际硬盘呢?
    在 LVM 系统里,PE 和 LE 之间是一一对应的关系,这种对应关系被存储在 VGDA 中的一个叫做
    “PE/LE对应表”的表中。Translation Table 存放在 LVM 磁盘上,当 VG 被激活时才装载到内存中。
    PE 是在创建卷组时指定的,默认是4M;在同一个 VG 中的所有 PV 的 PE大小是相同的,不管实
    际硬盘的大小和型号是否相同。当 LV 创建时,LVM 系统创建 LE 并自动维护 PE/LE 对应表,使
    得每一个 LV 里面的 LE 都可以找到与之对应的 PE,从而知道数据该往哪个硬盘写。可以在一个卷组上创建多个逻辑卷,但是一个物理卷只能属于一个卷组。

    3.6.4 使用 rflvm
    rflvm 是图形化的 LVM 配置和管理工具,可以采用以下三种方式启动 rflvm 工具:
    1、 打开控制面板,在“系统配置”标签页中双击“LVM 配置工具”;
    2、 选择主菜单中的“管理工具LVM 配置工具”;
    3、 直接运行 rflvm 命令。
    下图3-3所示为 rflvm 工具的主界面窗口。
    主界面左侧是当前系统中动态磁盘和动态分区的树状列表,对应动态磁盘或动态分区的属性信息
    将显示在窗口右上方;“物理磁盘视图”中显示了当前的物理磁盘分区状况;此外,还可以在界面右
    下方的窗口中查看操作的输出信息和物理分区的属性。
    3.6.4.1 创建动态磁盘
    1、 选择菜单中的“操作创建动态磁盘”,或点击工具栏上的“创建动态磁盘”按钮,打开“创建动态磁盘”对话框。
    在“可用的物理分区”列表中选取用于创建动态磁盘的一个或多个物理分区,按 按钮添加到右侧的列表中。
    所选物理分区上的所有数据在创建动态磁盘后会丢失!请注意备份重要的数据。

    2、 按“前进”进入下一步,为将创建的动态磁盘命名。如果不提供名称,将使用缺省的名称。
    3、 接下来设置 PE 的大小。PE 的大小以2的次方递增,缺省值为4MB。使用缺省值时,动态
    磁盘上的动态分区最大可达256GB,因为每个动态分区可容纳64K个 PE。如果希望拥有更大容量的动态分区,则需要增大 PE 的值 。动态磁盘建好后将不再允许对 PE 的值进行修改。本工具支持的 PE 大小为1MB到32MB。
    4、 最后的“总结”界面是关于将要创建的动态磁盘的说明,确认无误后,单击“完成”按钮将完成动态磁盘的创建并关闭向导。

    3.6.4.2 显示动态磁盘属性
    1、 在主界面左侧的树状列表中,选择一个动态磁盘。
    2、 在右键菜单中选择“属性”,或点击工具栏上的“属性”按钮,也可以选择“操作”菜单中
    的“属性”,将弹出一个属性对话框。

    3.6.4.3 更改动态磁盘的名称
    1、 在主界面左侧的树状列表中,选择一个动态磁盘。
    2、 在右键菜单中选择“更名”,或点击工具栏上的“更名”按钮,也可以选择“操作”菜单中
    的“更名”,将弹出一个更名对话框。
    3、 在“新名”栏中输入新的名字,按“确定”即可。

    3.6.4.4 设置动态磁盘的锁定状态
    1、 在主界面左侧的树状列表中,选择一个动态磁盘。
    2、 如果所选动态磁盘处于不允许调整大小状态,选择右键菜单中的“解锁”,或按下工具栏中的“解锁”按钮,动态磁盘将改变状态为允许被调整大小。
    3、 如果所选动态磁盘处于允许调整大小的状态,选择右键菜单中的“锁住”,或按下工具栏中的“锁住”按钮,动态磁盘将改变状态为不允许被调整大小。

    3.6.4.5 设置动态磁盘的活动状态
    1、 在主界面左侧的树状列表中,选择一个动态磁盘。
    2、 如果所选动态磁盘处于活动状态,选择右键菜单中的“抑止”,或按下工具栏中的“抑止”按钮,动态磁盘将改变为非活动状态。
    3、 如果所选动态磁盘处于非活动状态,选择右键菜单中的“激活”,或按下工具栏中的“激活”按钮,动态磁盘将改变为活动状态。

    3.6.4.6 删除动态磁盘
    1、 在主界面左侧的树状列表中,选择一个动态磁盘。
    2、 在右键菜单中选择“删除”,或点击工具栏上的“删除”按钮,也可以选择“操作”菜单中的“删除”,将弹出一个对话框要求确认是否进行删除操作。
    只有当动态磁盘上没有动态分区,并且此动态磁盘处于非活动状态时才能进行删除操作。

    3.6.4.7 调整动态磁盘的大小
    1、 在主界面左侧的树状列表中,选择一个动态磁盘。
    2、 在右键菜单中选择“调整大小”,或点击工具栏上的“调整大小”按钮,也可以选择“操作”菜单中的“调整大小”,将弹出对话框。
    3、 使用 按钮将“可用物理分区”列表中的物理分区添加到动态磁盘中,以增大动态磁盘的容量;使用 按钮将“已分配的物理分区”列表中的分配给动态磁盘的物理分区归还给系统,以缩小动态磁盘的容量。
    只有当某一属于动态磁盘的物理分区上没有动态分区时(或者说此物理分区还没有被动态磁盘使用),此物理分区才可以被归还给系统。

    3.6.4.8 创建动态分区
    1、 在主界面左侧的树状列表中,选择一个动态磁盘。
    2、 在右键菜单中选择“创建动态分区”,或点击工具栏上的“创建动态分区”按钮,也可以选择“操作”菜单中的“创建动态分区”,将弹出对话框。
    3、 然后输入动态分区的名字,设定动态分区的大小和将要在动态分区上建立的文件系统类型。
    还可以设置分片数、预先读扇区数以及动态分区上的数据分配策略。其中:
    分片数: 表示所创建的动态分区的数据将会被分放在几个物理分区上。如果动态磁盘包含多个物理分区,则将分片数设为大于1时可实现RAID0。
    预先读扇区数: 为了提高数据读写性能而在读操作时预先从动态分区上读入的扇区数。
    数据分配策略: “连续”表示必须找到一块足够大的连续空间来容纳整块数据;“下一空闲单元”表示只要有空闲空间就进行数据的分配,并不在意空间是否连续。
    4、 按下“确定”按钮后,即可生成已创建好文件系统的动态分区,可以直接被加载和使用。
    当选用 reiserfs 文件系统时,动态分区的大小如果小于32M,文件系统的创建会失败。

    3.6.4.9 显示动态分区的属性
    1、 在主界面左侧的树状列表中,选择一个动态分区。
    2、 在右键菜单中选择“属性”,或点击工具栏上的“属性”按钮,也可以选择“操作”菜单中的“属性”,将弹出一个属性对话框。

    3.6.4.10 更改动态分区的名称
    1、 在主界面左侧的树状列表中,选择一个动态分区。
    2、 在右键菜单中选择“更名”,或点击工具栏上的“更名”按钮,也可以选择“操作”菜单中的“更名”,将弹出一个更名对话框。
    3、 在“新名”栏中输入新的名字,按“确定”即可。

    3.6.4.11 删除动态分区
    1、 在主界面左侧的树状列表中,选择一个动态分区。
    2、 在右键菜单中选择“删除”,或点击工具栏上的“删除”按钮,也可以选择“操作”菜单中的“删除”,将弹出一个对话框要求确认是否进行删除操作。
    只有当此动态分区不存在备份动态分区时才可以进行删除操作。

    3.6.4.12 调整动态分区的大小
    本工具目前只支持动态分区容量的增大操作。
    1、 在主界面左侧的树状列表中,选择一个动态分区。 2、 在右键菜单中选择“调整大小”,或点击工具栏上的“调整大小”按钮,也可以选择“操作”菜单中的“调整大小”,将弹出如下图3-9所示的对话框。
    3、 使用拖拽的方式调整动态分区的大小,也可以在“动态分区大小”文本框中设置其大小。
    如果动态分区已经被加载到文件系统中,请首先将它卸载,然后再进行调整大小的操作。
    当一个动态分区被调整大小后,其备份动态分区的大小也会自动与此动态分区大小同步。
    备份动态分区不能进行调整大小操作。

    3.6.4.13 创建动态分区的备份
    备份动态分区是对原动态分区数据的瞬间镜像,利用它可以实现数据备份和在线数据恢复。
    1、 在主界面左侧的树状列表中,选择一个动态分区。
    2、 在右键菜单中选择“备份”,或点击工具栏上的“备份”按钮,也可以选择“操作”菜单中的“备份”。
    3、 在弹出的“创建动态分区的备份”对话框中,输入备份动态分区的名称。
    4、 创建成功后将得到一个与原动态分区大小相同的动态分区,上面的数据是在创建瞬间原动态分区上数据的拷贝,此备份动态分区中的数据是只读的。
    不能对一个备份动态分区再创建一个备份。

    《Red Flag Server 4.1 安装手册》中介绍了在安装过程中创建 LVM 的方法和步骤。
    如果要掌握关于 LVM 使用和配置方法的详细信息,请参阅《Red Flag Server 4.1 高级管理手册》中的 LVM 使用手册。

    3.7 配置磁盘限额
    为了防止某个用户或用户组占用过多的磁盘存储空间,需要对用户或用户组的可用存储空间进行限制。磁盘限额的意义是强制使用者在大部分时间内保持他们对系统磁盘的占用在限额之下,取消其
    无限制地使用磁盘空间的能力。
    在 Linux 系统中,限额是对文件系统设定的,设定之前需要启动文件系统的配额设置支持。磁盘
    限额服务目前可以支持 ext2 和 ext3 两种文件格式。
    Red Flag Server 4.1 系统中提供了一个图形化的磁盘限额管理工具----rfquota。本节先讲述如何使用命令行管理磁盘限额,然后介绍 rfquota 的使用。

    3.7.1 配置文件系统的磁盘限额支持
    首先请确定系统中的哪块分区要进行磁盘限额,在 /etc/fstab 文件中为其对应的文件系统中添加
    usrquota 及 grpquota 选项。
    假如要为 /home 分区同时设置用户级和用户组级的磁盘限额,在 /etc/fstab 文件中找到 /home
    对应的一行:
    /dev/hda5 /home ext2 defaults 1 2
    然后对该行做如下修改:
    /dev/hda5 /home ext2 defaults,usrquota,grpquota 1 2
    对每个需要设置磁盘配额的分区进行下面的操作。添加了 userquota 和 grpquota 选项后,重新挂载每个被修改的文件系统。如果文件系统没有被任何进程使用,使用 umount 命令后再用 mount 命令重新挂载这个文件系统;否则可以重新启动系统。
    启用配额的文件系统被重新挂载后,先要运行 quotacheck 命令在文件系统上创建磁盘配额文件。
    # quotacheck -cug /home
    -c 选项为启用了配额的文件系统创建配额文件(aquota.user 和 aquota.group),-u 选项代表检查用户配额,-g 选项代表检查组群配额。系统在运行配额检查的时候会在配额文件中创建磁盘使用信息。
    接下来,运行以下命令来生成启用了配额的文件系统的当前磁盘用量表。
    # quotacheck -vug
    -v 选项表示在检查配额过程中显示详细的状态信息。
    3.7.2 设置用户限额
    对磁盘配额的限制一般是从一个用户占用磁盘大小和所有文件的数量两个方面来进行的。在具体
    操作之前,先了解一下磁盘配额的两个基本概念:软限制和硬限制。
    软限制:用户/用户组在文件系统可拥有的最大磁盘空间和最多文件数量,在某个宽限期----称为过渡期(grace period)内可以暂时超过这个限制。
    硬限制:用户/用户组可拥有的磁盘空间或文件的绝对数量,绝对不允许超过这个限制。
    要为用户配置配额,以超级用户身份执行以下命令:(此处设置对象为 tester 用户)
    # edquota tester
    这个命令将启动默认文本编辑器vi,其内容如下所示:
    表示 tester 用户在 /dev/hda7 分区中迄今使用了52个数据块,没有设置磁盘空间大小限制,同
    样也没有限制文件节点数量。
    对用户进行磁盘容量的限制时,只需要修改 blocks 列后面的 soft 和 hard 列的数值即可,单位
    是KB。请根据需为用户设置空间限额,下面是修改后的文件。
    同样的,要对文件/目录的数量限制可以相应的修改 inodes 列后面的 soft 和 hard 列的数值。可
    以同时对这两项都做出限制。
    要查看或验证用户的配额设置,使用以下命令:
    # quota tester
    记住保存修改以使设置生效!磁盘限额生效后,该用户的磁盘使用就不能超过硬限制。
    如果用户试图超过这个限制,操作将被取消,然后得到一个错误信息。
    edquota 命令的 -p 参数可以对已有的用户设置进行拷贝。如果我们要对某些用户进行和 tester
    一样的限额配置,使用如下的命令方便地完成:
    # edquota -p tester -u xiaoming chengding huahua tutu
    这样一来,这些用户就被赋予了和 tester 一样的磁盘配额。

    3.7.3 设置用户组限额
    可以为用户组分配磁盘限额。例如,要为系统中的 test 组设置用户组配额,使用以下命令:
    # edquota -g test
    与设置用户限额相似,在 vi 编辑器中修改限额值后保存文件即可。
    要查看或验证用户组的配额设置,使用以下命令:
    # quota test

    3.7.4 设置软限制过渡期
    使用 edquota 命令的 -t 选项可以修改软限制的过渡期,过渡期可以用秒、分钟、小时、天、周
    或月表示。运行下面的命令:
    # edquota -t
    命令将打开缺省的编辑器 vi ,显示如下内容:
    系统默认的过渡期是7天,可以使用天、小时、分、秒为单位来修改这一期限。

    3.7.5 管理磁盘配额
    报告磁盘配额
    使用 repquota 工具创建磁盘用量报告。例如,repquota /home 命令的输出如下:
    每一行用户名后面的“”用于判断该用户是否超出其块限制或文件节点限制。如果任何一个软限被超出,相应的“-”列就会被“+”代替,第一个“-”代表块限制,第二个代表文件节点限制。
    grace 列通常是空白。如果某个软限额被超出,这一列会显示过渡期中的剩余时间。如果过渡期
    已超过,将显示 none。
    要查看所有启用了磁盘配额的文件系统的磁盘用量,使用以下命令:
    # repquota -a
    保持配额的正确性
    定期运行 quotacheck 命令以保持磁盘配额的正确性:quotacheck -vug。
    系统管理员可以把 quotacheck 脚本添加到系统的任务计划中定期执行,参考本手册第四章相关
    内容以获得设置任务计划的详情。
    启用和禁用
    要启用配额,使用 quotaon 命令,如下命令为所有设置了磁盘配额的文件系统启用用户和用户组
    限额:
    # quotaon -vug
    要为指定的文件系统(如 /home)启用配额,在上面的命令后加上 /home。
    要关闭用户和用户组限额,使用以下命令:
    # quotaoff -vug
    3.7.6 rfquota磁盘限额管理工具
    rfquota 是一个图形化的磁盘限额管理工具,使用它可以更加方便容易地进行磁盘限额的设置和管
    理。可以采用以下三种方式启动 rfquota 工具:
    4、 打开控制面板,在“系统配置”标签页中双击“磁盘限额管理工具”;
    5、 选择主菜单中的“管理工具磁盘限额管理工具”;
    6、 直接运行 rfquota 命令。
    rfquota 工具的主界面分为三部分:分区列表栏、用户列表栏和分区属性栏。其中清晰地显示出当前系统分区的磁盘限额设置情况、用户的硬盘和文件使用情况以及超出软限额后仍可申请资源的时间等等。
    分区列表
    分区列表中列出系统中所有支持磁盘限额配置的分区(ext2、ext3文件系统)。其中又分为“无磁
    盘限额的分区”和“有磁盘限额的分区”两部分。
    用户列表
    用户列表栏显示左侧分区列表中相应分区中所有用户的磁盘限额状况。如果分区列表中的分区还
    没有创建磁盘限额服务,则此部分为空白。
    只有对该分区具有读写操作权限的用户才会被列出。
    具体参数如下:
    名称 含义
    用户 对当前分区有读写权限的用户名称。
    已用空间 用户在该分区上已经占用的空间大小。
    软空间限额 用户在该分区上可拥有的最大磁盘空间数量,在某个宽限期内可以暂时超出这个限额。
    硬空间限额 用户在该分区上可拥有磁盘空间的绝对限额,在任何情况下都不允许超出这个限额。
    空间缓冲期 在用户占用的磁盘空间超出软限额的情况下,距离对该用户实行硬限额的期限。
    已用节点 用户在该分区上已有的文件数量。
    软节点限额 用户在该分区上可拥有的最多文件数量,在某个宽限期内可以暂时超出这个限额。
    硬节点限额 用户在该分区上可拥有文件数量的绝对限额,在任何情况下都不允许超出这个限额。
    节点缓冲期 在用户占用的文件数量超出软限额的情况下,距离对该用户实行硬限额的期限。
    用户可以在一定时间范围内(默认为一周)超出软限额的额度,在硬限额的范围内继续申请资源,
    同时系统会在用户登录时给出警告信息和仍可继续申请资源的剩余时间提示。如果达到时间期限且用户对磁盘的占用仍超过软限额的额度,则系统将不允许用户再申请磁盘资源。
    分区属性
    分区属性栏展示左侧分区树中相应分区的相关属性。
    名称 含义
    设备 分区的设备名称
    总空间大小 分区的数据块总数(单位:MB)
    已使用 分区上已被占用的数据块总大小(单位:MB)
    空闲 分区上空闲的数据块总大小(单位:MB)
    使用率 分区上的数据块使用率(已被占用的数据块总大小/数据块总大小)
    挂载点 分区在系统中的加载位置
    空间缓冲期 用户对分区的占用从达到软空间限额开始到对该用户实行硬限额的缓冲期限
    节点缓冲期 用户对分区的占用从达到软节点限额开始到对该用户实行硬限额的缓冲期限

    3.7.6.1 启动、停止磁盘限额服务
    对于已经创建磁盘限额服务的分区,存在两种状态:运行状态 和停止状态 。磁盘限额服务处于停止状态时,分区和相关用户的限额设置完全失效,但并不丢失;重新启动磁盘限额服务后,
    原有设置将恢复作用。
    启动磁盘限额服务
    此功能仅限于已创建磁盘限额服务并且处于停止服务状态的分区。
    停止磁盘限额服务
    此功能仅限于已创建磁盘限额服务并且处于运行服务状态的分区。
    在分区列表栏中,选中目标分区,在右键菜单中选择“停止磁盘限额服务”;或者点击工具栏中
    的 按钮;也可以从菜单中选择“命令停止磁盘限额服务”,都可以停止磁盘限额服务。
    3.7.6.2 创建、卸载磁盘限额服务
    创建磁盘限额服务
    此功能仅限于未创建磁盘限额的分区。
    在分区列表栏中,选中目标分区,在右键菜单中选择“创建磁盘限额服务”;或者点击工具栏中的 按钮;也可以从菜单中选择“命令创建磁盘限额服务”,都可以创建磁盘限额服务。
    根据各分区的情况不同,创建磁盘限额服务的过程可能需要较长时间。
    在执行该任务之前,应关闭正在运行的其他应用程序,以免造成数据丢失和系统不稳定。

    卸载磁盘限额服务
    此功能仅限于已经创建磁盘限额的分区。
    在分区列表栏中,选中目标分区,在右键菜单中选择“卸载磁盘限额服务”;或者点击工具栏中
    的 按钮;也可以从菜单中选择“命令卸载磁盘限额服务”,都可以卸载磁盘限额服务。
    在执行该任务之前,应关闭正在运行的其他应用程序,以免造成数据丢失和系统不稳定。
    一旦磁盘限额服务被卸载,对该分区及其用户的所有限额设置将全部丢失!根据各分区的情况不
    同,卸载磁盘限额服务的过程可能需要较长时间。

    3.7.6.3 用户磁盘限额属性
    本小节介绍如何设置用户的“软空间限额”、“硬空间限额”、“软节点限额”以及“硬节点限额”四个参数。
    在用户列表栏中,选中目标用户,在右键菜单中选择“设置用户磁盘限额”;或者点击工具栏中的 按钮;也可以从菜单中选择“命令设置用户限额”,将弹出“设置用户磁盘限额”对话框。
    选中“空间限额”进行用户的空间限额设置,选中“节点限额”进行用户的节点限额设置。
    如果不选中“空间限额“或“节点限额”复选框,则意味着该用户将可以无限制地使用分区上的磁盘空间或节点。
    可以通过直接输入数值或拉动滑杆来设置空间/节点软限额和硬限额,它们是同步的。调节范围可
    以在0到磁盘总空间大小/总节点数之间,但建议所设置的数值不要小于“用户已用空间/节点”。软空
    间/节点限额永远不会被设置为超过硬空间/节点限额。
    如果“软空间/节点限额”设置小于“用户已用空间/节点”,在缓冲期限内系统将发出警告。
    如果“硬空间/节点限额”设置小于“用户已用空间/节点”,用户将不能对磁盘进行任何写操作。
    不能单独为某一个用户定制缓冲期限,该属性只能由已创建磁盘限额服务的分区决定。具体请参
    见下一节:设置磁盘缓冲期限。
    磁盘限额是以每一使用者,每一文件系统为基础的。如果用户可能在超过一个以上的文件系统上建立文件,那么必须在每一分区上分别设定限额。

    3.7.6.4 设置磁盘缓冲期限
    在分区列表栏中“有磁盘限额的分区”部分,选中目标分区,在右键菜单中选择“设置缓冲期限”;
    或者点击工具栏中的 按钮;也可以从菜单中选择“命令设置缓冲期限”,将弹出“设置缓冲期
    限”对话框。
    空间缓冲期和节点缓冲期的缺省值都是7天,可以分别单独定制,可以选择以分、小时、天为时
    间单位。
    该分区上所有设置了磁盘限额管理的用户将使用相同的空间/节点缓冲期限,不能单独为 用户定制。

  32. ming 于 2005-07-11 00:22:59发表:

    3.4 交换空间
    交换空间是系统从硬盘中划分的一部分空间,当物理内存(RAM)被充满时,内存中不活跃的页
    就会被移到交换空间。交换空间的大小一般设为物理 RAM 的1~2倍,但不能超过2048 MB。
    交换空间可以是一个或多个专用的交换分区(推荐的方式),也可以是一个或多个交换文件,或者
    是两者的组合。
    安装 Red Flag Server 4.1 系统时已经创建了一个 swap 分区,即用来支持虚拟内存的交换空间。
    Red Flag Server 4.1 系统允许用户在安装完成后重新调整交换空间的大小。

    3.4.1 使用交换分区
    创建和启用交换分区
    Red Flag Server 4.1 系统允许包含多个交换分区,每一个最大可达124M。这些 swap分区可以根据需要随时创建并激活,其步骤如下:
    1、 用 parted 或 fdisk 划分一个分区,并给予恰当的大小。
    2、 格式化该分区,并检查坏块;
    # mkswap -c /dev/hda4
    用实际的分区设备名代替 /dev/hda4,这里没有指明分区大小,系统会自动检测。
    3、 使用如下命令激活交换分区:
    # swapon /dev/hda4
    4、 如果要在系统启动时自动激活此交换分区,应该在 /etc/fstab 中加入如下一行:
    /dev/hda4 swap swap defaults 0 0
    添加交换分区并启用它后,用 cat /proc/swaps 或 free 命令查看交换分区是否被成功启用。
    关闭交换分区
    要关闭交换分区,可以执行如下命令:
    # swapoff /dev/hda4
    删除交换分区
    1、 确认将要删除的交换分区已被关闭;
    2、 删除 /etc/fstab 文件中对应的行;
    3、 用 parted 或 fdisk 命令删除对应的分区。
    3.4.2 使用交换文件
    创建和启用交换文件
    交换文件是在临时需要交换空间时的一种补救方法。系统中最多可以有8个交换文件,每一个最
    大为16M,下面是创建交换文件的步骤。
    1. 创建一个具有您所希望大小的文件
    # dd if=/dev/zero of=/swapfile bs=1024 count=8192
    该命令将物理地创建一个交换文件 /swapfile,每一个文件块大小为1024字节,一共有8192块,
    文件大小为8M(因为交换文件必须是连续的,所以是不能用 cp 命令创建交换文件的)。
    2. 创建交换文件
    # mkswap /swapfile
    3. 激活该交换文件,激活后的文件被立即启用。
    # swapon /swapfile
    4. 想要在系统启动时自动激活此交换文件,应该在 /etc/fstab 中加入如下一行:
    /swapfile swap swap defaults 0 0
    添加交换文件并启用它后,用 cat /proc/swaps 或 free 命令查看交换文件是否被成功启用。
    关闭交换文件
    在使用交换文件后,您可以关闭它。
    # swapoff /swapfile
    删除交换文件
    # rm /swapfile


    3.5 RAID设备

    RAID(Redundant Array of Inexpensive Disks)称为独立磁盘冗余阵列。
    RAID的基本想法就是把多个便宜的小磁盘组合到一起,成为一个磁盘组,使性能达到或超过一个容量巨大、价格昂贵的磁盘。这样的磁盘组对于计算机来说,就像一个单独的逻辑存储单元或磁盘。
    利用如磁盘条带化(disk striping,RAID0)、磁盘镜像(disk mirroring,RAID1)和带奇偶校验的磁盘条带(disk striping with parity,RAID5)等技术,把数据分布到各个磁盘上,以达到冗余性、低延迟、读写的高带宽以及硬盘毁坏后的最大可恢复性。
    采用RAID的主要优势在于:
    1、 加快了速度
    2、 扩充了存储能力
    3、 可高效恢复磁盘
    3.5.1 RAID的种类
    通常有两种可以实现 RAID 的方法:硬件 RAID 和软件 RAID。

    硬件RAID
    建立在硬件基础之上,与系统和主机无关,管理着 RAID 子系统。对于主机来说,每一个 RAID
    组只是一个单独的硬盘。例如,硬件 RAID 设备通常是关联到一个 SCSI 控制器,RAID 组看起来就是一个 SCSI 驱动器。外置的 RAID 磁盘柜把所有的 RAID 智能化地统一到外置磁盘子系统的控制器中。全部的子系统通过一个普通的 SCSI 控制器连到主机上,对主机来说,如同一个单独的硬盘。

    软件RAID
    通过核心磁盘(块设备)代码来实现不同的 RAID 级别,提供了最廉价的解决方案。不仅不再需
    要昂贵的磁盘控制器卡和热交换底盘,而且软件 RAID 在便宜的 IDE 硬盘上工作的和在 SCSI硬盘
    上一样好。加上现在的高速 CPU,软件 RAID 的性能已超越了硬件 RAID。

    3.5.2 RAID的级别
    Linux 内核中的 MD 驱动程序是完全独立于硬件的 RAID 解决方案的一个例子。软件 RAID 的
    性能实现很大程度上依赖于服务器 CPU 的性能和负载。Linux 内核提供的 RAID 级别包括:
    RAID级别0
    通常称为“带区”。它利用带区数据映射技巧的特定性能。也就是说,当数据写入磁盘组的时候,被分成带区,交错写入磁盘组的磁盘中。这带来了高 I/O 性能,低开销,但不提供任何冗余。磁盘组的存储量等于总的磁盘容量之和。
    RAID级别1
    即“镜像”,与 RAID 其他的各级别相比,这个级别使用的时间较长。1级通过把同样的数据写到磁盘组的每一个磁盘上,将镜像复制到每个磁盘上,来提供数据冗余。1级在读数据操作时,并行处理2个或更多的磁盘,因此数据传输速率高,但其他操作时无法提供高速的 I/O 传输速率。1级提
    供了非常好的数据的高可信度,并且改善了读数据操作的性能,但是,耗费很大。如果组成磁盘组的各磁盘规格相同,磁盘组的容量只等于一块磁盘的容量。
    RAID级别4
    采用奇偶校验,但不提供冗余。它的数据分布在各个磁盘上,有一块盘作为奇偶校验盘。它更适
    用于 I/O 传输,而不是大文件传输。因为提供奇偶校验的磁盘常成为瓶颈,所以在没有相应技术的情况下,如回写高速缓存技术,不常使用4级。如果组成磁盘组的各磁盘规格相同,磁盘组容量等于构成磁盘组的磁盘的总容量,减去一块磁盘的容量。
    RAID级别5
    最常用到的 RAID 类型。通过把奇偶校验分布到磁盘组中的一些或所有磁盘上,消除了4级在写数据上的瓶径。在4级中,读的性能超过了写,性能是不对称的。5级常使用缓冲技术来降低性能的不对称性。如果组成磁盘组的各磁盘规格相同,磁盘组容量等于磁盘的总容量,减去一块磁盘的容量。
    由于 RAID5 和 RAID4 的容量相同,而性能优异,所以一般都使用 RAID5。
    线性RAID
    线性 RAID 是为创建一个大型虚拟驱动设备建立的简单的磁盘分组。在线性 RAID中,磁盘上的带区是连续分配的,当第一块磁盘分配满后,跳转到下一块磁盘上,依次类推。这个磁盘组未做性能方面的改善,各种 I/O 操作都被划分到各磁盘上是不可靠的。线性 RAID 无冗余,并且可靠性降
    低。如果磁盘组中的任何一块磁盘出现故障,全部的阵列就都无法使用了。其容量是所有组成磁盘组的磁盘的容量之和。

    3.5.3 使用RAID
    安装 Red Flag Server 4.1 时,在“设置分区”步骤中可以方便地为系统划分 RAID 分区,创建
    RAID 设备并将其格式化。已创建好并激活的 RAID 设备可以挂载到系统中,就像一个普通硬盘分区一样使用。
    对于已创建的 RAID 设备,也可以从系统中卸载,停用和删除。如果在安装时没有创建 RAID 设
    备,也可以在系统的使用过程中再添加或修改磁盘分区,创建需要的软件 RAID 设备。
    与此相关的内容属于系统管理的高级课题,建议由经验丰富的系统管理员执行,具体操作请参阅
    《Red Flag Server 4.1 高级管理手册》第3章:配置软件 RAID;相关的命令包括:mkraid、mkfs、raidstart、raidstop 等,主要的配置文件为:/etc/raidtab。

  33. ming 于 2005-07-11 00:22:40发表:

    第3章 文件系统管理
    对于任何一个成熟的操作系统而言,文件系统管理都是一个十分重要的部分。文件系统管理的好坏直接影响到操作系统的性能和安全。

    3.1 文件系统
    文件系统是操作系统在硬盘或者分区上保存文件信息的方法和数据结构,也就是文件在硬盘或分区上的组织方式。
    作为一种类 UNIX 操作系统,大部分 Linux 文件系统具有类似的通用结构,其关键概念有超级块(superblock)、索引节点(inode)、数据块(data block)、目录块(directory lock)。
    超级块中包含了关于该硬盘或分区上的文件系统的整体信息,如文件系统的大小等;超级块后面
    的数据结构是索引节点,它包含了针对某一个具体文件的几乎全部信息,如文件的存取权限、拥有者、文件大小、建立时间以及对应的目录块和数据块等;数据块是真正存储文件内容的位置。但是索引节点中不包括文件的名字,文件名是放在目录块里的。目录块里包含有文件的名字及此文件的索引节点编号。

    3.1.1 Red Flag Server 4.1支持的文件系统类型
    Red Flag Server 4.1 系统的一个重要特征之一就是支持多种文件系统,这样它更为灵活并可以
    许多其他种类的操作系统交换数据,其中最常用的是以下几种:
    1、 ext3:ext2 的升级版本,是Red Flag Server 4.1 默认的文件系统类型,其主要优点是在 ext2 的基础上加入了记录数据的日志功能。可方便地从 ext2 迁移至 ext3,且支持异步的日志。
    2、 ext2:支持标准 Unix 文件类型,可用于多种存储介质,向上兼容性好,支持长达255个字
    符的文件名。
    3、 reiserfs:一种新型的文件系统,通过完全平衡树结构来容纳数据,包括文件数据,文件名以
    及日志支持。ReiserFS 还可以支持海量磁盘和磁盘阵列,并能在上面继续保持很快的搜索速度和很高的效率。
    4、 vfat:微软 Windows 9X/200 及 NT 操作系统使用的扩展 DOS 文件系统,提供了对长文件
    名的支持。
    5、 xfs:SGI的 xfs 是非常好的64位高性能日志文件系统,它为 Linux 社区提供了一种健壮的、
    优秀的以及功能丰富的文件系统,它具有的可伸缩性能够满足最苛刻的存储需求。
    6、 iso9660:标准的 CD-ROM 文件系统。其中的 Rock Ridge 扩展允许长文件名的自动支持。
    7、 NFS:允许在多台计算机之间共享文件系统的网络文件系统。
    此外,还支持一些古老的文件系统类型,如 MINIX、Msdos、Hpfs、sysv 等。

    3.1.2 文件系统的创建、加载与卸载

    3.1.2.1 建立文件系统
    一个分区或磁盘在作为文件系统被使用之前,先要初始化以将记录数据结构写入磁盘上,这个过
    程叫做建立文件系统。
    命令 mkfs 用于创建文件系统。用 mkfs 命令可以在任何指定的块设备上建立不同类型的文件系统。
    mkfs 命令的语法格式如下:
    mkfs [-v] [-t fs-type] [fs-options] device [size]
    mkfs 命令中各项参数的意义如下:
    -v:强迫产生长格式输出;
    -t fs-type:选择文件系统的类型;
    fs-option:将要建立的文件系统选项,它可以是以下的选项:
    -c 查找坏块,并初始化坏块列表
    -l filename 从文件filename中读初始的坏块表
    -v 让文件系统程序产生长格式输出
    device:将创建文件系统所在设备的设备号;
    size:文件系统的大小;
    例如:要在软盘上创建一个 ext2 的文件系统,用以下命令:
    # mkfs -t ext2 /dev/fd0
    3.1.2.2 加载文件系统
    成功地建立了文件系统后,还需要将文件系统加载或称安装(mount)到 Linux 目录树的某个位
    置才能使用。文件系统所连接到的目录被称为加载点或安装点。对于系统硬件设备,Linux 并不使用设备号或驱动器号来访问,而是将它们对应为 /dev 目录下的一个(也可能是多个)文件。
    文件系统的安装,可以在系统引导过程中自动安装,也可以使用命令手工装载。
    加载文件系统的命令为 mount,该命令的语法格式如下:
    mount [-t fs-type] device mountpoint
    其中:device 代表文件系统的存储设备;mountpoint 代表文件系统将要被放置在目录系统中的位置,即载入点。
    mount 命令常用如下几个选项:
    -a: 加载符合要求的所有文件系统,如果不加其他参数,将加载 /etc/fstab 文件中列出的所有文件系统。
    -o: 用于确定文件系统的读/写限制,ro(只读)、rw(读写)等。
    -f: 完成操作步骤,并不真正安装文件系统。
    例如:把 /dev/hda8 上类型为 ext2 的文件系统加载到目录 /mnt/tmp 下,并使之按只读方式被安装。
    # mount -t ext2 -o ro /dev/hda8 /mnt/tmp
    文件系统的加载位置 mountpoint 必须是系统中已存在的目录,否则,需要在加载前创建这个目录。

    3.1.2.3 卸载文件系统
    除了根文件系统之外,其他文件系统都是可以拆卸的。卸载文件系统的命令是 umount,其格式
    如下:
    umount device mountpoint
    该命令使用设备名和安装点为参数,用于卸下与设备名或是安装点对应的文件系统。
    不能卸载当前正在使用的文件系统,这样系统会报出错。正确的方法是完全退出安装点所在目录后再执行卸载命令。
    3.1.2.4 用fstab文件配置文件系统
    一般来说,用户经常使用的文件系统是比较固定的,如果每次使用时都进行加载是很麻烦的,而
    且有时候需要一次安装很多的文件系统,可以考虑定义一个在系统引导时自动安装文件系统的方法。
    Linux 中使用 /etc/fstab 文件能够完成这一功能,fstab 文件中列出了引导时需安装的文件系统的类型、加载点及可选参数。fstab 文件是一个文本文件,可以方便地通过编辑工具进行修改。
    请在修改前备份原来的 /etc/fstab 文件,以防修改出错导致下次系统引导时文件系统不能正确加载。
    以下给出的是一个实际的 /etc/fstab 文件(您的系统不一定与之相同)
    # cat /etc/fstab
    /dev/hda1 / ext3 defaults 1 1
    /dev/hda5 /home ext3 defaults 1 2
    /dev/hda6 swap swap defaults 0 0
    /dev/cdrom /mnt/cdrom iso9660 noauto,owner,ro 0 0
    /dev/fd0 /mnt/floppy ext3 noauto,owner 0 0
    none /proc proc defaults 0 0
    none /dev/pts devpts gid=5,mode=620 0 0 0
    /etc/fstab 文件也称为文件系统安装表,它的每一行代表一个需要安装的文件系统,其格式如下:
    device mountpoint fstype options dump passno
    其中:
    device: 指定要加载的文件系统设备
    mountpoint: 指定文件系统的加载点
    fstype: 指定安装文件系统的类型
    options: 使用逗号隔开的安装参数列表
    dump: 确定文件系统两次备份之间的时间
    passno: 指定系统引导时检查文件系统的顺序,根文件系统为1,其余值为2,如果没有指定,表示引导时文件系统不被检查。

    3.1.3 维护文件系统
    文件系统是系统数据和资源的存储位置,所以应定期检查文件系统以发现损坏的文件并及时加以修补。
    对文件系统进行检查可以通过使用 fsck 工具来完成,该命令的格式为:
    fsck [options] filesystem …
    关于 fsck 的详细用法,请参考它的 man page 。
    用 fsck 检查文件系统时,最好先卸下该文件系统,这样可以防止在检查过程中有其它程序正在操作该文件系统。

    3.1.4 常用文件系统管理命令

    df命令
    使用 df 命令可以检查文件系统的磁盘空间占用情况,提供所有映射文件系统的空闲空间信息,
    其命令的语法格式为:
    df [选项]… 文件系统] …
    该工具默认以 KB 为单位显示已用的和可用的磁盘空间,查看以 MB 和 GB 为单位的信息,使
    用 df -h 命令。

    du命令
    使用 du 命令可以显示被目录占用的空间的信息,此命令可以进入被统计目录的子目录中,并显
    示出子目录的统计信息,常用的选项如下:
    -a:同时显示出目录和文件的磁盘使用情况;
    -s:只显示磁盘的总体使用情况;
    使用不加目录名的 du 命令将会显示出当前目录下的所有信息。

    3.1.5 使用设备
    在 Red Flag Server 4.1 中,可以方便地使用各种驱动器、文件系统和网络设备,包括 Linux 分区、MS DOS 和Windows 分区、USB 闪盘以及 CDROM 文件系统。

    使用CDROM
    将光盘放入光盘驱动器中,在 shell 提示符下键入以下命令:
    # mount /dev/cdrom /mnt/cdrom
    它通知操作系统自动探测文件系统并安装它,被安装的设备为 /dev/cdrom,安装点为 /mnt/cdrom。
    如果命令生效,光盘中的内容将出现在目录 /mnt/cdrom 下。
    如果安装命令失败,首先要确认 /dev/cdrom 设备存在。如果使用的是IDE CDROM,对应设备文件名可能是 /dev/hdb、/dev/hdc 等;如果使用SCSI CDROM,对应设备文件名可能为 /dev/sda1,
    /dev/sda2…。
    假设 /dev/cdrom 不存在,而 CDROM 设备文件名为 /dev/hdb,可以使用如下命令创建一个到
    /dev/cdrom 的符号链接。
    # ln -s /dev/hdb /dev/cdrom
    如果系统提示“设备已经安装(mounted)或目录忙”,可能是由于当前目录是加载点 /mnt/cdrom
    造成的,必须切换到其它目录才能进行。
    执行完对光盘的操作后,在 shell 提示符下键入以下命令卸载它。
    # umount /mnt/cdrom

    使用软盘
    使用软盘之前,需要先挂载它。将软盘插入软盘驱动器,执行如下命令:
    # mount /dev/fd0 /mnt/floppy
    在加载时,首先要确认 /mnt/floppy 目录存在并为空,并且 /mnt/floppy 不能是系统中任何用户
    的当前目录。
    成功安装后,软盘的文件出现在 /mnt/floppy 目录下,这些文件对所有用户可读,但只有root才
    可以修改、删除这些文件。
    当执行完对软盘的操作,把它从软驱中取出之前,需要先卸载软盘。命令如下:
    # umount /mnt/floppy

    关于mtools工具
    安装了系统中提供的 mtools 工具后,就可以使用m系列命令实现对 DOS/Windows 格式软盘的
    快速访问了。这一系列命令包括:
    表3-1 mtools系列命令
    mcd 进入DOS子目录
    mcopy 拷贝DOS文件
    mdel 删除DOS文件
    mdir 察看DOS目录内容
    mformat 格式化DOS磁盘
    mmd 创建DOS目录
    mmove 移动DOS下的文件
    mren 将DOS下的文件改名

    使用Zip驱动器
    安装 SCSI 仿真并口扩展 Zip 驱动器的命令如下:
    # mount -t vfat /dev/sda4 /mnt/zipdrive
    使用“-t vfat”选项是因为 Zip 驱动器事先已经格式化为 vfat 文件系统,这一文件系统属于
    Windows 文件系统,支持长文件名。
    卸载 Zip 驱动器的命令为 umount。如果不卸载,盘片将无法弹出。
    如果 Zip 驱动器安装不成功。则在安装结束后,应该使用以下命令把并行端口 zip 驱动器模块加载到内核中:
    # /sbin/insmod parport
    # /sbin/insmod ppa
    为了让上面的指令在每次系统启动时自动执行,应该将其加在文件 /etc/rc.d/rc.local 结尾。如果
    仍然不能识别,应该编辑文件 /etc/modules.conf ,下面是文件 /etc/modules.conf 的示例。
    alias parport_lowlevel parport_pc

    3.2 磁盘分区管理
    利用 parted 程序可以方便地进行磁盘分区的管理和定制,如查看现存的分区表、改变分区的大小、删除分区或创建新分区。
    改变系统的硬盘分区是一件非常危险的事情,即使对于有丰富经验的系统管理员,我们仍建议您在改变磁盘分区前进行必要的数据备份。
    关于磁盘分区的命名设计与分区方法和原则的详细信息,请参阅:《Red Flag Server 4.1 安装手册》中的相关内容。
    在 shell 提示符下以超级用户身份键入如下命令(/dev/hdb 表示要定制的设备名)。
    # parted /dev/hdb
    启动 parted 后,在(parted)提示下键入 help 将显示可用命令的列表。下表列出的是用户最常用的 parted 命令。
    parted 命令
    命令和参数 描述 check minor-num 对文件系统进行简单检查
    cp from to 把文件系统从一个分区复制到另一个分区;from 和 to 表示分区设备名中的数字
    help 显示可用的命令列表
    mklabel label 为分区表创建磁盘标签
    mkfs minor-num fs-type 创建类型为 fs-type 的文件系统
    mkpart part-type fs-type start-mb end-mb 制作分区,不创建新文件系统
    mkpartfs part-type fs-type start-mb end-mb 制作分区并创建指定的文件系统
    move minor-num start-mb end-mb 移动分区
    print 显示分区表
    quit 退出 parted 程序
    resize minor-num start-mb end-mb 重新划分分区大小,从 start-mb 到 end-mb
    rm minor-num 删除分区
    select device 选择另一个设备来定制,不需重新启动 parted
    set minor-num flag state 在分区上设置标志;state可以是 on或 off
    要新建、删除分区或重新划分分区大小,分区所在设备不能正在被使用,即分区不能被挂载,且交换空间不能被启用。如果分区中不包含正在被使用的文件,可以用 umount 命令来卸载分区,使用 swapoff 命令来关闭交换空间。

    3.2.1 查看分区表
    启动 parted 后,键入 print 命令来查看分区表,屏幕输入信息如下:
    第一行显示了磁盘的大小,第二行显示磁盘标签类型,后面部分为分区表,其中: Minor 域表示分区设备名中的数字,例如数字1代表 /dev/hda1;Start 和 End 分别表示对应分区在硬盘上的起止位置,以MB为单位;Type 代表分区类型,可以是 primary、extended 和 logical 之一;Filesystem 是文件系统的类型,可以是 ext2、ext3、FAT、linux-swap 等等;Flags 域列出了分区被设置的标准,可用的标志有:boot、root、swap、hidden、raid、lvm 等。

    3.2.2 创建分区
    如果我们要在 /dev/hdb 上创建一个新分区,那么输入以下命令启动 parted:
    # parted /dev/hdb
    然后用 print 命令查看当前的分区表,确认磁盘上是否有足够的空闲空间可用于新分区。
    不要试图在正在被使用的设备上创建分区。
    根据分区表决定新分区的起止点和分区类型,每个硬盘上只能有四个主分区,如果想拥有四个以
    上的分区,则必须先划出一个扩展分区,再在扩展分区内创建多个逻辑分区。
    例如,要在 /dev/hda1 上从 18000 MB 到 21000 MB 创建一个文件系统为 ext2 的主分区,键入以下命令:
    mkpart primary ext2 18000 21000
    如果使用 mkpartfs 命令,分区创建后文件系统也会被创建。只要一按下 键,对分区的改变就会生效,因此在执行前请仔细检查一下命令。
    创建了分区后,使用 print 命令来确认所建分区已加入分区表中,并具有正确的分区类型、文件
    系统类型和大小。记住新分区的设备名中的数字以方便后续操作。
    使用 mkpart 划分的分区还没有格式化,用下面的命令为分区创建文件系统:
    # mkfs -t ext2 /dev/hdb3
    接下来,可以为新分区注明标签、在目录树中为它创建加载点,使用 mount 命令加载并使用它。
    还可以把它的信息添加到 /etc/fstab 文件中。
    parted 尚不支持创建 ext3 文件系统。因此,如果想创建一个 ext3 文件系统,先使用
    part 划分分区,然后使用 mkfs 命令来创建,参见本章3.3.2节。

    3.2.3 删除分区
    如果要删除 /dev/hdb 上的一个分区,首先输入如下命令启动 parted:
    # parted /dev/hdb
    然后用 print 命令查看当前的分区表,确认要删除的分区。
    使用 rm 来删除分区,例如,要删除分区设备名为 hdb3 ,则在(parted)提示符下键入:rm 3。
    只要一按下 键,分区就会被删除,请在命令执行前仔细检查一下!
    分区删除后,使用 print 命令可以看到分区已经被从分区表删除。最后要把它从 /etc/fstab 文件
    中删除,找到与被删除的分区相应的行,从文件中删除它。
    不要试图删除正在使用的设备上的分区。

    3.2.4 重新划分分区大小
    如果要重新划分 /dev/hdb 上某一个分区的大小,首先启动 parted:
    # parted /dev/hdb
    然后用 print 命令查看当前的分区表,查看磁盘上要重划大小的分区的设备名以及它的起止点。
    使用 resize 命令重新划分分区大小,然后跟随分区的设备名中的数字和以 MB 为单位的起始点
    和终止点。格式如下:
    (parted)resize minor-num start-mb end-mb
    分区被重新划分大小后,使用 print 命令来确认分区已被正确地重新划分了大小,并且具备正确
    的分区类型和文件系统类型。
    重新引导了系统后,使用 df 命令来确定分区已被挂载,并且它的新大小也已被识别。
    不要试图重新划分正在被使用的设备上的分区的大小。
    parted 是一个复杂且功能强大的工具,需要足够地相关知识才可以保证安全地使用。建议您从它的 man page 等帮助文档中学习更多的信息。

    3.3 ext3文件系统
    ext3 是日志文件系统,它被设计为 ext2 的升级版本,ext3 在 ext2 的基础上加入了日志记录功
    能。Red Flag Server 4.1 中默认的文件系统类型就是 ext3。

    3.3.1 ext3的特性
    可用性
    当发生异常断电或系统崩溃时,ext2 很容易造成文件系统处于不一致的状态。重新引导时就需要
    用 e2fsck 程序对每个挂载在系统上的 ext2 文件系统检查其一致性,这不仅会耽误大量时间,还可能出现严重的后果。
    由于 ext3 文件系统提供了日志记录文件,一致性检查只在某些罕见的硬件失效情况下才发生,
    系统断电或异常崩溃后,ext3 文件系统的恢复时间一般只需要几秒钟到几分钟。
    数据完好性
    ext3 文件系统提供更强健的数据完好性,它允许您选择数据接受的保护类型和级别。
    速度
    ext3 的日志记录机制优化了硬盘驱动器的头运动,所以尽管 ext3 不止把数据写入一次,它的总
    处理能力在多数情况下仍比 ext2 系统要高。
    兼容性
    向下兼容ext2,ext2 文件系统可以被很容易地转换为 ext3 系统,从而获得健壮的日志文件系统
    的优越性。

    3.3.2 创建一个ext3文件系统
    创建 ext3 文件系统的步骤如下:
    1、 用 parted 或 fdisk 分区工具创建分区;
    2、 用 mkfs 将分区格式化为 ext3 文件系统;
    3、 在系统目录树中创建挂载点;
    4、 把分区信息添加到 /etc/fstab 文件中。
    以上步骤的详细解释,请参阅本章 3.1.2节:文件系统的创建、加载与卸载。

    3.3.3 转换到ext3文件系统
    tune2fs 程序能够在不改变已有数据的条件下给现存的 ext2 文件系统添加一个日志记录文件,把
    ext2 文件系统转换成 ext3 格式。
    要把 ext2 文件系统转换成 ext3,需要用户具有超级用户权限,命令如下:
    # tune2fs -j /dev/hdb1
    以上命令中,假设 /dev/hdb1 为要转换的文件系统所在设备名。
    如果要转换的是根文件系统,还需要创建一个用于引导系统的 initrd 映像文件。使用mkinitrd 程序创建 initrd 文件。关于 mkinitrd 命令的信息,请参考其 man page。

    3.3.4 还原到ext2文件系统
    如果要将 ext3 文件系统还原为 ext2 格式,必须首先卸载分区。输入命令:
    # umount /dev/hdb1
    以上命令中,假设 /dev/hdb1 为要转换的文件系统所在设备名。
    下一步,把文件系统类型改回 ext2。
    # tune2fs -O ^has_journal /dev/hdb1
    以超级用户身份键入以下命令来检查分区的错误:
    # e2fsck -y /dev/hdb1
    然后通过键入以下命令来把分区重新挂载为 ext2 文件系统:
    # mount -t ext2 /dev/hdb1 /mount/point
    下一步,删除根目录下的 .journal 文件。方法是转换到分区的挂载目录中,然后键入:
    # rm -f journal
    以上步骤完成后,文件系统被还原成为 ext2。如果要永久地把该分区改换成 ext2 文件系统,请
    记住更新 /etc/fstab 文件。

  34. ming 于 2005-07-11 00:22:18发表:

    第2章 用户和组群管理
    Linux 是一个多用户的操作系统,用户和用户组的管理是系统管理员的重要工作之一。本章的内
    容包括如何利用图形化工具 rfuser 和在命令行界面下完成用户账号、工作组的建立和维护,并正确设置用户权限和安全性问题。
    利用图形配置工具 rfuser 与使用命令进行用户/用户组管理完成的是同样的工作,不同之处在于图形工具的操作界面友好直观,用户也不必去记忆大量的命令和参数。

    2.1 概述
    在 Linux 系统中,每个用户对应一个帐号。Red Flag Server 4.1 安装完成后,系统本身已创建了一些特殊用户,它们具有特殊的意义,其中最重要的是超级用户,即 root。
    超级用户承担了系统管理的一切任务,可以不受限制地进行任何操作,因此建议只有在完全必要的情况下才以 root 身份进行操作。
    由超级用户创建允许登录系统的普通用户,一般超级用户也需要为自己建立一个用来处理一般事务的普通帐户。
    下面是用户和组群管理的一些基本概念:
    用户名: 系统中用来标识用户的名称,可以是字母、数字组成的字符串,区分大小写。
    用户标识UID: 系统中用来标识用户的数字。
    用户主目录: 系统为每个用户配置的单独使用环境,即用户登录系统后最初所在的目录,用户的文件都放置在此目录下。
    登录shell: 用户登录后启动以接收用户的输入并执行输入相应命令的程序,如/bin/bash、
    /bin/csh。
    用户组/组群: 具有相似属性的多个用户被分配到一个组中。
    组标识GID: 用来表示用户组的数字标识
    超级用户在系统中的用户ID和组ID都是0。
    普通用户的用户 ID(UID)从500开始编号,并且默认属于与用户名同名的组。组 ID(GID)
    也从500开始编号。

    2.1.1 用su命令改变身份
    用户在系统使用过程中可以随时使用 su 命令来改变身份。例如,系统管理员在平时工作时可以用普通帐号登录,在需要进行系统维护时用 su 命令获得 root 权限,之后再用 su 回到原帐号。
    su 的语法为:su
    username 是要切换到的用户名,如果不指定用户名,则默认将用户身份切换为 root,系统会要求给出正确的口令。
    默认情况下,只要知道 root 口令,任何用户都可以通过 su 命令切换到 root 身份,这是一个安全漏洞。所以我们强烈建议:只有 wheel 组成员才可以通过 su 命令转换为root。实现的办法是修改 /etc/pam.d/su 文件,取消对如下一句“auth required
    /lib/security/$ISA/pam_wheel.so use_uid”的注释。

    2.1.2 系统中的用户管理配置文件
    /etc/passwd 文件
    Red Flag Server 4.1 系统中用于管理用户帐号的基本文件是 /etc/passwd,该文件中包含了系统中所有用户的用户名和它们的相关信息。每个用户帐号在文件中对应一行,并且用冒号(;)分为七个域。
    每一行的形式如下:
    用户名:加密的口令:用户ID:组ID:用户的全名或描述:登录目录:登录shell
    下面是 root 用户在此文件中对应的行:
    root:X:0:0:root:/root:/bin/bash
    Linux 系统将每一个用户仅仅看成是一个数字,即用每个用户惟一的用户 ID 来识别,配置文件
    /etc/passwd 给出了系统用户 ID 与用户名之间及其他信息的对应关系。
    /etc/passwd 文件对系统的所有用户都是可读的,这样的好处是每个用户都可以知道系统上有哪些用户,但缺点是其他用户的口令容易受到攻击(尤其当口令较简单时)。所以在红旗 Linux 中使用影子口令格式,将用户的口令存储在另一个文件 /etc/shadow 中,该文件只有根用户 root 可读,因而大大提高了安全性。
    /etc/shadow 文件
    为了保证系统的安全性,系统通常对用户的口令进行 shadow 处理,并把用户口令保存到只有超
    级用户可读的 /etc/shadow 文件中。该文件包含了系统中所有用户和用户口令等相关信息。
    每个用户在该文件中对应一行,并且用冒号分成九个域。每一行包括以下内容:
    1、 用户登录名
    2、 用户加密后的口令,(若为空,表示该用户不需口令即可登录,若为 * 号,表示该帐号被禁
    止)
    3、 从1970年1月1日至口令最近一次被修改的天数
    4、 口令在多少天内不能被用户修改
    5、 口令在多少天后必须被修改
    6、 口令过期多少天后用户帐号被禁止
    7、 口令在到期多少天内给用户发出警告
    8、 口令自1970年1月1日被禁止的天数
    9、 保留域
    /etc/group 文件
    在 Linux 中,使用组来赋予用户访问文件的不同权限。组的划分可以采用多种标准,一个用户可
    同时包含在多个组内。管理用户组的基本文件是 /etc/group,其中包含了系统中所有用户组的相关信息。每个用户组对应文件中的一行,并用冒号分成四个域。其中每一行的形式如下:
    用户组名:加密后的组口令:组ID:组成员列表
    下面是用户组 sys 在 /etc/group 中对应的一行:
    sys:x:3:root,bin,adm
    代表的信息包括:系统中有一个称为 sys 的用户组,设有口令,组 ID 为3,组中的成员有 root、
    bin、adm 三个用户。
    Red Flag Server 4.1 在安装中同样创建了一些标准的用户组,在一般情况下,建议您不要对这些用户组进行删除和修改,除非您完全明白它们的用途和意义。
    /etc/skel 目录
    一般来说,每个用户都有自己的主目录,用户成功登录后就处于自己的主目录下。主目录中存放有与用户相关的文件、命令和配置。当为新用户创建主目录时,系统会在新用户的主目录下建立一份
    /etc/skel 目录下所有文件的拷贝,用来初始化用户的主目录。

    2.2 使用rfuser管理用户与组群
    利用 rfuser 用户和组群管理工具,可以轻松的管理系统中的用户和用户组,包括完成新建、查看、管理帐号、密码、权限等所有操作。
    在控制面板的“系统配置”项中选择“本地用户和组”,或在 KDE 桌面环境下使用命令 rfuser ,
    即可打开本地用户和组管理器。
    rfuser 工具需要以超级用户身份运行。
    系统缺省创建的用户和组群对于系统管理和应用程序的使用有重要的意义,不要随意修改或删除它们,尤其是 root 用户,否则有可能导致系统异常甚至崩溃。

    2.2.1 查看用户和用户组
    在图2-1所示的本地用户和组管理主界面中,点击“用户”标签列出本地用户及其基本信息,包括用户名、用户 UID、所属主组群、用户描述信息、登录 shell 和用户的主目录信息;点击“组”标
    签显示系统中组群信息,包括组名称、组 ID 和组成员。
    默认情况下,用户和组列表中会列出系统中所有的用户和用户组信息。如果要想只显示使用过程中添加的用户和用户组信息而不显示系统内建用户和用户组,按下窗口右上方的“隐藏系统帐户”按钮,或者在菜单中选择“工具隐藏系统帐户”,这时显示用户信息.
    要恢复显示所有用户/用户组信息,按窗口右上方的“显示所有帐户”按钮,或者在“工具”菜单中选择“显示所有帐户”。

    2.2.2 添加新用户
    点击工具栏中的“添加新用户”按钮,出现“增加新用户”向导。在“用户信息”窗口中输入用户名和描述信息,用户名的首位必须是英文字母,并且不能与已有的用户名重复;“用户ID”是该用户在系统中唯一的标识,范围是1~65535,默认情况下,系统会为用户指定一个500以上的标识号,也可以手工指定用户的UID号,但推荐由系统自动分配;“登录shell”一般只需采用默认的/bin/bash;添加用户时默认会在系统中创建一个用户主目录 /home/username ,也可以指定其他的目录。
    点击“继续”按钮进入下一步,在右侧的“密码”和“确认”文本框中输入至少6位的用户密码。
    密码最好是数字、字母及特殊字符的组合,图方便使用简单的数字、英语单词、生日、电话等都可能成为个人信息安全的隐患。
    可以设置用户密码的使用期限,选中“永不过期”则用户密码永远有效;选择“无密码”表示该用户不需要密码就可以登录系统。
    点击“继续”按钮进入“用户--组关系设置”界面。
    从系统已有的用户组列表中选择新添加用户将从属的组,按“增加->”按钮加入“隶属于”列表。
    一个用户可以同时从属于几个不同的组,在“主组群”中选择用户所属的主组名称。
    Red Flag Server 4.1 使用 UPG(user private group)机制,如果在此步骤中没有选择新用户所属的用户组,系统会在创建新用户的同时会默认创建一个和用户名同名的组。
    点击“继续”按钮进入下一步,弹出窗口中显示了将添加用户的信息,按下“完成”按钮,新建的用户将加入用户列表。
    rfuser 会将新创建的用户同时加入系统的 samba 用户列表,即该用户也同时成为能够使
    用 SMB 远程访问本机文件或打印机的授权用户。

    2.2.3 编辑用户属性
    要查看或修改一个已存在用户的属性,在主界面的用户列表中选中该用户双击鼠标,或按下工具
    栏中的“设置属性”按钮,也可以在菜单中选择“工具设置属性”,出现图2-5的的窗口:
    用户属性窗口分为三个标签页:
    用户信息:查看或修改用户的基本信息。
    密码:设置或修改用户口令、用户帐号的时限,设置当前用户是否可以登录系统等。
    用户--组关系:查看或修改用户所属的组群,设置所属的主组群等。
    编辑完成后按“修改”按钮使所做的配置生效。
    还有一种编辑用户属性的方法是:在用户列表中选择某一用户,单击鼠标右键,在快捷菜单中选择相应的菜单项进行修改。
    2.2.4 添加新组
    系统管理过程经常要建立新的组群,点击工具栏中的“添加新组群”按钮,出现“增加新组群”对话框。 输入新组群的名称,组群名称的首位必须是英文字母,并且不能与已有的组群名重复。组ID是该组群在系统中唯一的标识,范围是1~65535,默认情况下,系统会为新添的用户组指定一个500以上的标识号,也可以手工指定一个标识号,但推荐由系统自动分配。点击“继续”按钮,在右侧的视图中设置组成员信息。从系统的用户列表中选择将隶属于新组的成员,按“增加->”按钮加入“组成员”列表。一个组中可以包含多个用户。
    点击“继续”按钮进入下一步,弹出窗口中显示了将添加用户组的信息,按下“完成”按钮,新添的用户组将出现在组列表中。

    2.2.5 编辑组群属性
    在主界面的组列表中选中一个已存在的组双击鼠标右键,按工具栏中的“设置属性”按钮,或在菜单中选择“工具设置属性”,显示组属性设置窗口,可以对组群名称、组ID、组用户成员等属性进行修改。
    还有一种编辑组属性的方法是:在组列表中选择某组,单击鼠标右键,在快捷菜单中选择相应的菜单项进行修改。

    2.2.6 删除本地用户和组
    在列表中选择要删除的用户或用户组,按下工具栏中的“删除”按钮,或者在菜单中选择“工具删除”,确认是否删除系统用户或用户组。
    删除用户后,该用户主目录及其所有文件也将被删除。

    2.3 命令行界面下的用户和组管理

    2.3.1 用户管理
    2.3.1.1 添加新用户
    在命令行下,超级用户 root 可以按照以下的步骤来创建新的用户帐号:
    1、 在 shell 提示符下,运行命令 useradd 或 adduser 来增加一个用户:
    如要在系统中加入一个名为 newuser 的新用户,可以使用以下的命令:
    # useradd newuser
    useradd 命令还有很多可选参数,用来设置新建用户的一些属性,详细的参数使用方法,请参考
    其 man page。
    2、 为用户设置口令:
    通过 passwd 命令可以完成为新建用户设立口令。例如,超级用户要设置或改变用户 newuser 的
    口令时,可使用命令:
    # passwd newuser
    系统会提示输入新的口令,新口令需要输入两次。出于安全的原因,键入口令时不会在屏幕上回
    显出来。当用户使用不带参数的 passwd 命令时,可以修改自己的口令。
    useradd 命令的常用参数和选项如下表:
    选项和参数 描述
    -c comment /etc/passwd 文件中用户全名或注释域的内容。
    -d home-dir 指定用于取代默认的 /home/username 的用户主目录。
    -e date 禁用账号的日期,格式为:YYYY-MM-DD
    -f days 口令过期后,账号禁用前的天数。
    -g group-name 用户所属主组群的组群名或组群ID(该组群在指定前必须存在)。
    -G group-list 用户是其中成员的其他组群名或组群号码(默认以外的)列表,用逗号分隔(组群在指定前必须存在)。 -m 若主目录不存在则创建它。
    -M 不要创建用户主目录。
    -n 不要为用户创建用户私人组群。
    -r 创建一个 UID 小于500的不带主目录的系统账号。
    -p password 使用 crypt 加密的口令。
    -s 指定用户登录 shell,默认为 /bin/bash。
    -u uid 指定用户的 UID,它必须是唯一的,且大于499。
    2.3.1.2 临时禁止一个用户
    有时,需要临时禁止一个用户帐号的使用而不是删除它。可以采用以下两种方法:
    1、 把用户的记录从 /etc/passwd 文件中去掉,保留其主目录和其它文件不变;
    2、 在 /etc/passwd 文件(或 /etc/shadow)中关于该用户的 passwd 域的第一个字符前面加上一个“*”号。

    2.3.1.3 删除用户
    完全删除一个用户包括:
    1、 删除 /etc/passwd 文件中此用户的记录;
    2、 删除 /etc/group 文件中该用户的信息;
    3、 删除用户的主目录;
    4、 删除用户所创建的或属于此用户的文件。
    userdel 命令可以用来删除用户及其主目录。命令的格式为:
    # userdel [-r]
    使用 -r 选项,表示用户主目录及其内部的文件将被删除。

    2.3.2 用户组管理
    以下是用户组管理的几个常用命令。

    2.3.2.1 建立组
    groupadd 命令用于将新组加入系统,命令的格式为:
    # groupadd newgroup
    新建的组默认使用大于500并大于每个其他组的 ID 的最小数值。如果要指定组的ID,可以在命令中加入 -g 参数,如下面的命令将在 /etc/passwd 文件中产生 GID 为503的项目:
    # groupadd -g 503 newgroup
    groupadd 命令的常用参数和选项如下表:
    选项和参数 描述
    -g gid 指定用户组的 GID,它必须是唯一的,且大于499。
    -r 创建小于500的系统用户组。
    -f 若用户组已存在,退出并显示错误(组不会被改变)。如果指定了 -g 和 -f 选项,且用户组已存在,-g 选项就会被忽略。

    2.3.2.2 在组中加入用户
    在组中加入用户的方法是直接编辑 /etc/group 文件。前面讲过,这个文件的每一行表示一个组的
    信息,其中第四个域代表组内用户的列表。例如:user1、user2、user3 都属于组group1,其组的 ID 为509,则组的项目就是:
    group1::509:user1,user2,user3
    要将新用户加入组中,只需用在文件编辑器中编辑 /etc/group 文件,并将用户名加入用户列表中,用逗号分隔开即可。

    2.3.2.3 删除组
    使用 groupdel 命令来删除组。命令的格式如下:
    # groupdel
    有几点需要注意:
    1、 组中的文件不能自行删除,也不能自行改变所属的组;
    2、 如果组是用户的基本组(即 /etc/passwd 文件中显示为该用户的组),则这个组无法删除。

  35. ming 于 2005-07-11 00:21:57发表:

    1.5 定向和管道
    执行一个 Shell 命令行通常会自动打开三个标准文件,即标准输入文件(stdin),通常对应终端的键盘;标准输出文件(stdout)和标准错误输出文件(stderr),这两个文件都对应终端的屏幕。进程从标准输入文件中得到数据,将正常输出数据输出到标准输出文件,而将错误信息送到标准错误文件中。
    下面以 cat 命令为例,cat 命令的功能是从命令行给出的文件中读取数据,并将这些数据直接送到标准输出。例如,使用以下命令:
    $ cat config
    将会把文件 config 的内容依次显示到屏幕上。但是,如果 cat 的命令行中没有参数,它就会从标准输入中读取数据,并将其送到标准输出。例如:
    $ cat
    Hello world
    Hello world
    $
    直接使用标准输入/输出文件存在以下问题:
    1、 数据从标准终端输入时,输入的数据只能用一次,下次再想用这些数据时就需要重新输入;而且在终端上输入时,若输入有误修改起来也不方便。
    2、 输出到终端屏幕上的信息只能看不能修改。用户无法输出的内容进行更多处理,如将输出作为另一命令的输入进行进一步的处理等。
    为了解决上述问题,Linux 系统为输入、输出的传送引入了另外两种机制,即输入/输出重定向和管道。

    1.5.1 输入重定向
    输入重定向是指把命令(或可执行程序)的标准输入重定向到指定的文件中。也就是说,输入可以不是来自于键盘,而来自一个指定的文件。
    例如,命令 wc 统计指定文件包含的行数、单词数和字符数。如果仅在命令行上键入:
    $ wc
    wc 将等待用户的输入,这时 Shell 好像死了一样,从键盘键入的所有文本都出现在屏幕上,但并没有什么结果,直至按下 ,wc才将命令结果写在屏幕上。
    如果给出一个文件名作为 wc 命令的参数,wc 将返回该文件所包含的行数、单词数和字符数。
    另一种把 /etc/passwd 文件内容传给 wc 命令的方法是重定向 wc 的输入。输入重定向的一般形式为:
    命令<文件名
    可以用下面的命令把 wc 命令的输入重定向为 /etc/passwd 文件:
    $ wc < /etc/passwd
    20 23 726
    大多数命令都以参数的形式在命令行指定输入文件的文件名,所以输入重定向并不经常使用。尽管如此,当使用一个不接受文件名作为输入参数的命令,或需要的输入内容存在于一个文件里时,就能用输入重定向解决问题。

    1.5.2 输出重定向
    输出重定向是指把命令(或可执行程序)的标准输出或标准错误输出重新定向到指定文件中。这样,该命令的输出就不显示在屏幕上,而是写入到指定文件中。
    输出重定向比输入重定向更常用。例如,如果某个命令的输出很多,在屏幕上不能完全显示,那么将输出重定向到一个文件中,然后再用文本编辑器打开这个文件,就可以查看输出信息;如果想保存一个命令的输出,也可以使用这种方法。还有,输出重定向可以用于把一个命令的输出当作另一个命令的输入。
    输出重定向的一般形式为:
    命令>文件名
    例如:
    $ ls > directory.out
    $ cat directory.out
    ch1.doc ch2.doc ch3.doc chimp config mail/ test/
    将 ls 命令的输出保存为一个名为 directory.out 的文件。
    如果 “>” 符号后边的文件已存在,那么这个文件将被覆盖。

    为避免输出重定向中指定文件只能存放当前命令的输出重定向的内容,Shell 提供了输出重定向的一种追加手段。
    输出追加重定向与输出重定向的非常相似,区别仅在于输出追加重定向的功能是把命令(或可执行程序)的输出结果追加到指定文件的最后,而该文件原有内容不被破坏。
    如果要将一条命令的输出结果追加到指定文件的后面,可以使用追加重定向操作符“>>”。形式为:
    命令>>文件名
    例如:
    $ ls *.doc>>directory.out
    $ cat directory.out
    ch1.doc ch2.doc ch3.doc chimp config mail/ test/
    ch1.doc ch2.doc ch3.doc
    和程序的标准输出重定向一样,程序的错误输出也可以重新定向。使用符号2>(或追加符号2>>)
    表示对错误输出设备重定向。例如下面的命令:
    $ ls /usr/tmp 2> err.file
    可在屏幕上看到程序的正常输出结果,但又将程序的任何错误信息送到文件err.file中,以备将来检查用。
    还可以使用另一个输出重定向操作符(&>)将标准输出和错误输出同时送到同一文件中。例如:
    $ ls /usr/tmp &> output.file
    利用重定向将命令组合在一起,可实现系统单个命令不能提供的新功能。例如使用下面的命令序列,即统计了 /usr/bin 目录下的文件个数。
    $ ls /usr/bin > /tmp/dir
    $ wc -w < /tmp/dir
    459
    1.5.3 管道
    将一个程序或命令的输出作为另一个程序或命令的输入有两种方法,一种是通过一个临时文件将两个命令或程序结合在一起,例如上节例子中的 /tmp/dir 文件将 ls 和 wc 命令联在一起;另一种是Linux 所提供的管道功能,这种方法比前一种方法更方便。
    管道可以把一系列命令连接起来,这意味着第一个命令的输出会作为第二个命令的输入通过管道传给第二个命令,第二个命令的输出又会作为第三个命令的输入,以此类推。显示在屏幕上的是管道行中最后一个命令的输出。
    通过使用管道符“|”来建立一个管道行。用管道重写上面的例子:
    $ ls /usr/bin|wc -w
    1789
    再如:
    $ cat sample.txt|grep “High” |wc -l
    管道将 cat 命令的输出送给 grep 命令。grep 命令在输入里查找单词 High,grep 命令的输出则是所有包含单词 High 的行,这个输出又被送给 wc 命令,wc 命令统计出输入中的行数。假设 sample.txt 文件的内容如下:
    Things to do today:
    Low:Go grocery shopping
    High:Return movie
    High:Clear level 3 in Alien vs. Predator
    那么该管道行的结果是2。

    1.6 进程和作业控制命令
    简单地说,进程是一个程序或任务的执行过程。在 Linux 系统中,执行任何一个命令都会创建一个或多个进程。就是说,命令是通过进程实现的。
    从进程的角度可以更好地理解 Linux 操作系统的多任务概念。对于系统管理员来说,管理系统进程是日常管理的重要部分。
    用 ps 查看系统中的进程状态
    可以通 ps 命令观察进程状态,它会把当前瞬间进程的状态显示出来。可以根据显示的信息确定哪个进程正在运行,某个进程是被挂起,还是遇到了某些困难,进程已运行了多久,进程正在使用的资源,进程的相对优先级,以及进程的标识号(PID)。所有这些信息对用户都很有用,对于系统管理员来说更为重要。
    ps 命令的一般用法是:
    ps [option] [arguments]…
    ps命令有以下几个主要的参数:
    -a: 显示包括系统中所有用户进程的状态
    -f: 显示进程和子进程的树形目录
    -l: 以长列表形式显示进程信息
    -r: 只显示正在运行的进程
    -u: 以用户格式显示进程信息,给出用户名和起始时间
    pids: 显示指定ID的进程的信息
    如果不带任何选项,ps 命令列出每个与您的当前 shell 有关的进程的 PID。结果如下:
    PID TTY TIME CMD
    596 pts/0 00:00:00 bash
    627 pts/0 00:00:00 vi
    628 pts/0 00:00:00 ps
    其中,各字段的含义如下:
    ----PID:进程标识号
    ----TTY:开始该进程的终端号
    ----TIME:报告进程累计使用的CPU时间
    ----CMD:正在执行的进程名
    要获得一个完整的进程信息列表,可以使用带有下列选项的 ps 命令:
    ps -aux
    它除了列出以上字段以外,还列出 CPU 使用率(%CPU),内存使用率(%MEM),虚拟映像大小(SIZE)、驻留数据集大小(RSS)、终端号(TTY)、状态(STAT)。
    top 命令
    top 命令用于读入计算机系统的信息,这些信息包括当前的系统数据和进程的状态等。输入 top 命令后,屏幕输出如下:
    图中的每一列显示了系统的详细信息,图中开头几行的信息含义如下:
    Uptime: 显示当前时间、自上次启动系统开始过去的时间、激活用户的数目以及在过去1、5和15分钟之内的CPU平均占用情况。
    Process: 显示了系统所有的进程,并把进程按挂起、运行、创建和停止分类。
    CPU states: 统计被用户和系统占用的当前CPU的状态。
    Mem: 统计当前内存的占用状态。
    Swap: 统计了swap区域的占用情况。
    在 top 命令中显示了进程的列表,其中包括的内容有:PID、用户、优先级、nice 参数、所需的内存信息(SIZE、RSS、SHARE)、状态(STAT)、CPU占用的百分比、占用的内存信息、已用的计算机时间和各自的程序调用(COMMAND)等。关于 top 命令的详细使用信息,可查看其在线帮助。
    用 kill 命令终止进程
    运行过程中,可能在某一时刻,系统中有的进程出现了问题,不能正常运行,但也不能正常退出。
    这时可以使用 kill 命令终止进程的执行,释放这些进程占用的系统资源,常用的 kill 命令的格式为:
    kill [-s signal] pid
    kill -l [signal]
    命令的选项和参数的意义如下:
    pid 给出了需要结束的进程的PID,可以通过命令 ps 获得进程的 PID。在命令 kill 中可以一次列出许多的进程 PID。
    -s signal 是一个可选参数,用来给出发给进程的信号。在默认情况下,命令 kill 给进程发TERM信号,该信号将通知进程退出。如果进程不接收该信号,可以通过参数 -9 强行结束进程。
    -l 该参数要求 kill 命令列出它可以发给进程的所有信号。
    用 at 安排任务
    at 命令实现在指定的时间运行您安排的作业。at 命令的一般用法如下:
    at [选项] 时间 [日期]
    at hh:mm: 用指定的小时(hh)和分钟(mm)(24小时制)安排作业;
    at hh:mm month day year: 用指定的年(year)、月(month)、日(day)、小时(hh)和分钟(mm)安排作业;
    at -l: 列出已安排的作业;
    at now +count time_units: 作业运行的时间安排在现在的时间加上count个时间单位。时间单位(time_units)可以是分钟、小时、天或星期;
    at -d job_id: 取消作业号与job_id相同的作业;
    由 at 命令调度的命令是在 at 命令行后输入的命令列表。at 的命令列表可以从标准输入(stdin)得到。如果标准输入来自键盘,您应该在输入完命令之后键入 ,表明输入结束。

    1.7 基本网络命令
    Red Flag Server 4.1 具有强大的网络功能,提供了丰富的网络应用程序,完全支持 TCP/IP 协议。在网络环境下,可以进行远程注册、远程命令调用、传送文件等操作。本节介绍了几个基本的网络操作命令。

    1.7.1 telnet命令
    telnet 命令是 Linux 下的远程登录工具,只要拥有合法的注册名和口令,就能像使用本地机器一样访问远程计算机了。telnet 也允许用户通过输入注册名和口令从远程网点登录到自己的计算机上,从而通过网络或电话线完成检查电子邮件、编辑文件和运行程序等操作。但是 telnet 只能在字符终端方式下工作,不支持图形用户界面。
    telnet 的基本用法是:
    telnet [选项] IP地址/主机名
    命令键入后,telnet 即会启动一个远程会话,本命令可使用的选项参数主要有:
    -d 启动调试功能
    -a 自动注册
    -n tracefile 打开跟踪程序,把跟踪程序数据保存在 tracefile 中
    -e escape_char 将会话的转义字符设置为 escape_char
    -l user 把用户名发送给远程系统,以便自动注册。本参数自动包括 -a 参数
    port 指出与远程系统连接的端口号,如不指定,将连接到缺省端口
    成功地连接到远程计算机上后,telnet 就显示登录信息,并提示用户输入注册名与口令,如注册成功,就可以开始工作了。
    在使用 telnet 后需要退出注册回到本地的 shell 命令提示符下。

    1.7.2 ftp命令
    FTP(文件传输协议)是在 TCP/IP 网络计算机之间传输文件的简单而有效的办法。ftp 命令的功能是在本地机和远程机之间传送文件。它允许用户传输 ASCII 文件和二进制文件。在 ftp 会话过程中,用户可以通过使用 ftp 客户程序连接到另一台计算机上。用户可以在目录中上下移动、列出目录内容、把文件从远程机拷贝到本地机上、把文件从本地机传输到远程系统中。前提当然是您必须在本地和远程文件系统中具有进行这些操作的权限。
    ftp 命令的基本格式如下:
    ftp [选项] IP地址/主机名
    可以用 help 命令取得可供使用的命令清单,也可以在 help 命令后面指定具体的命令名称,获得这条命令的说明。
    ls 列出远程机的当前目录
    cd 在远程机上改变工作目录
    lcd 在本地机上改变工作目录
    ascii 设置文件传输方式为 ASCII 模式
    binary 设置文件传输方式为二进制模式
    close 终止当前的 ftp 会话
    hash 每次传输完数据缓冲区中的数据后就显示一个#号
    get(mget) 从远程机传送指定文件到本地机
    put(mput) 从本地机传送指定文件到远程机
    open 连接远程 ftp 站点
    quit 断开与远程机的连接并退出ftp
    ? 显示本地帮助信息
    ! 转到 Shell 中
    随着 Intelnet 的快速发展,提供信息资源的网站往往无法为每个要使用 FTP 的用户开设帐号,因此出现了一种匿名 FTP 机制:可以使用 anonymous 用户名,用自己的电子邮件地址作为口令来访问大多数共享信息资源。但是因为安全的原因,匿名 FTP 的可访问资源是有限的,而且有些网站也不提供这种服务。

    1.7.3 ping命令
    ping 命令用来确定网络上的主机是否可到达和到达速率。ping 命令的格式为:
    ping [选项] IP地址/主机名
    ping 命令将大小固定的数据包发送给对方,并要求对方返回。当终止 ping 命令时,会显示一些统计数据。通过数据判断是否返回以及返回时间,用户可以确定对方是否可到达,是否开机,以及网络延时时间。如果您要退出请按 中断。

    1.7.4 finger命令
    使用 finger 命令来查询系统用户的信息,该命令的基本格式为:
    finger [选项] 用户名@主机名
    运行 finger 命令后会显示系统中某个用户的用户名、主目录、停滞时间、登录时间、登录 shell 等信息,查询远程机上的用户信息时,就需要的用户名后面加上“@主机名”的方式。

  36. ming 于 2005-07-11 00:21:37发表:

    1.3.2 创建新文件
    可以利用命令和实用程序来创建文件,如文本编辑器,专门用于把有用的数据放入文件中。然而,有时可能只需要仅有文件名的文件,即空文件。
    Linux 系统提供 touch 命令来创建空文件。其语法如下:
    touch 文件名 [文件名…]
    不存在的文件名被当作空文件创建。已存在文件的时间标签会更新为当前的时间(默认方式);它们的数据将原封不动地保留下来。

    1.3.3 拷贝文件
    使用 cp 命令可以做文件的备份,或者做其他用户文件的个人拷贝。
    可以使用 cp 命令把一个源文件拷贝到一个目标文件,或者把一系列文件拷贝到一个目标目录中。
    其语法是:
    cp 源文件 目标文件
    cp 源文件1 [源文件2…] 目标文件
    在第一种语法格式中,源文件被拷贝到目标文件。
    ----如果目标文件是目录文件,那么把源文件拷贝到这个目录中,而文件名保持不变;
    ----如果目标文件不是目录文件,那么源文件就拷贝到该目标文件中,后者原有的内容将被破坏,但文件名不变;
    在第二种语法格式中,所有的源文件都被拷贝到目标文件----该目标文件必须是目录文件,所有源文件的名字都不变。

    cp命令复制一个文件,而原文件保持不变。如果把一个文件拷贝到一个已经存在的目标 文件中,那么,原目标文件的内容将被破坏!

    1.3.4 移动和重命名文件
    mv 命令用来移动文件或对文件重命名。该命令的语法为:
    mv 源文件 目标文件
    mv 源文件1 [源文件2…] 目标文件
    在第一种用法中,源文件被移至目标文件后有两种不同的结果:
    ----如果目标文件是某一目录文件的路径,源文件会被移到此目录下,且文件名不变;
    ----如果目标文件不是目录文件,则源文件名会变为此目标文件名,并覆盖已存在的同名文件;
    在第二种用法中,所有的源文件都会被移至目标文件,这里的目标文件必须是目录文件。所有移到该目录下的文件都将保留以前的文件名。
    如果将一个文件移到一个已经存在的目标文件,则目标文件的内容将被覆盖!
    如果源文件和目标文件在同一个目录下,mv的作用就是重命名文件,例如:
    mv oldname newname

    1.3.5 删除文件
    用 rm 命令删除不需要的文件和目录。该命令的语法为:
    rm [选项] 文件名1 [文件名2…]
    在删除文件之前,最好再看一下文件的内容,确定是否真正要删除。
    -i 选项:这个选项在使用文件扩展名字符删除多个文件时特别有用。此选项会要求用户逐一确定是否要删除文件,必须输入 y 或 Y,按 后才能删除文件。如果仅按 键或其他字符,文件不会被删除。
    -r 选项:可以删除目录。当一个目录被删除时,所有文件和子目录都将被删除。注意,它是一个非常危险的命令选项!

    1.3.6 文件链接
    红旗 Linux 具有为一个文件起多个名字的功能,称为链接。这样只要对一个文件修改,就可以完成对所有目录下相应链接文件的修改。
    ln 命令用来创建链接,语法为:
    ln 源文件 目标文件
    ln 源文件1 [源文件2…] 目标文件
    在第一种语法格式中,如果目标文件是到某一目录文件的路径,源文件会链接到此目录下,文件名不变;如果目标文件不是到某一目录文件的路径,源文件会链接到此目标文件,并覆盖已经存在的同名文件。
    在第二种语法格式中,所有的源文件都被链接到目标文件----该目标文件必须是目录文件。所有源文件的名字都不变。
    文件链接有两种形式,即硬链接和符号链接。

    硬链接
    默认情况下,ln 命令创建硬链接。
    一个文件的硬链接数可以在目录的长列表格式的第二列中看到,无额外链接的文件链接数为1。
    ln 命令会增加链接数,rm 命令会减少链接数。一个文件除非链接数为0,否则不会物理地从文件系统中被删除。
    对硬链接有如下限制:不能对目录文件作硬链接;不能在不同的文件系统之间作硬链接。

    符号链接
    符号链接也称软链接,是将一个路径名链接到一个文件,事实上,它只是一个文本文件,其中包含它提供链接的另一个文件的路径名。另一个文件是实际包含所有数据的文件。所有读写文件内容的命令,当它们被用于符号链接时,将沿着链接方向前进去访问实际的文件。
    如果给 ln 命令加上 s 选项,则建立符号链接。例如:
    ln -s source destination
    符号链接没有硬链接的限制,可以对目录文件作符号链接,也可以在不同文件系统之间作符号链接。

    1.3.7 文件内容比较
    比较文本文件
    diff 命令用于比较文本文件,并显示两个文件的不同。其一般格式是:
    diff 文件1 文件2…
    如果两个文件完全一样,则不显示任何输出。如果有区别,就会分段显示两个文件的区别。
    比较数据文件
    cmp 命令比较任何两个包含正文或数据的普通文件。其一般语法为:
    cmp file1 file2
    由于二进制数据不能显示到屏幕上,cmp 命令只是简单的报告从哪一个字节开始出现不同。
    1.3.8 查找文件
    find 命令
    find 命令用来查找文件和目录的位置。该命令的语法为:
    find 路径名 [选项]
    其中,常用的选项有:
    -print:显示输出查找到的结果。如果未指定任何选项,则系统默认是 -print。如 find命令的最基本的用法就是列出指定目录下的所有文件和子目录:
    # find /usr -print
    -name:按文件名查找。
    -size:按文件大小查找。
    例如,下面的命令将查找/usr目录下超过100k的文件:
    # find /usr -size 100k
    -user:按文件主查找。
    -type:按文件类型查找。常见的类型有:
    b 块特别文件
    c 字符特别文件
    f 普通文件
    l 符号链接文件
    d 目录文件
    locate 命令
    locate是一个使用方便且查询速度极快的文件和目录查找命令。该命令的语法为:
    locate 文件名 [选项]
    使用 locate 命令的前提是要先创建一个用于定位文件或目录位置的 slocate 数据库,而且该数据库应是时时更新的,这样才可以保证 locate 查找结果的准确性。
    以下命令用于从 / 开始创建 slocate 数据库:
    # locate -u
    数据库创建后就可以查找文件了。例如,要查找所有关于 telnet 命令的文件。可以使用:
    # locate telnet
    locate 命令将在其数据库中检查所有匹配于 telnet 的文件和目录并在屏幕上显示结果。
    更新 slocate 数据库的命令是 updatedb,需要以 root 用户身份执行此命令。
    一般情况下,系统管理员会设置由 cron 程序在夜间自动更新数据库。cron 是一个后台守护进程,
    它定期执行计划好的任务。关于设置任务计划的详情,请参阅本手册第4章相关内容。

    1.3.9 在文件中查找正文
    grep 命令用来在文本文件中查找指定模式的词或短语,并在标准输出上显示包括给定字符串的所有行。grep 命令的语法为:
    grep [选项] 查找模式 文件名 [文件名…]
    默认情况下,grep 在查找模式时是区分大小写的;如果不想区别大小写,可以用选项 -i。
    例如,下面的命令将在 /etc 目录及其子目录下的所有文件中查找字符串“hello world”出现的次数:
    # grep ‘hello world’ /etc/*/*
    查找模式可能是唯一的参数,如果在模式中使用了 shell 元字符,通常要使单引号(’)把它括起来。

    1.4 文件权限操作
    在多用户操作系统中,出于安全性的考虑,需要给每个文件和目录加上访问权限,严格地规定每个用户的权限。同时,用户可以为自己的文件赋予适当的权限,以保证他人不能修改和访问。
    1.4.1 改变文件主
    Linux 为每个文件都分配了一个文件所有者,称为文件主,对文件的控制取决于文件主或超级用户(root)。文件或目录的创建者对创建的文件或目录拥有特别使用权。
    文件的所有关系是可以改变的,chown 命令用来更改某个文件或目录的所有权。chown命令的语法格式是:
    chown [选项] 用户或组 文件1 [文件2…]
    用户可以是用户名或用户ID。文件是以空格分开的要改变权限的文件列表,可以用通配符表示文件名。
    如果改变了文件或目录的所有权,原文件主将不再拥有该文件或目录的权限。
    系统管理员经常使用 chown 命令,在将文件拷贝到另一个用户的目录下以后,让用户拥有使用该文件的权限。

    1.4.2 改变用户组
    在 Linux 下,每个文件又同时属于一个用户组。当创建一个文件或目录,系统会赋予它一个用户组关系,用户组的所有成员都可以使用此文件或目录。
    文件用户组关系的标志是 GID。文件的 GID 只能由文件主或超级用户(root)来修改。chgrp 命令可以改变文件的 GID,其语法格式为:
    chgrp [选项] group 文件名
    其中 group 是用户组 ID。文件名是以空格分开的要改变属组的文件列表,它支持通配符。

    1.4.3 文件权限设置
    Linux 系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作。
    访问权限规定三种不同类型的用户:
    ----文件主(owner)
    ----同组用户(group)
    ----可以访问系统的其他用户(others)
    访问权限规定三种访问文件或目录的方式:
    ----读(r)
    ----写(w)
    ----可执行或查找(x)
    当用 ls -l 命令或 l 命令显示文件或目录的详细信息时,最左边的一列为文件的访问权限。其中各位的含义如下:

    文件访问权限
    读权限(r): 只允许指定用户读其内容,而禁止对其做任何的更改操作。将所访问的文件的内容作为输入的命令都需要有读的权限。例如:cat、more等。
    写权限(w): 允许指定用户打开并修改文件。例如命令vi、cp 等。
    执行权限(x): 指定用户将该文件作为一个程序执行。
    目录访问权限
    读权限(r): 可以列出存储在该目录下的文件,即读目录内容列表。这一权限允许 shell使用文
    件扩展名字符列出相匹配的文件名。
    写权限(w): 允许从目录中删除或添加新的文件,通常只有目录主才有写权限。
    执行权限(x): 允许在目录中查找,并能用 cd 命令将工作目录改到该目录。

    1.4.4 改变文件权限

    1.4.4.1 以符号模式改变权限
    chmod 用于改变文件或目录的访问权限。用户可以用它控制文件或目录的访问权限。只有文件主或超级用户 root 才有权用 chmod 改变文件或目录的访问权限。
    chmod 命令的语法为:
    chmod key 文件名
    key 由以下各项组成:
    [who] [操作符号] [mode]
    其中,操作对象 who 可以是下述字母中的任一个或者它们的组合:
    u user,表示用户,即文件或目录的所有者。
    g group,表示同组用户,即与文件属主有相同组 ID 的所有用户。
    o others,表示其他用户。
    a all,表示所有用户。它是系统默认值。
    操作符号可以是:
    + 添加某个权限
    - 取消某个权限
    = 赋予给定权限并取消其他所有权限(如果有的话)
    mode 所表示的权限可用下述字母的任意组合:
    r 可读
    w 可写
    x 可执行
    s 在文件执行时把进程的属主或组 ID 置为该文件的文件属主
    t 保存程序的文本到交换设备上
    u 与文件属主拥有一样的权限
    g 与和文件属主同组的用户拥有一样的权限
    o 与其他用户拥有一样的权限
    这三部分必须按顺序输入。可以用多个 key,但必须以逗号间隔。 1.4.4.2 以绝对方式改变权限 通常也可以用 chmod 命令配以不同类型的 key 直接设置权限。这时以数字代表不同的权限。这里 key 可以包括三个(或三个以上)的数字,每个数字表示对不同类型用户的权限。
    数字表示的属性的含义:
    0 表示禁止该权限,1 表示可执行权限,2 表示可写权限,4 表示可读权限,然后将其相加。所以数字属性的格式应为3个从0到7的八进制数,其顺序是(u)(g)(o)。
    通常,key 是以三位八进制数字出现的,第一位表示用户权限、第二位表示组权限,第三位表示其他用户权限。
    例如,要使文件 myfile 的文件主和同组用户具有读写权限,但其他用户只可读,可以用以下命令指定权限:
    chmod 664 myfile

    1.4.5 默认权限
    默认情况下,系统将创建的普通文件的权限设置为 -rw-r-r ,即文件主对该文件可读可写(rw),而同组用户和其他用户都只可读;同样,在默认配置中,将每一个用户主目录的权限都设置为drwx,即只有文件主对该目录可读、写和可查询(rwx),即用户不能读其他用户目录中的内容。
    用户可以修改新建文件的默认存取权限,如使用如下命令:
    umask u=rwx,g=,o=
    它会在创建新文件时给文件主以全部权限,而同组用户及其他用户没有任何权限。