linux 启动管理

1、Linux系统启动流程:POST 加电自检 — BIOS(Boot Sequence)–>MBR(bootloader,446)(加载前512字节后的驱动程序,进入/boot目录,加载内核)–>Kernel–>initrd–>(系统根路径 /)(ROOTFS)/sbin/init(/etc/inittab)
2、init程序的类型:

SysV: init, CentOS 5 配置文件:/etc/inittab

Upstart: init,CentOS6 配置文件:/etc/inittab, /etc/init/*.conf

Systemd:systemd, CentOS 7 配置文件:/usr/lib/systemd/system;/etc/systemd/system

init读取其初始化文件:/etc/inittab

初始运行级别(RUN LEVEL)

0:halt 关机

1: single user mode, 直接以管理员身份切入 修改root密码

2:multi user mode, no NFS

3: multi user mode, text mode

4:reserved 保留

5: multi user mode, graphic mode

6: reboot

系统初始化脚本:/etc/rc.d/rc.sysinit

激活udev和selinux;

根据/etc/sysctl.conf文件,来设定内核参数;

设定时钟时钟;

装载键盘映射;

启用交换分区;

设置主机名;

根文件系统检测,并以读写方式重新挂载;

激活RAID和LVM设备;

启用磁盘配额;

根据/etc/fstab,检查并挂载其它文件系统;

清理过期的锁和PID文件;

对应运行级别的脚本目录

捕获某个关键字顺序

定义UPS电源终端/恢复脚本

在虚拟控制台生成getty

在运行级别5初始化X11

    切换runlevel:init #

    查看运行级别:runlevel: who -r

总结:/sbin/init–> (/etc/inittab) –> 设置默认运行级别–> 运行系统初始脚本、完成系统初始化–> (关闭对应下需要关闭的服务)启动需要启动服务–> 设置登录终端
在CentOS 6 init程序为: upstart, 其配置文件:/etc/inittab, /etc/init/*.conf,配置文件的语法遵循upstart配置文件语法格式
3、系统引导grub.conf

default=0  # 设定默认启动的title的编号,从0开始

timeout=5  # 等待用户选择的超时时长,单位是秒

splashimage= # grub的背景图片

hiddenmenu # 隐藏菜单

password xxxxxx / password –md5 编辑加密

title      # 内核标题,或操作系统名称,字符串,可自由修改

root (hd0,0)  # 内核文件所在的设备;对grub而言,所有类型硬盘一律hd,格式为(hd#,N);hd#,

         #表示第几个磁盘;最后的N表示对应磁盘的分区;

kernel        # 内核文件路径,及传递给内核的参数

initrd      # ramdisk文件路径

4、安装grub :(可修复破坏磁盘前446字节的情况)

# grub

grub> root (hd0,0)

grub> set (hd0)

安装grub第二种方式:(修复1.5阶段)

# grub-install –root-directory=/path/to/boot’s_parent_dir  /PATH/TO/DEVICE

5、Kernel初始化的过程:

设备探测

驱动初始化(可能会从initrd(initramfs)文件中装载驱动模块)

以只读挂载根文件系统;

装载第一个进程init(PID:1)

/sbin/init:(读取/etc/inittab)upstart:  systemd:  

id:runlevels:action:process

id: 标识符

runlevels: 在哪个级别运行此行;

action: 在什么情况下执行此行;

process: 要运行程序; 

id:3:initdefault:

si::sysinit:/etc/rc.d/rc.sysinit

ACTION:

initdefault: 设定默认运行级别

sysinit: 系统初始化

wait: 等待级别切换至此级别时执行

respawn: 一旦程序终止,会重新启动

/etc/rc.d/rc.sysinit:

##: 关闭或启动的优先次序,数据越小越优先被选定

先关闭以K开头的服务,后启动以S开头的服务;

6、chkconfig 

# chkconfig: runlevels SS KK  当chkconfig命令来为此脚本在rc#.d目录创建链接时,runlevels表示默认创建为S*开头的链接,-表示没有级别默认为S*开头的链接;除此之外的级别默认创建为K*开头的链接;

S后面的启动优先级为SS所表示的数字;K后面关闭优先次序为KK所表示的数字;

# description: 用于说明此脚本的简单功能; \, 续行

chkconfig –list: 查看所有独立守护服务的启动设定;独立守护进程!

chkconfig –list SERVICE_NAME

chkconfig –add SERVICE_NAME

chkconfig –del SERVICE_NAME

chkconfig [–level RUNLEVELS] SERVICE_NAME {on|off}

如果省略级别指定,默认为2345级别

原创文章,作者:cui,如若转载,请注明出处:http://www.178linux.com/86151

(0)
cuicui
上一篇 2017-09-03 20:29
下一篇 2017-09-03 22:24

相关推荐

  • 初识varnish

      实验拓扑 varnish主机    地址192.168.150.137 后端web主机     web1静态服务192.168.150.138     web2动态服务192.168.150.140 varnish的安装及开启 varnish主机: ~]# yum info varni…

    Linux干货 2017-01-05
  • N26_第一周作业

    计算机的组成 计算机由五大部分组成:    1.控制器(control):是整个计算机的中枢神经,其功能是对程序规定的控制信息进行解释,根据其要求进行控制,调度程序、数据、地址,协调计算机各部分工作及内存与外设的访问等;    2.运算器(datapath):运算器的功能是对数据进行各种算术运算和逻辑运算,即对数据进行…

    Linux干货 2016-12-28
  • 一起学WINS系列(三)界面、概览

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://jeffyyko.blog.51cto.com/28563/159542 上节我们讨论了有关WINS服务器的安装,本节将开始讨论WINS配置等内容。 一般情况下,我们可以在控制面板的管理工具中找到WINS,或者在【运行】内…

    Linux干货 2015-03-25
  • 第三周作业

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 答:who | cut -f 1 -d " " | sort -u 2、取出最后登录到当前系统的用户的相关信息。 答:who | tail -n 1 3、取出当前系统上被用户当作其默认shell的最多的那个shell。 答:cut -f7 -d: …

    Linux干货 2016-11-25
  • 8-5作业

    4、取本机ip地址 ifconfig | grep -o "1[0-9]\+\.[0-9]\+\.[0-9]\+\.[1-2][0-5][0-4]" 5、取各分区利用率的数值 df | grep "/dev/sda"|tr -s ' ' |cut -d" " -f5 |tr -d…

    Linux干货 2016-08-10
  • 磁盘分区知识总结

    Linux中df命令的功能是用来检查linux服务器的文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。 1.命令格式: df [选项] [文件] 2.命令功能: 显示指定磁盘文件的可用空间。如果没有文件名被指定,则所有当前被挂载的文件系统的可用空间将被显示。默认情况下,磁盘空间将以&nbsp…

    Linux干货 2017-08-19