Linux的系统管理

一、Linux的系统启动的过程

1、Linux操作系统的启动的过程一般包括以下几个阶段:

a) 主机启动并进行硬盘自检后,读取硬盘mbr中的启动引导器并进行加载。

b) 启动引导器程序负责引导硬盘分区中的操作系统,根据用户在启动菜单中选择的启动项的不同,可以引导不同硬盘分区中的操作系统启动,对于linux操作系统,启动引导器直接加载linux内核程序。

c) Linux的内核程序负责操作系统启动的前期的工作,并进一步加载系统的init进程。

d) Init进程是linux系统中运行的第一个进程,该进程将根据其配置文件进行相应的启动程序,并进入知道的系统运行级别。

e) 在不同的运行级别中,根据系统的设置将启动相应的服务程序。

f) 在启动过程的最后将运行控制台程序,并提升用户输入账号和口令进入系统。

2、linux系统中的运行级别

在linux系统中,通常使用数字0-6分别代表系统中的7个不同的运行级别,各个运行级别如下:

0:停机,不要把系统的级别设置为0,或在系统将无法进行。

1:单用户模式,用于root用户对系统进行维护,不运行其他用户使用该主机

2:多用户模式,在该模式下不能使用NFS。

3:完全多用户模式,主机作为服务器使用时通常在该运行级别。

4:未分配使用。

5:图形登陆的多用户的模式,在该模式下可以使用图形界面。

6:重新启动。

A:显示当前运行级别的命令格式:runlevel

B:改变系统的运行级别:init 【123456】

注意:不能直接从级别5进入级别3,可以先进入级别1,然后在进入其他级别

3、系统服务程序在各运行级别的启动的状态

(1)查看服务启动的状态:chkconfig –list [服务名称]

(2)设置独立服务的启动状态:chkconfig –level <运行级别> <服务名称> <on|off|reset>

(3)设置非独立服务的启动状态:chkconfig <服务名称> <on|off|reset>

注意;在进行非独立服务的设置后,应重新启动xinetd服务,才可以生效,或者只能在下次启动计算机的时候才能生效。

二、系统的初始化过程

1、init进程

Init进程是由linux内核引导启动的,是系统中运行的第一个进程,其进程号(PID)永远为1.。

2、init的配置文件

Init的配置文件的保存的全路径是/etc/inittab。

3、init文件的解析

Init文件作为init进程的配置文件,用于描述系统在启动时和正常运行中将运行哪些进程,在该文件中除了注释行以外的每一行都具有以下的格式:

Id:runlevels:action:process

Id:用于在inintab文件中唯一标识一个配置记录,可以有1-4个字符组成。

Runlevels:用于指定该记录在哪些运行级别中运行。

Action:描述了记录将执行那种类型的动作,action字段的常见设置有如下几个:

Inindefault:用来标示系统启动后将进入哪个运行级别

Sysinit:sysinit类进程将在系统启动的时候在任何boot或bootwait类进程前运行

Wait:wait类进程将在进入指定运行级别后运行一次,init进程将等待其结束。

Ctrlaltdel:用于指定按下ctrl+alt+del组合键后系统进行重新启动系统,可以通过在前面加上#键来关闭此功能。

Powerkwait:用于指定当UPS发来断电信号时系统需要运行的命令。

Respawn:respawn类进程在结束运行后会重新启动系统。

4、初始化脚步

在linux中,inittab文件指定使用rc.sysinit 作为系统初始化的脚步。Rc.sysinit保存在/etc/rc.d目录中。

5、rc.local脚本

在系统启动的过程中,完成初始化脚步的执行后,会执行/etc/目录中的rc.local的脚步。

系统管理员可以将系统中需要自定义执行的命令保存在rc.loacl脚本中,这样系统在每次启动的最后都会自动执行管理员安排的任务。

三、进程管理

1、 查看进程命令:ps –aux 查看当前所有的进程

Ps命令是linux系统标准的进程查看工具。

2、 使用top查看系统信息

Top命令会在当前终端全屏显示系统运行信息,实时跟踪系统资源的使用情况,包括cpu、内存占用的情况等。

3、 使用pstree查看进程树

在系统的某个进程的运行过程总,可能会产生其他进程作为这个进程的子进程。使用pstree可以查看其父进程和子进程的关系。

四、控制进程

1、 启动进程

启动进程分为手工启动和调度启动

手工启动是直接执行一个命令,调度启动事先进行设置,根据用户的要求自行启动。

手工启动直接输入命令,执行一个程序至少会启动一个进程。手工启动有可以分为前提启动和后台启动。后台启动直接在命令的后面加上&符即可。

2、 调度启动

在系统维护的时候经常会对系统进行一些比较费时而又占用资源的进程,这时我们可以指定时间让这些任务进行执行,就需要调度启动。

