Linux系统管理和网络管理.ppt

上传人:za****8 文档编号:15800659 上传时间:2020-09-07 格式:PPT 页数:355 大小:6.46MB
返回 下载 相关 举报
Linux系统管理和网络管理.ppt_第1页
第1页 / 共355页
Linux系统管理和网络管理.ppt_第2页
第2页 / 共355页
Linux系统管理和网络管理.ppt_第3页
第3页 / 共355页
点击查看更多>>
资源描述
第9章 软件包管理,Linux与Windows操作系统下的软件安装方式是截然不同的,Linux下常见的软件安装方式主要有RPM安装包、源代码安装包和bin安装包3种,这3种安装包的安装方法各有不同。除此之外,Linux系统还提供了很多压缩和打包工具用于文件的管理和发布。在本章中将会就上述的这些安装包和压缩工具逐一进行介绍。,9.1 安装RPM软件包,RPM(Redhat Package Manager,简称RPM)是RedHat公司开发的一个Linux软件包安装和管理程序。它的出现可以解决Linux下使用传统方式进行软件安装所带来的文件分散,管理困难等问题。用户可以方便地在Linux系统中安装、升级和删除软件,以及在一个统一的界面中对所有的RPM软件包进行管理。,9.1.1 RPM简介,RPM类似于Windows平台上的Uninstaller,使用它用户可以自行安装和管理Linux上的应用程序和系统工具。在RPM出现前的很长一段时间里,Linux操作系统下的软件安装的管理是非常松散的,存在着各种各样的二进制软件安装包和源代码安装包。这些安装包的安装方式五花八门,而且都没有一个统一的管理界面,这就为管理员的管理系统中的软件包带来了很多的不便,管理员必须手工的维护自己操作系统中的软件安装列表,而这个工作量并不小。 正是由于RPM的方便以及强大的管理功能,使得它得到越来越多的操作系统平台的支持,除各种Linux发行版本外,它还被移植到了SunOS、Solaris、AIX、Irix等其他UNIX操作系统上。它的软件包文件都是以.rpm为后缀,一般采用如下的命名格式: 软件包名称-版本号-修正版.硬件平台.rpm,9.1.2 RPM命令的使用方法,RPM软件包的安装、删除、升级、查看和验证等所有的操作都是由rpm这一命令来进行的。rpm命令有12种模式,不同模式有不同的命令格式,能完成不同的管理功能,其中常用模式的命令格式如下所示。 查询模式: 验证模式: 安装模式: 升级模式: 删除模式: 这5种模式分别对应软件包的查看、验证、安装、升级和删除。不同模式的rpm命令会使用不同的命令选项,其中包括一般选项、选择选项(select-options)、查询选项(query-options)、验证选项(verify-options)、安装选项(install-options)和删除选项(erase-options)6种:,9.1.3 安装RPM软件包,要安装一个rpm软件包,只需要简单输入命令“rpm -ivh 软件包文件名”,例如要安装sun-javadb-client-10.4.1-3.1.i386.rpm文件,如下所示。 # rpm -ivh sun-javadb-client-10.4.1-3.1.i386.rpm Preparing. # 100% 1:sun-javadb-client # 100%,9.1.4 查看RPM软件包,使用rpm命令可以查看指定软件包的详细信息、安装的文件清单、依赖的软件包清单、某个软件包是否已经安装、系统中所有已安装软件包的清单等信息。 1查看软件包的详细信息 2查看软件包的文件清单 3查看软件包所依赖其他所有软件包 4查看系统中已安装的所有装软件包的清单,9.1.5 升级软件包,对于已经安装的RPM软件包,如果由于版本过低,希望升级到一个更高版本,可以使用带“-U”选项的rpm命令,如下所示。 rpm -Uvh 软件包文件名,9.1.6 删除软件包,使用删除模式的rpm命令可以删除系统中已安装的软件包,例如要删除软件包sun-javadb-client-10.4.1-3.1.i386,如下所示。 # rpm -e sun-javadb-client-10.4.1-3.1.i386 与安装模式一样,删除模式的rpm命令也只是“-test”选项模拟删除已安装软件包,如下所示。 # rpm -e -test sun-javadb-client-10.4.1-3.1.i386 在删除已安装的软件包前,系统会先检查该软件包是否有被其他软件包所依赖,如果存在依赖关系,则系统会拒绝删除该软件包。因为一旦该软件包被删除,那么其他依赖它的软件包将无法正常使用,如下所示。 # rpm -e -test libstdc+-devel-4.1.2-42.el5.i386 error: Failed dependencies: libstdc+-devel = 4.1.2-42.el5 is needed by (installed) gcc-c+-4.1.2-42.el5.i386,9.2 打包程序tar,在Linux系统上,很多的软件包都是通过tar(tape archive,磁带归档)进行打包发布的,所以了解tar工具的使用对于学习Linux系统上的软件安装非常有帮助。在本节中将会介绍tar工具的一些常见用法,包括打包文件、还原文件、查看归档文件内容以及压缩归档文件等。,9.2.1 tar简介,tar是UNIX和Linux操作系统上的一个有着非常悠久历史的经典工具,至今仍被广泛使用。其最初是被设计用于将系统中需要备份的文件打包到磁带上。随着计算机硬件的发展,现在它被更多地用于磁盘上的文件备份以及文件的打包管理方面。 tar可以打包整个目录树,把目录下的各级子目录以及文件都打包成为一个以.tar为后缀的归档文件,便于文件的保存和传输。还原的时候,tar可以把打包文件中的所有文件和目录都还原出来,也可以只还原其中的某些目录或文件。tar命令本身不具备压缩的功能,但是它可以与其他第三方的压缩程序配合使用,例如经常看到的.tar.gz后缀的文件是tar打包后再经gzip压缩,而.tar.Z则是经compress压缩,而.tar.bz2是经bzip2压缩。,9.2.2 打包文件,使用tar命令,可以把一个目录中的所有文件和子目录打包成一个以.tar为后缀的打包文件。假设系统中有一个files的目录,目录中有如下的内容: # ls files dir1 dir2 file1 file2 file3 # tar -cvf files.tar files files/ files/file1 files/dir2/ files/dir2/file6 files/dir2/file7 files/dir1/ files/dir1/file4 files/dir1/file5 files/file3 files/file2,9.2.3 查看归档文件的内容,对于通过tar命令打包生成的归档文件,如果要查看其中的内容,可以使用带“-t”选项的tar命令,具体如下所示。 # tar -tvf files.tar/查看归档文件files.tar的内容 drwxr-xr-x root/root 0 2008-09-01 11:44:07 files/列出文件清单 -rw-r-r- root/root 0 2008-09-01 11:37:37 files/file1 drwxr-xr-x root/root 0 2008-09-01 11:38:16 files/dir2/ -rw-r-r- root/root 0 2008-09-01 11:38:12 files/dir2/file6 -rw-r-r- root/root 0 2008-09-01 11:38:16 files/dir2/file7 drwxr-xr-x root/root 0 2008-09-01 11:38:05 files/dir1/ -rw-r-r- root/root 0 2008-09-01 11:38:02 files/dir1/file4 -rw-r-r- root/root 0 2008-09-01 11:38:05 files/dir1/file5 -rw-r-r- root/root 0 2008-09-01 11:37:47 files/file3 -rw-r-r- root/root 0 2008-09-01 11:37:39 files/file2,9.2.4 还原归档文件,对于已经使用tar命令打包的归档文件,如果要进行还原,可以使用“-x”选项。为了检验文件还原的实际效果,先把files目录删除,如下所示。 # rm -fR files # ls files ls: files: 没有那个文件或目录,9.2.5 往归档文件中追加新文件,归档文件创建后,可以通过“-r”选项在归档文件中追加新的文件,如果文件在归档文件中已经存在,那么就覆盖原来的文件。例如要往上例中的files.tar中追加file8文件,命令如下所示。 # tar rvf files.tar file8 file8,9.2.6 压缩归档文件,tar命令本身不具备压缩功能,但是它可以与其他的压缩工具配合使用。其中使用“-z”选项会调用gzip命令进行压缩和解压;“-Z”选项调用compress命令;“-j”选项调用bz2命令。在使用前首先要确保系统中已经安装了相应的压缩程序。gzip、compress和bz2对应的rpm软件包分别为“gzip-1.3.5-10.el5.i386.rpm”、“ncompress-4.2.4-47.i386.rpm”和“bzip2-1.0.3-3.i386.rpm”,这3个软件包都可以从Red Hat Linux Enterprise5安装光盘中找到。,9.3 压缩和解压,压缩文件占用较少磁盘空间,并且可以减少在网络传输中所耗费的时间。在Red Hat Linux中,用户可以使用的文件压缩工具有:gzip、bzip2、compress和zip。本节将会对这4种压缩工具进行逐一介绍。,9.3.1 使用gzip和gunzip进行压缩,gzip和gunzip是在Linux系统中经常使用的对文件进行压缩和解压缩的命令,简单方便。但是gzip只能逐个生成压缩文件,无法将多个文件或目录压缩成一个文件,所以,gzip一般都是和tar配合使用的。tar命令提供了一个“-z”选项,可以在把文件和目录打包成归档文件的同时调用gzip命令进行压缩。经过gzip命令压缩后的文件是以.gz为后缀的,使用gunzip进行解压。gzip和gunzip命令格式如下: 1压缩目录下的所有文件 2压缩部分文件 3查看压缩文件的情况 4解压缩文件,9.3.2 使用zip和unzip进行压缩,相信很多读者都有用过Windows操作系统下的winzip压缩工具,它用于对.zip格式文件进行压缩和解压缩。在Linux系统下,也有支持.zip格式压缩工具,它们就是zip和unzip。zip能支持把多个文件和目录压缩到一个文件中,如果需要在Linux和Windows间传输文件,可以使用zip进行压缩,因为该命令与Windows上的压缩工具最兼容。其命令格式如下: zip 参数 zip文件名 文件1 文件2 . 1压缩目录下所有文件和目录 2压缩部分文件 3查看压缩文件的情况 4解压文件,9.3.3 使用bzip2和bunzip2进行压缩,bzip2和bunzip2是Linux操作系统上另外一款常用的压缩工具。bzip2具有很高的压缩比例,经其压缩后的文件以.bz2为后缀,需要由bunzip2命令解压。与gzip一样,bzip2不支持把多个文件和目录打包成一个压缩文件。所以bzip2一般也是和tar命令配合使用,tar命令提供了“-j”选项在打包文件的同时调用bzip2进行压缩。在生成压缩文件后,bzip2命令默认会自动删除源文件。.bz2格式的压缩文件需要使用bunzip2命令进行解压。bzip2和bunzip2命令的格式如下: bzip2 选项 文件名 bunzip2 选项 文件名 1压缩文件 2解压文件,9.3.4 使用compress和uncompress进行压缩,compress是一个相当古老的unix文件压缩命令,压缩后的文件一般以.Z为后缀,可以使用uncompress命令解压。与gzip和bzip2一样,如果要把多个文件和目录打包到一个压缩文件中,必须要先使用tar打包再压缩,tar命令提供“-Z”选项调用compress。相对于前面介绍的3种压缩工具,compress的压缩比例较为逊色,所以现在使用compress进行压缩的用户已经越来越少。其命令格式如下: compress 选项 文件名 . uncompress 选项 文件名 . 1压缩文件 2解压文件,9.4 其他软件安装方式,虽然RPM安装包已经变得越来越普及,但是还是有部分的软件并不支持RPM方式,它们通常会以源代码安装包或者bin安装包的形式发布。尤其是源代码安装包,它具有配置灵活、版本更新快速快等优点,一直深受Exper级别的Linux用户的欢迎。在本节将会以具体的安装实例介绍这两种软件安装包的具体安装方法。,9.4.1 源代码安装,源代码需要经过gcc(GNU C Compiler)编译器编译后才能连接成可执行文件,所以在安装前需要先检查系统是否已经正确安装并配置了该编译器。gcc是GNU推出的功能强大、性能优越的多平台编译器,可以用来编译C/C+、FORTRAN、JAVA、OBJC、ADA等语言的程序,用户可根据需要选择安装支持的语言。可以通过如下步骤检查gcc是否正常。 (1)检查系统是否有安装gcc软件包。 (2)检查是否gcc和cc命令的位置是否正确。,9.4.2 源代码安装实例,下面以php-5.2.6的源代码安装包为例,演示如何在Linux系统中安装源代码程序,软件包的文件名为php-5.2.6.tar.gz,具体操作过程如下所示。 (1)使用tar命令解压源代码安装包php-5.2.6.tar.gz。 (2)执行configure配置编译选项。 (3)执行make命令编译源代码。 (4)执行make install命令安装编译后的程序,9.4.3 .bin文件安装,后缀为.bin的文件也是Linux系统中比较常见的一种软件安装包格式。.bin文件是二进制的,它是源程序经编译后得到的机器语言。部分商业软件会以.bin为后缀发布软件安装程序,例如Google地球软件。如果有在Windows系统下安装过Google地球软件的话,那么安装Google地球的Linux版本(安装文件的名称为GoogleEarthLinux.bin,用户可以通过google网站进行下载)就非常简单了。,9.4.3 .bin文件安装,9.5 常见问题处理,软件包安装是Linux系统管理的基础,本节对Red Hat Enterprise Linux 5.2软件包管理过程中常见的问题进行分析,并给出解决的方法,包括如何安装.src.rpm结尾的软件包以及查看某个程序是由哪个RPM包安装的等问题。,9.5.1 如何安装.src.rpm软件包,有些RPM软件包是以.src.rpm为后缀的,这类软件包是包含了源代码的RPM包,在安装时需要进行编译。用户可通过以下两种方法进行安装。 1生成源代码 2生成RPM二进制安装包,9.5.2 查看程序是由哪个RPM包安装,有时候需要查看某个程序是由哪个RPM软件包安装的,或者查看某个RPM软件包都安装了哪些文件,可以使用带“-qf”选项的rpm命令,如下所示,返回软件包的名称: rpm -qf which 程序名 返回软件包的详细信息: rpm -qif which 程序名 返回软件包的安装文件列表: rpm -qlf which 程序名,第10章 进程管理,在Linux中每运行一个程序都会创建一个进程,Linux是多任务操作系统,它可以支持多个进程同时执行。本章将会介绍Linux进程的基本概念以及特点,同时也会对进程的管理以及自动任务进行介绍。,10.1 进程简介,Linux系统中除了初始化进程(init)以外,其他进程都是通过调用fork()和clone()函数复制创建的。调用fork()和clone()函数的是父进程,被创建的进程是子进程。例如通过终端窗口打开一个Shell进程,然后在Shell里面运行其他命令或程序,那么就会创建相应的子进程,这些子进程是当前的Shell进程通过调用fork()和clone()创建的。所以Linux中各进程之间是相互联系的,所有进程都是衍生自进程号为1的init进程,由此就形成了一棵以init进程为根的进程树,每个进程都是该树中的一个节点。,10.2 Linux进程管理,Linux是一个支持多任务的操作系统,每个执行任务都是一个独立的进程。Red Hat Enterprise Linux 5.2针对进程管理提供了各种的命令,通过这些命令,用户可以查看进程对进程进行创建、终止操作,还可以更改进程的优先等级,对进程进行挂起和恢复等。,10.2.1 查看进程,ps命令是Process Status的缩写,它是Linux中查看进程信息最基本、最常用的命令。通过ps命令可以查看当前系统中运行了哪些进程,以及这些进程的状态、进程号、运行时间,甚至是进程所占用的系统资源等的详细信息。其命令格式如下: ps 选项 下面列举ps命令的一些常见用法。 1以全格式查看所有进程 2查看包含某个关键字的进程 3查看当前终端中运行的进程 4对输出结果进行排序 5查看进程的资源使用情况,10.2.2 启动进程,在Linux系统中,启动一个进程有两个主要途径:调度启动和手工启动。调度启动将会在10.3节中说明,这里只介绍手工启动。手工启动就是由用户输入命令或点击图形窗口启动一个程序。根据进程的类型来分,手工启动又可以分为前台启动和后台启动两种。 1前台启动 2后台启动,10.2.3 终止进程,如果要要终止一个前台进程的运行,可以按下快捷键Ctrl+C。如果是后台进程,那么就必须使用kill命令来终止。要终止一个后台进程,首先需要知道该进程的进程ID,用户可以通过ps命令进行获取。然后把进程ID作为参数在kill命令中指定。对于普通用户,他们只能使用kill命令管理自己运行的进程,而root用户则可以管理系统中所有的进程。kill命令的格式如下所示。 kill -s signal | -p -a pid . kill -l signal 1查看信号列表 2终止进程运行,10.2.4 更改进程优先级,在Linux系统中,每个进程在执行时都会被赋予一个优先等级,等级越高,进程获得的CPU时间就会越多。所以级别越高的进程,运行的时间就会越短,反之则需要较长的运行时间。进程的优先等级范围为-2019,其中,-20表示最高等级,而19则是最低。等级-1-20只有root用户可以设置,进程运行的默认级别级别为0。可以使用nice和renice命令更改进程的优先级别。nice命令的格式如下所示。 nice 选项 命令 命令选项.,10.2.5 进程挂起与恢复,使用键盘组合键Ctrl+Z可以把在前台运行的进程转到后台并挂起(停止运行)。例如在执行一个大数据量的前台复制进程的过程中,用户想在终端窗口中再执行其他命令,但是当前的复制进程又没有执行完,这时可以使用上述方法把进程转到后台挂起。 # cp -R /tmp /root /在键盘输入“Ctrl+Z”组合键 6+ Stopped cp -i -R /tmp /root 10.3 定时任务,10.3.1 crontab设置定时任务,contab可以根据分钟、小时、日期、月份、星期的组合来调度任务的自动执行。用户只要在crontab中设置好任务启动的时间,到了相应的时间后系统就会自动启动该任务。其命令格式如下所示。 crontab -u user file crontab -u user -l | -r | -e -i -s,10.3.2 at命令:设置定时任务,使用at命令可以在指定的时间执行指定的命令。与crontab不同,通过at命令定义的任务只会运行一次,也就是说,运行一次以后该任务就不再存在了。at命令的格式如下所示。 at -V -q 队列 -f 文件 -mldbv 时间 at -c 任务 任务.,10.3.2 at命令:设置定时任务,10.4 进程管理的常见问题处理,对于一些Linux的初学者来说,经常会遇到配置完定时任务后无法生效的情况,本节将会分析导致该故障的原因,并给出具体的解决方法。此外还会介绍kill命令以外的另一种杀掉进程的方法,可以方便地杀掉同一个程序启动的所有进程。,10.4.1 如何杀掉所有进程,kill命令的功能非常强大,除可以杀掉进程外,还可以向进程发送各种的信号。但是它在使用上也有一些不方便的地方,例如要杀掉进程首先必须要使用ps命令找出进程所对应的进程号,如果同一个程序启动了多个进程,则必须要手工执行多次kill命令才能杀掉所有进程等。为此,Linux提供了另一个更加方便的命令killall。使用该命令杀掉进程,用户无需知道进程的进程号,只需要输入程序的名称即可。如果该程序在系统中启动了多个进程,killall命令会自动杀掉所有进程,非常方便。其命令格式如下所示。 killall 程序名,10.4.2 定时任务不生效,由于cron的配置并不是太直观,所以Linux的初学者在配置cron定时任务时经常会遇到定时任务不生效的问题,这往往是由于以下原因所导致的。 1. crond服务未启动 2. 定时任务脚本未添加执行权限,第11章 网络管理,Linux系统是在互联网(Internet)上起源和发展的,它拥有强大的网络功能和丰富的网络应用软件,尤其是TCP/IP网络协议的实现尤为成熟,因此许多企业都采用Linux架设各种的网络应用,如WWW(World Wide Web,万维网)、邮件、FTP、Samba文件共享、DHCP、代理服务等。本章介绍Linux系统的基本网络配置,以实现与其他主机的网络连接。,11.1 TCP/IP网络,TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/互联网络协议)是目前主要的计算机网络标准,它采用4层的TCP/IP网络模型,每一层都分别实现不同的功能并定义了各种的网络协议。本节将追溯TCP/IP网络的发展历史,介绍OSI网络模型和TCP/IP网络模型的层级结构与功能。,11.1.1 TCP/IP网络历史,目前大部分的计算机网络以及互联网都是采用TCP/IP作为网络协议标准,TCP/IP包含了一系列构成网络基础的网络协议。 关于TCP/IP网络的起源可以追溯到20世纪60年代美苏冷战时期,当时的美国国防部(DoD)希望美国本土的网络系统在受到核武器的攻击时把损失减少到最低,委托ARPA(Advanced Research Projects Agency,高级研究计划局)研究高速的分组交换通信,把美国境内不同区域的超级计算机连接起来,共享彼此间的资源,以应对在战争中受到攻击的情况。,11.1.2 OSI网络模型,由ISO(Internet Standard Organization,国际标准组织)所定义的七层网络模型OSI(Open System Interconnect,开放系统互连)是网络发展中一个重要里程碑,它的出现使各种网络技术和设备有了参考依据,在网络协议的设计和统一上起到了积极的作用。 基于OSI网络模型,各网络设备生产商可以遵循相同的技术标准来开发网络设备,解决了异构网络互连时所遇到的兼容性问题。整个OSI模型共分7层,由下往上各层依次为:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。,11.1.2 OSI网络模型,11.1.3 TCP/IP网络模型,OSI的7层模型是一个理论模型,由于它过于庞大和复杂受到了很多批评,而由技术人员自己开发的TCP/IP协议栈则获得了更为广泛的应用。与OSI的7层模型不同,TCP/IP模型并没有把主要精力放在严格的层次划分上,而是更侧重于设备间的数据传输。TCP/IP模型共分为4层:网络接口层、网络层、传输层和应用层。 1网络接口层 2网络层 3传输层 4应用层,11.1.3 TCP/IP网络模型,11.2 以太网配置,以太网是当今现有局域网采用的最通用的通信协议标准,也是使用最为广泛的计算机网络,无论是公司、学校、宾馆还是家庭都会使用以太网作为局域网,实现内部计算机的信息资源交换与共享。在Red Hat Enterprise Linux 5.2中提供了一个名为“网络配置”的图形化向导工具,可以轻松地配置以太网连接所需的IP地址、子网掩码、网关以及DNS等信息。,11.2.1 添加以太网连接,在Red Hat Linux Enterprise 5的安装过程中,会提示用户配置以太网连接,所以一般情况下,Linux系统安装完成后是不需要手工添加以太网连接的,除非是在安装过程中没有进行配置或者在计算机上添加了新的以太网卡。,11.2.2 更改以太网设备,在【网络配置】窗口的【设备】选项卡中列出了系统中所有已经添加的以太网设备,用户可以对这些设备的信息进行更改。,11.2.3 更改DNS和主机记录,Linux进行主机名解析的方式有两种,一种是使用DNS,另一种则是使用Linux系统本地hosts文件,通过网络配置工具配置DNS和hosts主机信息的步骤如下所示。,11.3 网络配置文件,在网络配置工具中所看到的所有配置信息,都是存放在Linux系统的网络配置文件中,所以用户可以通过直接更改配置文件的方法来对网络信息进行配置。本节介绍Linux系统的各种常用网络配置文件,以及它们的使用方法。,11.3.1 网络设备配置文件,在网络配置工具的设备列表框中的每一个设备,在/etc/sysconfig/network-scripts/目录下都会有一个以“ifcfg-”命名的文件与之对应。例如,在11.2节中添加的以太网卡设备,它所对应的配置文件就是ifcfg-eth0,其文件内容如下所示。 # cat ifcfg-eth0 # Broadcom Corporation BCM4401-B0 100Base-TX DEVICE=eth0 BOOTPROTO=none BROADCAST=172.20.17.255HWADDR=00:0B:5D:D3:3F:60IPADDR=172.20.17.155 IPV6INIT=yes IPV6_AUTOCONF=yes NETMASK=255.255.255.0 NETWORK=172.20.17.0 ONBOOT=yes GATEWAY=172.20.17.254 TYPE=Ethernet PEERDNS=yes USERCTL=no 更改文件后,必须重启网络服务才能生效。,11.3.2 使用resolve.conf文件配置DNS服务器,/etc/resolve.conf文件中保存了DNS服务器的配置信息。文件中每一行表示一个DNS服务器,由上往下依次为:主DNS服务器、第二DNS服务器、第三DNS服务器等,依此类推。下面是该文件内容的一个示例。 # cat /etc/resolve.conf nameserver 172.20.1.1 nameserver 202.96.128.98 nameserver 211.147.223.211,11.3.3 使用network文件配置主机名,计算机的主机名信息是保存在/etc/sysconfig/network配置文件中的,用户可以通过更改该文件的内容对主机名进行修改。下面是该文件内容的一个示例。 # cat /etc/sysconfig/network NETWORKING=yes NETWORKING_IPV6=yes HOSTNAME=demoserver,11.3.4 使用hosts文件配置主机名和IP地址的映射关系,在hosts文件文件中可以添加主机名和IP地址的映射关系,对于已经添加进该文件中的主机名,无需经过DNS服务器即可解析到对应的IP地址。文件中每一行记录定义了一对映射关系,各字段间以空格或者Tab键为分隔,如果有多个主机名对应同一个IP地址,可以都写在同一行中,记录的格式如下所示。 IP地址 主机名1 主机名2 ,11.4 接入互联网,互联网已经成为人们在生活中不可或缺的伙伴,目前大部分用户都是通过ADSL、调制解调器、ISDN (Integrated Services Digital Network,综合业务数字网)以及无线网络这4种方式接入互联网。在Red Hat Enterprise Linux 5.2中可以使用网络配置向导完成互联网的接入配置。,11.4.1 xDSL拨号上网,xDSL(Digital Subscriber Line,数字用户线)是一种通过电话线进行高速传输的互联网宽带连接技术。DSL的类型有很多种,包括ADSL(非对称,下载比上载快)、IDSL(远距离使用的ISDN线路)、SDSL(对称,下载与上载同速)等,它们的传输速度通常在144kbps到10Mbps之间,我国目前主要使用的是ADSL。使用它拨号上网的用户需要有ADSL调制解调器(ADSL Modem),以及由互联网服务提供商(ISP)提供的ADSL帐号和密码。,11.4.2 调整解调器拨号上网,由于ADSL的普及,使用Modem(调制解调器)拨号上网的用户已经较以前大大减少,但仍然有一部分的个人和小型企业在使用Modem和电话线拨号接入互联网。拨号上网通常使用点对点协议(PPP),在拨号上网前需要拥有一个由互联网服务提供商(ISP)所提供的帐号。,11.4.3 ISDN拨号上网,ISDN是一种使用与模拟调整解调器连接相反的高速数码电子通信线路接入互联网的技术。这种特殊的电话线由电话公司进行安装,传输速度为64kbps到128kbps之间。,11.4.4 无线连接,无线网络的出现,提供了一种随时随地可以接入网络的上网方式。如果Red Hat Linux计算机中带有无线网卡,可以通过如下的步骤配置无线设备,把计算机连接到无线网络中。,11.5 常用网络命令,Red Hat Enterprise Linux 5.2中提供了丰富的网络管理命令,熟练使用这些命令可以帮助用户快速地配置Linux网络,检查网络状态,解决网络故障。本节介绍系统中常用的网络管理命令,并举例说明它们的使用方法。,11.5.1 使用ifconfig命令管理网络接口,ifconfig命令用于查看和更改网络接口的地址和相关参数,包括IP地址、网络掩码、广播地址,该命令只能由root执行。其命令格式如下所示。 ifconfig interface ifconfig interface aftype options | address . 1查看激活网络接口的信息 2显示所有网络接口的信息 3激活和关闭网络接口 4更改网络接口的配置信息,11.5.2 使用hostname命令查看主机名,hostname命令用于查看和更改系统的主机名,使用hostname更改后的主机名仅对当前的启动生效,系统重启后所做的更改将会丢失,其命令格式如下所示。 hostname 主机名,11.5.3 使用route命令管理路由,Linux系统支持自定义路由,用户可以使用route命令管理系统的路由表,包括查看路由表信息、添加和删除路由表记录等,其命令格式如下所示。 route -CFvnee route -v -A family add -net|-host target netmask Nm gw Gw metric N mss M window W irtt I reject mod dyn reinstate dev If route -v -A family del -net|-host target gw Gw netmask Nm metric N dev If route -V -version -h -help 1查看路由表 2添加到主机的路由记录 3添加到网络的路由记录 4删除路由记录,11.5.4 使用ping命令检测主机是否激活,ping命令是Linux系统中使用最多的网络命令,该命令基于ICMP协议,通常被用来检测网络是否连通,以及远端主机的响应速度。其命令格式如下所示。 ping -LRUbdfnqrvVaAB -c count -i interval -l preload -p pattern -s packetsize -t ttl -w deadline -F flowla-bel -I interface -M hint -Q tos -S sndbuf -T times-tamp option -W timeout hop . destination 下面是该命令的一些常见用法: 1检测主机的网络连通 2限制检测的次数 3指定检测包的大小,11.5.5 使用netstat命令查看网络信息,netstat命令是一个综合的网络状态的查看工具,除了用于Linux查看自身的网络状况,如开启了哪些端口、在为哪些用户服务、以及服务的状态等以外,它还可以显示路由表、网络接口状态、统计信息等。 1查看Socket信息 2查看路由表 3查看UDP协议的统计信息,11.5.6 使用nslookup命令进行解析,nslookup命令的功能是解析域名对应的IP地址,或者对IP地址进行反向解析,它有交互和非交互两种模式。例如要使用交互模式对域名进行解析,如下所示。 # nslookup Server: 192.168.1.1 Address: 192.168.1.1#53 Name: Address: 172.30.1.5 172.30.1.5 Server: 192.168.1.1 Address: 192.168.1.1#53 5. 1.30.172.in-addr.arpa name = exit nslookup命令也可以使用非交互模式进行域名和IP地址的解析,命令格式如下所示。 nslookup 域名|IP地址 ,11.5.7 使用traceroute命令跟踪路由,在计算机网络中,数据的传输是通过网络中许多段的传输介质和设备(包括网关、交换机、路由器、服务器等),经过多个节点后才从本机到达目标主机。使用traceroute命令,可以获得从当前主机到目标主机的路由信息(即经过了哪些网络节点)。 traceroute通过发送小的数据包到目标主机直到收到目标主机的返回数据包,以此检测路由信息以及在每一个节点上的响应时间。对于每个路由节点,traceroute命令都会发送3个分组的数据包,在输出结果中会以毫秒为单位显示这3个分组的响应时间,如果某个分组数据包未被路由节点响应,则traceroute会显示“*”。,11.5.8 使用telnet命令管理远程主机,telnet命令除了可以进行远程登录,对远程主机进行管理外,还有一个用途就是检测本地或远端主机的某个端口是否打开。telnet命令的格式如下所示。 telnet 选项 主机 端口,11.6 常见问题处理,本节介绍在Red Hat Enterprise Linux 5.2网络管理中常见的一些问题,以及这些问题的详细解决方法,包括如何在Linux系统中绑定多个IP地址到同一张网卡,并介绍出现网络故障时的检查步骤和解决方法。,11.6.1 在网卡上绑定多个IP地址,一些大型应用往往需要配置多个IP地址(例如Oracle RAC等),如果主机只有一张物理网卡,可以在同一张网卡上绑定多个IP地址。,11.6.2 Linux网络故障处理步骤,当在Linux主机上遇到网络无法连通的故障时,用户可以参照以下处理步骤对故障问题进行分析和诊断。 1检查网卡是否安装 2检查网卡是否启用 3检查TCP/IP协议是否安装 4检查网卡的IP地址配置是否正确 5检查路由信息 6检查DNS,11.7 常用管理脚本,本节给出了两个与Linux网络管理相关的脚本,可以分别实现统计客户端对服务器的网络连接数以及自动登录SMTP服务器发送邮件的功能。读者可以根据需要对这些脚本做进一步的更改,实现更个性化的功能。,11.7.1 统计客户端的网络连接数,本脚本统计当前正在连接Linux服务器的客户端的网络连接数,输出前10位客户端的IP地址以及它们的网络连接数。,11.7.2 自动发送邮件的脚本,本脚本根据用户运行脚本时所输入的信息,自动登陆SMTP服务器,把指定标题和内容的邮件发送给指定的收件人。,第12章 系统监控,系统监控是系统管理员日常的主要工作之一,它可以分为性能监控和故障监控。Linux系统提供了各种的日志以及性能监控工具以帮助管理员完成系统监控工作,在本章中将对这些工具进行介绍,并深入分析Linux性能监控中的各种指标。,12.1 系统性能监控,系统的性能监控主要关注CPU、内存、磁盘IO和网络这4个方面。在本节中将以vmstat、mpstat、iostat、sar和top这5个性能监控工具为例结合实际应用,对如何在Linux系统中监控这4方面的性能指标进行介绍。,12.1.1 性能分析准则,系统性能监控与调整是Linux系统管理员日常维护工作中的一项非常重要的内容,而这往往也是公司领导以及系统使用者最为关心的一个问题。要衡量一个系统的性能状态,可以从系统的响应时间以及系统吞吐量两个角度来进行分析。 系统响应时间: 系统吞吐量:,12.1.1 性能分析准则,12.1.2 内存监控,Linux系统的内存分为物理内存和虚拟内存两种。物理内存是真实的,也就是物理内存条上的内存。而虚拟内存则是采用硬盘空间补充物理内存,将暂时不使用的内存页写到硬盘上以腾出更多的物理内存让有需要的进程使用。当这些已被腾出的内存页需要再次使用时才从硬盘(虚拟内存)中读回诖妗庖磺卸杂谟没此凳峭该鞯摹Linux系统说,虚拟内存就是swap分区。 vmstat命令格式如下: vmstat -a -n delay count vmstat -f -s -m vmstat -S unit vmstat -d vmstat -p disk partition vmstat -V,12.1.3 CPU监控,在Linux系统中监控CPU的性能主要关注3个指标:运行队列、CPU使用率和上下文切换,理解这3个指标的概念和原理对于发现和处理CPU性能问题有很大的帮助。 1运行队列 2CPU使用率 3上下文切换,12.1.4 磁盘监控,iostat是I/O statistics(输入/输出统计)的缩写,iostat工具可以对系统的磁盘操作活动进行监控,并汇报磁盘活动统计情况。除此外,它还能显示CPU的使用情况。其命令格式如下所示。 iostat -c | -d -k | -m -t -V -x -n device . | ALL -p device | ALL interval count ,12.1.5 网络监控,对于网络性能的监控,主要关心以下两点:网卡的吞吐量是否过载以及网络是否稳定,是否有出现丢包情况。 该命令会显示系统中所有网络接口的统计信息,并在最后显示这段时间统计结果的平均值。其中输出结果中各字段的说明如下所示。 IFACE:网络接口的名字。 rxpck/s:每秒钟接收的数据包。 txpck/s:每秒钟发送的数据包。 rxbyt/s:每秒钟接收的字节数。 txbyt/s:每秒钟发送的字节数。 rxcmp/s:每秒钟接收的压缩数据包。 txcmp/s:每秒钟发送的压缩数据包。 rxmcst/s:每秒钟接收的多播数据包。,12.1.6 综合监控工具top,top命令是一个非常优秀的交互式性能监控工具,可以在一个统一的界面中按照用户指定的时间间隔刷新显示包括内存、CPU、进程、用户数据、运行时间等的性能信息。其命令格式如下: top -hv | -bcHisS -d delay -n iterations -p pid , pid .,12.2 syslog日志,syslog是一个被UNIX和Linux广泛使用的日志系统,Linux系统中大部分的日志文件都是通过它进行管理的。本节将对syslog的功能及配置、日志文件的查看和管理,以及syslog中默认配置的日志文件进行介绍。,12.2.1 syslog简介,syslog是一个历史悠久的日志系统,几乎所有的UNIX和Linux操作系统都是采用syslog进行系统日志的管理和配置。Linux系统内核和许多程序会产生各种错误信息、警告信息和其他的提示信息。这些信息对管理员了解系统的运行状态是非常有用的,所以应该把它们写到日志文件中去。而执行这个过程的程序就是syslog。syslog可以根据信息的来源以及信息的重要程度将信息保存到不同的日志文件,例如,为了方便查阅,可以把内核信息与其他信息分开,单独保存到一个独立的日志文件中。在默认的syslog配置下,日志文件通常都保存在“/var/log”目录下。,12.2.1 syslog简介,12.2.2 syslog配置,syslog的配置文件为/etc/syslog.conf,在该文件中指定了syslog记录日志的信息来源、信息类型以及保存位置。,12.2.3 配置实例,下面将以一个配置实例演示对syslog进行配置的步骤。但是在进行配置前需要先介绍一下logger命令。该命令可以模拟产生各类的syslog消息,从而测试syslog配置是否争取。logger命令的格式如下所示。 logger -isd -f file -p pri -t tag -u socket message .,12.2.4 清空日志文件内容,随着系统运行时间越来越长,日志文件的大小也会随之变得越来越大。如果长期让这些历史日志保存在系统中,将会占用大量的磁盘空间。用户可以直接把这些日志文件删除,但删除日志文件可能会造成一些意想不到的后果,为了能释放磁盘空间的同时又不影响系统的运行,可以使用echo命令清空日志文件的内容,命令格式如下所示。 echo 日志文件,12.2.5 图形化日志工具系统日志查看器,Red Hat Linux中提供了一个图形化的日志查看工具“系统日志查看器”。在该工具中默认可以查看syslog中所配置的日志文件,用户也可以通过该工具打开其他日志文件,如图12.6所示。,12.3 其他日志,除syslog以外,Linux系统中还提供了大量的其他日志文件,在这些日志文件中也记录了非常重要的日志信息。在本节中将会对其中常用的dmesg、wtmp、btmp、.bash_history等系统日志文件以及应用程序日志进行介绍。,12.3.1 dmesg日志:记录内核日志信息,日志文件/var/log/dmesg中记录了系统启动过程中的内核日志信息,包括系统的设备的信息,以及在启动和操作过程中系统记录的任何错误和问题的信息。,12.3.2 用户登录日志,/var/log/wtmp和/var/log/btmp是Linux系统上用于保存用户登录信息的日志文件,其中wtmp用于保存用户成功登录的记录,而btmp则用于保存用户登录失败的日志记录,它们为系统安全审计提供了重要的信息依据。这两个文件都是二进制的,无法直接使用文本编辑工具打开,必须通过last和lastb命令进行查看。,12.3.3 用户操作记录,默认情况下,在每个用户的主目录下都会有一个.bash_history的文件,在该文件中保存了该用户输入的所有命令的记录,管理员可以通过该文件查看某个用户到底做过什么操作。,12.3.4 应用日志,除了系统日志以外,Linux系统中的应用软件也会有自己的日志文件。由于不同的应用软件都会有特殊的日志格式,限于篇幅原因,在这里不能逐一进行介绍,一般情况下这些日志都会存放于软件安装目录下的logs目录下。作为系统管理员,应该清楚如何使用这些日志文件,以便在软件出现故障时能快速找到有效的信息支持。,12.4 系统监控常见问题处理,Linux系统中的应用程序大部分都是采用C或者C+语言进行编写,由于开发人员的疏忽,这些程序往往会存在一些内存泄漏的问题。本节将介绍如何查找系统中存在的内存泄漏问题以及解决方法,此外还会介绍如何通过编写脚本文件以及利用Linux的cron定时任务功能,实现系统日志文件的定期自动清理。,12.4.1 内存泄漏,内存泄漏是Linux系统中应用程序的一个较常见的影响系统性能的问题,这往往是因为应用程序的开发人员疏忽所导致的。一般情况下,应用程序从堆中分配内存,使用完后应该调用free或delete释放该内存块。如果开发人员没有在代码中进行该步操作,那么这块内存就不能被再次使用,也就是说这块内存泄漏了。如果这种问题持续出现,那么被泄漏的内存就会越来越多,最终导致系统所有内存都被耗尽,这将会导致严重的后果,系统将无法正常运行。,12.4.2 定期清理日志文件,随着时间的推移,系统中日志文件的日志量将越来越大,随之也会带来一系列的问题。例如,日志文件占用的系统空间越来越多,日志文件内容的阅读越来越困难等。为此,用户可以手工定期清理日志文件中的内容。但是,一个更好的解决方法是通过编写脚本,利用Linux的定时任务功能自动定期清理日志文件。例如,要定期备份Apache的access_log日志文件到其他目录并清除当前日志的内容,可编写如下脚本。 # cat /root/scripts/delete_log.sh cp /usr/local/apache/logs/access_log /backup/log/apache/access_log.bak echo /usr/local/apache/logs/access_log,第13章 Shell编程,一个Shell脚本可以包含一个或多个命令,通过编写Shell脚本可以简化很多原本需要手工输入大量命令的任务。在本章中将对Shell脚本的基本原理、条件测试、控制结构、用户交互以及保留变量等的内容进行介绍。,13.1 Shell编程简介,Shell除了是命令解释器外还是一种脚本编程语言,通过编写该脚本可以自动运行多条命令,简化手工操作。要运行一个Shell脚本文件,必须要为它添加执行权限。本节将对Shell脚本的功能、使用、结构等内容进行简单介绍,最后会编写一个简单的“Hello World”脚本演示编写并执行该脚本的步骤。,13.1.1 什么是Shell脚本,Shell是一个命令解释器,它会解释并执行命令行提示符下输入的命令。除此之外,Shell还有另外一种功能,如果你要执行多条命令,它可以让你将这组命令存放在一个文件中,然后你可以象执行Linux系统提供的其他程序一样执行这个文件,这个命令文件就叫做Shell程序或者Shell脚本。当运行这个文件时,它会像在命令行输入这些命令一样顺序地执行它们。,13.1.2 编写Shell脚本,作为本章的第一个脚本,下面就以编写一个简单的“Hello World”程序为例,演示在Linux系统中编写并执行Shell脚本程序的完整步骤,如下所示。 (1)使用VI或者其他任意的文本编辑工具创建一个名为HelloWorld.sh的文件。 (2)为HelloWorld.sh文件添加执行权限。 (3)运行HelloWorld.sh脚本。,13.2 条件测试,在编写Shell脚本时,有时要先测试字符串是否一致、数字是否相等或者检查文件状态,然后基于这些测试的结果再做进一步动作,这就是条件测试。Shell脚本的条件测试可以用于测试字符串、文件状态和数字,同时它也可以结合13.3节中所介绍的控制结构进行使用。测试完成后可以通过$?获取测试的结果,其中0表示正确,1表示错误。,13.2.1 数
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!