Linux 学习笔记之 6 Linux系统启动和服务

时间:2022-08-04 15:35:19
1 RedHat linux9启动过程概述
  • 主机启动并进行硬件自检后,读取硬盘MBR中的启动引导器程序并进行加载
  • 启动引导器程序负责引导硬盘中的操作系统,直接加载linux内核程序
  • Linux的内核程序负责操作系统启动的前期工作,并进一步加载系统的INIT进程
  • INIT进程是linux系统中运行的第一个进程,该进程将根据其配置文件执行相应的启动程序,并进入指定的系统运行级别
  • 在不同的运行级别中,根据系统的设置将启动相应的服务程序
  • 在启动的过程中,将运行控制台程序提示并允许用户输入帐号和口令进行登录

2 INIT进程     INIT进程是由linux内核引导运行的,是系统中运行的第一个进程,PID为1。INIT进程运行后将按照其配置文件,引导运行系统所需的其他进程,INIT进程将做为这些进程的父进程    INIT的配置文件—inittab /etc/inittab,inittab文件文件中每行的纪录有id、runlevels、action和process四个字段,各字段用“:”分隔,他们共同确定了某进程在那些运行级别以何种方式运行。
  • id用于在inittab文件中惟一标示一个配置记录,可以有1-4个字符组成。
  • runlevels用于指定该记录在哪些运行级别中运行,runlevels可以使单个运行级别也可以是运行级别列表
  • action字段描述记录将执行那种类型的动作,详细设置如下:
  1. initdefault:用于标示系统启动后将进入哪个运行级别。
  2. sysinit类进程将在系统启动时在任何boot或bootwait类进程 之前运行
  3. wait类进程将在进入指定运行级别后运行一次,init进程将等待其结束
  4. ctrlaltdel用于指定用户使用ctrl+alt+del组合键时系统所进行的操作,如重启进入单用户等。
  5. powerfail和powerokwait用于指定当UPS断电信号时所运行的命令和指定当供电恢复时所运行的命令
  6. respawn类进程在结束后重新启动运行(如控制台登录程getty) 
  • process字段所设置的是启动进程所执行的命令
3 系统的运行级别 在unix系统中通常有0-6,共7个运行级别:
  • 0 停机
  • 1 单用户模式,用于root用户对系统进行维护,不允许其他用户使用主机
  • 2 多用户模式,在该模式下不能使用NFS
  • 3 完全多用户模式,主机作为服务器时通常在该模式下
  • 4 未分配使用
  • 5 图形登录的多用户模式,用户在该模式可进行图形登录界面
  • 6 重新启动
1、runlevel命令用于显示系统当前的和上一次的运行级别。#runlevel
2、使用init命令转换运行级别,后面跟相应的运行级别作为参数,可以从当前的运行级别转换为其他运行级别#init 0123456
注:init 0 和init 6从任何运行级别转换为“0、6”都是进行关系与重启操作

4 系统初始脚本 在RedHat linux9中,inittab文件中指定使用rc.sysinit作为系统的初始化脚本
     #grep sysinit /etc/inittab

5 Linux中的独立服务程序 Redhat linux服务程序有两种:独立运行的服务程序和受xinetd管理的服务程序
5.1 独立运行的服务程序    服务器的启动脚本    Redhat linux9中的每个服务都会有相应的服务器启动脚本,所有的服务器启动脚本都放在目录/etc/rc.d/init.d/中,脚本名称与服务器名称相对应。     #ls /etc/rc.d/init.d
    各运行级别的脚本目录    系统的各运行级别有独立的脚本目录,目录名称格式为rcN.d,其中N为0-6的数字,对应各自的运行级别。    #ll /etc/rc.d/

    服务程序的启动与停止
  • 各运行级别目录中的脚本
  • #ls /etc/rc.d/rc.3.d/
  • 用于启动服务的脚本
  • 用于启动服务的脚本名格式为“Snn服务”
  • 用于停止服务的脚本
  • rc0.d中的脚本
  • rc6.d中的脚本
  • 使用服务脚本
  • 使用service命令
5.2 Xinetd与其管理的服务     Xinetd做为inetd的后续版本,负责管理系统中不频繁使用的服务,这些服务程序在有请求时才由xinetd服务负责启动运行,一旦完成服务请求服务程序结束运行    Xinetd的配置文件        Xinetd的配置文件为/etc/xinetd.conf    Xinetd的启动配置目录        Xinetd的启动配置目录为/etc/xinetd.d/,在该目录中xinetd管理的每个服务都有独立的配置文件,配置文件的名称与服务名称相同
6 服务的启动状态和配置命令 在对linux主机的管理中会经常需要设置某服务在某运行级别中自动启动或不启动
  • ntsysv
        ntsysv程序中可以设置所有服务程序的启动选项,包括受xinetd服务管理的服务
  • chkconfig
        查看服务启动状态#chkconfig –list 服务名称        设置独立服务的启动状态#chkcofig –level 运行级别列表 服务名称 on|off|reset   //指定可以设置指定服务在指定与运行级别中的启动状态        设置非独立服务的启动状态#chkonfig 服务器 on|off|reset
  • 重新启动服务