菜鸟学Linux 第035篇笔记 脚本知识、启动流程-阿里云开发者社区

开发者社区> 数据库> 正文

菜鸟学Linux 第035篇笔记 脚本知识、启动流程

简介:

菜鸟学Linux 第035篇笔记  脚本知识、启动流程




系统启动流程


1. POST-->2. BIOS(Boot sequence)-->3. MBR(BootLoader)

--> 4. Kernel (initrd, initramfs)-->5. init(/etc/inittab,)


RHEL6:

upstart 项目名称

/etc/inittab

/etc/init/*.conf

kernel内核初始化工作:

硬件探测

装载驱动

挂载根文件系统(rootfs,ro)

启动用户空间中的第一进程init


/etc/inittab:

设定默认运行级别

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

运行指定级别的服务脚本

/etc/rc.d/init.d/

/etc/rc.d/rc#.d

rc0.d--rc6.d

K*

S*

00-99运行次序,数字越小越先被执行

rc.local

启动虚拟终端

启动图形终端

/etc/rc.d/rc.sysinit

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

设定主机名

检测并挂载/etc/fstab中的其它文件系统

启用swap交换分区

初始化外围硬件设备的驱动

根据/etc/sysctl.conf设定内核参数

激活udev和selinux

激活LVM和RAID设备

清理过期锁和PID文件

装载键映射





增加之前所做的小linux功能

1.关机重启

2.主机名

3.运行对应服务脚本

4.启动终端

5.支持用户

6.定义单用户级别

7.装载网卡驱动,启用网络功能;

8.提供一个web服务器


busybox: 1M

kernel:


安装RHEL5, RHEL6

定制安装:

自动化安装

定制引导盘




shutdown

halt

reboot

poweroff

init 0

init 6



mount -n 挂载时不更新/etc/mtab文件

cat /proc/mounts



已经实现的功能

1. 关机重启;

2. 终端

3. 主机名

4. IP地址(模块的装载和服务的实现)

5. functions

6. 终端提示信息

/etc/issue文件的内容

7. rc.sysinit 挂载/etc/fstab中定义的其它文件系统

8. 设定内核参数

/etc/sysctl.conf

sysctl -p 

9. 用户

PAM: Pluggable Authentication Module

/etc/pam.d/*

绕过PAM /bin/login:

 框架nsswitch: Network Service Switch

 库: libnss_file.so, libnss_nis.so, libnss_ldap.so

 配置文件: /etc/nsswitch.conf

NIS LADP MySQL

/etc/passwd

/etc/group

10. 单用户模式

总算明白点点这个怎么制作,但目前未再进行深研究,相信应该可以成功了。

下一章的小linux已经成功,所以这里等以后再来研究吧!


脚本编程知识点

 

${#A} 表示取变量A的值所点字符长度

. /etc/inittab 表示将该文件读到当前脚本中,这样就可以在当前脚本中引用其函数

本文转自Winthcloud博客51CTO博客,原文链接http://blog.51cto.com/winthcloud/1879593如需转载请自行联系原作者

Winthcloud

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

其他文章