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

相关推荐

  • Linux文件查找之find秘笈

    前言     Linux的基本特点之一是一切皆文件,在系统管理过程中难免会需要查找特定类型的文件,那么问题来了:如何进行有效且准确的查找呢?本文将对Linux系统中的文件查找工具及用法进行详细讲解。 常用工具对比     常用的文件查找工具主要有locate(非实时查找)和find(实时查找)。locate查找依赖于索…

    2015-03-23
  • 数据分析≠Hadoop+NoSQL,不妨先看完善现有技术的10条捷径

    让业务搭乘大数据技术确实是件非常有吸引力的事情,而Apache Hadoop让这个诱惑来的更加的猛烈。Hadoop是个大规模可扩展数据存储平台,构成了大多数大数据项目基础。Hadoop是强大的,然而却需要公司投入大量的学习精力及其它的资源。 如果得到正确的应用,Hadoop确实能从根本上提升你公司的业务,然而这条Hadoop的应用之路却充满了荆棘。另一个方面…

    Linux干货 2015-02-25
  • 网络接口bonding的设置

    网络接口bonding的设置 一、什么是Bond 就是将多块网卡绑定同一IP地址对外提供服务,可以实现高可用或者负载均衡。当然,直接给两块网卡设置同一IP地址是不可能的。通过bonding,虚拟一块网卡对外提供连接,物理网卡的被修改为相同的MAC地址。 二、Bonding的工作模式 Bond有七种策略模式(mode),其实指的是在传输数据包的时候,如何从已经…

    Linux干货 2016-09-06
  • Linux 基础知识(六.一)

    一、模式及模式间的切换 (一)模式介绍 1、vim文本编辑器提供了三种基本模式,分别是编辑模式(命令模式)、输入模式以及末行模式(命令行模式) (二)模式间的切换 二、基础操作 (一)单文件的打开与关闭 1、单文件的打开:vim [options]… /path/to/somefile 2、单文件打开时的常用选项: (1)+#:表示当文件打开时,…

    Linux干货 2016-11-14
  • 马哥教育21期网络班—第四周课程+练习

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 [root@localhost ~]#cp -rf /etc/skel /home/tuser1[root@localhost ~]#chmod -R g…

    Linux干货 2016-07-16
  • vsftp简单应用

    vsftp配置详解 前言 FTP(File Transfer Protocol)是文件传输协议的简称。它能让用户 连接上一个远程计算机(运行着 FTP 服务器程序)查看远程 计算机上有哪些文件,然后把文件从远程计算机上下载到 本地计算机,或把本地计算机文件上传到远程计算机。但是ftp是一种古老的文件传输协议,是明文传输,特别的不安全所以就有了vsftp。 一…

    Linux干货 2016-12-18