lvming780910 |
2009-01-10 07:30 |
《Linux 基础》教案
第八章 Linux系统管理
1. 回顾上一章: 3
2. 课程知识点讲解:... 3
2.1. 系统启动过程与运行级别... 3
2.1.1. 启动过程... 3
2.1.2. 运行级别... 4
2.2. 系统初始化过程... 6
2.3. 进程管理类命令... 10
2.3.1. 什么是进程... 10
2.3.2. 查看进程... 11
2.3.3. 控制进程... 13
2.4. 系统任务的定时运行... 15
2.4.1. cron的功能... 15
2.4.2. cron的相关文件... 18
2.5. 日志管理... 18
2.5.1. 日志的功能... 18
2.5.2. 主要日志文件... 18
2.6. 存储与备份管理... 18
2.6.1. 空间配额... 18
2.6.2. 文件的归档与备份... 21
3. 本章总结... 27
4. 考核点... 28
5. 测试题... 28
6. 扩展部分:... 28
7. 学员问题汇总:... 31
8. 作业:... 31
授课教师:师资培训
课时:2小时
l 本章主要的目的
n 掌握系统启动过程和运行级别
n 掌握对系统中的进程进行管理
n 设置任务的周期性自动执行
n 了解系统的日志文件及其格式
n 对用户和组进行磁盘配额管理
n 对文件进行归档
l 本章重点
n 掌握系统启动过程和运行级别
n 掌握对系统中的进程进行管理
l 本章难点
n 对用户和组进行磁盘配额管理
1. 回顾上一章: n Linux中内核与内核模块的概念
n 内核源码的获取
n 内核的配置界面
n 内核的配置选项
n 内核及模块的编译与安装过程
2. 课程知识点讲解: 2.1. 系统启动过程与运行级别 2.1.1. 启动过程 主机启动并进行硬件自检(Power On Self Test)后,读取硬盘MBR中的启动引导器,并进行加载。启动引导程序负责引导硬盘中的操作系统,根据用户在启动菜单中选择的启动项不同,可以引导不同的操作系统启动.对于Linux操作系统,启动引导程序直接加载Linux内核程序.Linux的内核程序负责操作系统启动的前期工作,并进一步加载系统的INIT进程.
Linux中,INIT进程是Linux系统进行启动的第一个进程,该进程将配置文件执行相应的启动程序,并进入指定的系统运行级别.
不同的运行级别中,根据系统的设备将启动相应的服务程序.
Linux启动过程最后,将运行控制台程序,提示并允许用户输入帐户和密码
2.1.2. 运行级别 1. Linux运行级别
Ø 0 关闭系统
Ø 1 单用户模式
Ø 2 多用户模式 (不支持NFS)
Ø 3 完全多用户模式
Ø 4 未分配使用
Ø 5 图形登录的多用户模式
Ø 6 重新启动,不要把系统缺省运行级别设置为 6,否则系统将不能正常启动
2. 显示系统当前运行级别
当用户登录系统后,可以使用 runlevel 命令进行查询.
3. 改变当前运行级别
init [0123456]
关闭系统:init 0
重启系统:init 6
4. 系统服务程序在各运行级别的启动状态
Linux 系统中的服务程序通常设定在系统的某些运行级别中自动运行,即当系统运入相应的运行级别时,服务程序自动运行.
在linux中,可以使用chkconfig命令的功能强大,可以设置系统中所有服务在 各运行级别中的启动状态,当然也包括受xinetd服务管理的服务.
Ø 查看服务启动状态
chkconfig --list [服务名称]
Ø 设置独立服务启动状态
chkconfig --level <运行级别列表> <服务名称> <on|off|reset>
Ø 设置非独立服务的启动状态
2.2. 系统初始化过程 1. INIT进程
INIT进程视右Linux内核引导运行的,是系统运行的第一个进程,其进程号(PID)永远为1。INIT进程运行后将安装其配置文件,引导运行系统所需的其他进程,INIT进程将作为这些进程的父进程。
2. INIT的配置文件-inittab
INIT配置文件的全路径名为“/etc/inittab”,INIT进程运行后将按照该文件中的配置内容运行系统启动程序。
3. inittab文件解析
inittab 文件作为INIT进程的配置文件,用于描述系统启动时和正常运行中将运行哪些进程,在该文件中除注释行(“#”作为行首)外的每一行都具有下面的格式
id:runlevels:action:process
inittab文件中的每行时一个设置记录,每个记录中有id、runlevel、action和process4个字段,各字段间用“:”分隔,他们共同确定了某进程在哪些运行级别中以何种方式运行。
(1)id字段
id字段用于在inittab文件中唯一标识一个配置记录,可以由1~4个字符组成,可以把id理解成一个配置记录的名称。
X:5:respawn:/etc/x11/prefdm –nodaemon
//id字段为“x”,该记录为x登录设置
(2)runlevels字段
runlevels字段用于指定该记录在哪些运行级别中运行,runlevels可以是单个运行级别也可以是运行级别列表。
(3)action字段
action字段用语描述记录将执行哪种类型的动作,下面对action字段的常见设置进行介绍。
Ø initdefault
initdefault用于标识系统启动后将进入哪个运行级别,process字段将被忽略。Inittab文件种如不存在initdefault记录,init进程将会在控制台询问要进入的运行级别。
Ø sysinit
sysinit类进程将在系统启动时任何boot或bootwait类进程之前运行,记录中的runlevels字段将被忽略。
Ø wait
wait类进程将在进入指定运行级别后运行一次,init进程将等待其结束。
Ø Ctrlaltdel
Ctrlaltdel用于指定用户使用“CTRL+ALT+DEL”组合键时系统所进行的操作,如重新启动、进入单用户模式等。
Ø Powerfail和powerokwait
Powerfail用于指定当UPS发来断电信号时所运行的命令,powerokwait用于指定所供电恢复时所运行的命令。
Ø respawn
respawn类进程在结束后会重新启动进行(如控制台登录程序getty)。
Ø process
process字段所设置的是启动进程所执行的命令。
(4)系统初始化脚本
在Red Hat Linux 9中,inittab文件中指定使用rc.sysinit作为系统的初始化脚本。
2.3. 进程管理类命令 Linux系统的基本运行单位是进程,如果对进程进行管理,能够对系统的实时运行状态进行调整。Linux提供了查看、调整和停止进程的工具程序。
2.3.1. 什么是进程 程序是保存在磁盘可执行映像中的机器代码指令和数据的集合。进程可以被认为是执行中的计算机程序,是动态的。进程必须有以下几个要素:有一段可执行程序;有专用的系统堆栈空间;内核中有它的控制块(进程控制块),描述进程所占用的资源,这样进程才能接受内核的调度;具有独立的存储空间。
Linux系统中,每个程序启动时,可以创建一个或者多个进程,与其他程序创建的进程共同运行在linux内核中。每个进程都是一个独立的任务,他们依照操作系统内核制定的规则,轮换着被CPU执行。每个单独的进程运行在自己的虚拟地址空间中,并且只能通过安全的内核管理机制与其他进程交互。
在进程的生存期内,将使用许多系统资源。进程使用系统的CPU来运行自己的指令,并使用系统的物理内存来保存自己的数据;它打开核使用文件子系统中的文件,并直接或者间接地使用系统中的物理设备。Linux必须跟踪进程本身核它拥有的系统资源,来保证它能公平地管理该进程核系统中其他进程。 Linux除了用内核自身管理这些进程的运行调度以外,还将这信息通过工具程序传递给操作用户,并通过工具程序接受用户对某个监控进程的正确处理。
2.3.2. 查看进程 1.ps:
ps是linux系统标准的进程查看工具,加参数-aux查看系统内部的进程和所有用户的进程信息
2.top:
查看系统信息,包括cpu,内存占用情况,同时显示进程列表和每一个进程的状况等。
3.pstree:
列出进程及其树形结构。
2.3.3. 控制进程 1. 启动进程
在Linux系统中,有两个途径启动进程:
Ø 手工启动
Ø 调度启动
(1) 手工启动
用户输入命令,直接执行一个程序最少会启动一个进程。但手工启动进程又可以分为前台启动核后台启动。
前台启动是手工启动过程的最常用方式。一般情况下,用户键入命令“ls -l”,就已经启动了一个进程,而且是一个前台的进程。
启动后台运行可以使用&操作符,将&操作符放在要执行的命令后面一起执行,进程启动后,就会直接在后台运行,而不占用前台的shell界面,方便用户进行其他操作。例如,需要复制一个大文件,如果把这个复制进程放在前台运行,则它会一直占据着终端,直到复制完成。现在使用&操作符把它启动到后台运行,启动后,它会立即交出终端,使其他程序有机会运行。
(2) 调度启动
有时用户需要对系统进行一些比较费时而且占用资源的维护工作,这些工作适合在深夜进行,这时用户就可以事先进行调度安排,指定任务运行的时间或者场合,到时候,系统会自动完成这一切工作。要使用自动启动进程的功能,需要掌握以下启动命令。
Ø at命令
at:在指定时刻执行指定的命令序列
语法:
at [-V] [-q 队列] [-f 文件名] [-mldbv] 时间
例:
at 5pm +3 days /bin/ls:三天后的下午5点执行/bin/ls
at 17:20 tomorrow /bin/date :明天的17:20执行date命令
at 23:59 12/31/1999 echo the end of world!
1999年的最后一天的最后一分钟,打印出 the end of world !
Ø crontab
crontab:周期性执行指定程序
2. 改变进程的运行方式
Ø 把命令程序调到后台
使用bg命令,可以把当前正在屏幕上运行的命令调入到后台,这样终端就可以另做它用。
步骤:
① 输入jobs命令,获取这个命令的作业号job。
② 按下组合键Alt+Fn,其中n使代表某个空闲终端的功能键的编号。
③ 登录进入刚才窗口中使用的同一个帐号。
④ 输入bg job把这个作业调入到后台。
Ø 把后台命令调回前台来
使用fg命令把后台进程调入前台
Ø 调整进程的优先级
使用renice命令调整进程优先级
Ø 终止进程
使用kill命令中止进程运行
语法:kill [-9] PID
首先使用ps –aux查找程序的对应PID,然后用kill PID终止它。
如果再次使用ps命令查看这个进程是否继续存在,如果存在,可以使用kill –9 PID :强制终止进程
2.4. 系统任务的定时运行 在 Linux 中,任务可以被配置在指定的时间、指定的日期、或指定的星期自动运行。系统管理员可使用自动化的任务来执行定期备份、监控系统和运行定制的脚本等等。
2.4.1. cron的功能 1. cron概述
cron 是一个可以用来根据时间、日期、月份、星期的组合来调度对周期性任务执行的守护进程。
2. 软件包组成
使用cron服务前需要先确认“vixie-cron”软件包已经在当前系统中安装,否则需要手工进行安装。在Red Hat Linux 9中该包被缺省安装。
“vixie-cron”的RPM安装包在Red Hat Linux 9的第一张安装光盘中,文件名是“vixie-cron-3.0.1-74.i386.rpm”,如果系统中没有安装该软件包,用户可手工进行安装。
3. cron服务的启动与停止
Ø 启动crond服务
# service crond start
Ø 查询crond服务状态
# service crond status
Ø 停止crond服务
# service crond stop
Ø 重新启动crond服务
# service crond restart
4. cron任务的格式
crond服务启动后对于普通用户来讲并不能自动完成任何工作,因为crond服务还不知道用户需要定时完成哪些任务,这就需要用户对自己的cron任务进行设定,就像我们生活中的闹钟只有在设定后才会有提醒功能。
用户需要编辑自己的cron任务列表(crontab)来设置需要周期性执行的任务。cron任务列表中的每一行代表一个 任务,所有的任务都使用相同的格式进行任务的描述,下面为cron任务行的格式:
01 * * * * run_hourly
02 4 * * * run_daily
22 4 * * 0 run_weekly
42 4 1 * * run_monthly
50 3 2 1 * run_yearly
5.使用crontab命令进行设置
Linux系统中的普通用户(包括root用户)可以使用crontab命令来配置拥护自己的cron任务。所有
(1)查看用户的cron任务
crontab -l
(2)编辑用户的cron任务
①覆盖原有的cron任务
crontab
②调用文本编辑器对cron任务进行编辑
crontab -e
③删除用户现有的cron任务
crontab -r
2.4.2. cron的相关文件 2.5. 日志管理 2.5.1. 日志的功能 2.5.2. 主要日志文件
|
|