进程调度可以通过以下两种方式实现:

a) At命令指定某个命令在某个时间一次性在系统中执行

At命令:at –t mmddhhmm。Mm表示月份,dd表示日期,hh表示小时,mm表示分钟。设置完成后可以使用ctrl+d来结束at命令的执行。

Atq命令用于查询系统中设置的还没有被执行的任务。

几个常用的快捷键:

Ctrl+z:可以将当前终端的进程调入后台并停止执行。

Ctrl+c:终止当前的进程。

Jobs命令:查看当前终端后台运行的进程

Fg[后台进程编号]:将后台进程调入前台来执行。

Bg[进程编号]:将前台进程调入后台执行。

Kill -9 PID 终止系统中的进程。

b) Crontab命令在系统中设置需要周期性完成任务。

五、系统任务的定时运行

1、 cron的功能:

cron是一个可以用来根据时间、日期、月份、星期的组合来调度对周期性任务执行的守护进程。利用cron所提供的功能可以将需要周期性重复的任务设置为cron任务,并设置在主机较闲时自动完成。

2、 软件包组成

在使用crom 服务前先确认vixie-crom软件包已经在当前系统中已经安装。

Vixie-cron软件包在rhel4的第二张光盘中,文件名是vixie-crom-4.1-20_EL.i386.rpm.如果没有安装需要手动安装。

3、 cron服务的启动和停止

cron作为linux系统中的标准服务程序运行,守护进行名称是crond。

查看crond服务的状态:service crond status

停止和启动crond服务:service crond stop(start)

重新启动crond服务:service crond restart

4、 cron任务的格式

cron任务行的格式

Minutes

Hour

Day

Month

Dayofweek

Connand

01

*

*

*

*

Hourly

02

4

*

*

*

Daily

22

4

*

*

0

Weekly

42

4

1

*

*

Montly

50

3

2

1

*

Yearly

Cron任务的字段说明

项目

说明

Minute

分钟,取值从0-59之间的任意数

Hour

小时,取值从0-23之间的任意数

Day

日期,取值从1-31之间的任意数

Month

月份,取值从1-12之间的任意数

Dayofweek

星期,取值从0-7之间 的任意数

Command

要执行的命令,可以是普通的命令,也可以是自己编写的程序脚本

5、 使用crontab命令进行设置

(1) 查看用户的cron任务:crontab –l

(2) 编辑用户的cron任务:

crontab命令:单独使用crontab将用键盘输入的内容覆盖原有的内容。

Crontab –e:修改现有的cron任务。

(3) 删除用户现在的cron任务:crontab –r

(4) 保存现有的cron任务的文件

所有用户的cron任务都被保留在目录/var/spool/root的文件中,文件的名称与用户名相同。

六、磁盘配额

磁盘配额的一般步骤,可以分为以下几步:

1、 修改fstab文件

修改/etc/fstab文件分区的装在设置,在需要配置quota的分区装载设置中添加usrquota和grpquota选项,usrquota选项是对用户进行配额,grpquota是对系统中的组进行磁盘配额。

2、 重新挂载文件系统

修改fstab文件后可以reboot重新启动系统或者使用mount –o remount 配额分区即可生效。

3、 创建配额文件

设置分区支持quota进行配额后还不能使用磁盘配额功能,因为分区中还没有建立配额文件,需要使用quotacheck –cumg命令在支持配额功能的分区上建立配额文件。

命令格式:quotacheck –cumg 配额分区

C:表示建立配额问。

U:表示用户配额文件。

G:表示组配置文件。

M:表示重新挂载文件系统。

4、 设置配额

(1)启用配额:quotaon –a

(2)设置配额:edquota –u用户名(对用户进行磁盘配额)

Edquoat –g 组名(对组进行磁盘配额)

5、查看配额情况

Quota –u 用户名:显示用户的配额信息。

Quota –g 组名:显示组的配额信息。

七、文件的归档和备份

1、对文件和目录进行归档

Tar cf tar文件名 需要备份的文件或目录名

C:表示创建归档文件

F:表示指定归档文件的文件名

2、 对文件和目录进行压缩备份

Tar zcf tar.gz文件名 需要备份的文件或目录名

Z:表示对归档文件进行压缩

C:表示创建归档文件

3、 查看tar归档文件中的目录列表

Tar tf tar文件名

T:表示查看归档文件中的文件的目录列表

F:表示指定归档文件的文件名

4、查看压缩tar归档文件中的目录列表

Tar zft tar.gz 文件名

5、恢复tar备份文件

Tar xf tar文件名

X:表示释放归档文件

5、 恢复压缩tar备份文件

Tar zxf tar.gz文件名