主题 : 北大青鸟一期教程 (第八章)
我为人人,人人为我
级别: 七朵秋菊

UID: 13542
精华: 0
发帖: 1211
威望: 47453 点
无痕币: 23241 WHB
贡献值: 0 点
在线时间: 437(时)
注册时间: 2008-02-19
最后登录: 2023-08-15

0 北大青鸟一期教程 (第八章)

《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小时

 

 
本章主要的目的

掌握系统启动过程和运行级别

掌握对系统中的进程进行管理

设置任务的周期性自动执行

了解系统的日志文件及其格式

对用户和组进行磁盘配额管理

对文件进行归档

 

本章重点

掌握系统启动过程和运行级别

掌握对系统中的进程进行管理

 

本章难点

对用户和组进行磁盘配额管理

 

 

 

 

1. 回顾上一章:
Linux中内核与内核模块的概念

内核源码的获取

内核的配置界面

内核的配置选项

内核及模块的编译与安装过程

 

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类进程将在系统启动时任何bootbootwait类进程之前运行记录中的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. 主要日志文件
Total 0.047247(s) query 3, Time now is:05-04 09:02, Gzip enabled 粤ICP备07514325号-1
Powered by PHPWind v7.3.2 Certificate Code © 2003-13 秋无痕论坛