Linux Default Bootup、Startup、Autoload Configuration file(undone)

目录

1. Linux初始化init系统
2. Linux配置文件自动加载过程

1. Linux初始化init系统

Linux初始化init系统在不同操作系统系列下的区别

1. RHEL 5: SysVinit
2. RHEL 6: Upstart
3. RHEL 7: Systemd

RHEL 5.x为例进行学习

RHEL的启动过程按步骤大致可以分为:

1. POST加电自检
2. BIOS(Boot Sequence)
3. 加载对应引导上的MBR(bootloader)
4. 主引导设置加载其BootLoader
5. 藉由Grub的管理,读取Kernel内核文件(/boot/vmlinuz),解压至主内存,利用内核的功能,进行第二次硬件检测(第一次发生在POST开机自检时)
6. 加载Initial RAM Disk(/boot/initrd),使之在内存中解压缩为根目录,kernel藉此完成驱动程序的加载。最终释放虚拟文件系统,并挂载实际的根目录文件系统
6. 在核心加载完毕,进行完硬件侦测与驱动程序加载后,内核会启动第一个进程/sbin/init,init进程将会读取/etc/inittab,在/etc/inittab中,大致规定了以下动作:
    1) 取得 runlevel 亦即默认运行等级的相关等级
    2) 使用 /etc/rc.d/rc.sysinit 进行系统初始化
    3) 根据runlevel调用相关启动脚本,以启动相应的系统服务
    4) 其他一些系统设置,最终完成系统启动 

顺序如下

/****自启动脚本执行****/
1. /etc/inittab
Linux系统内核会启动整个系统的第一个进程/sbin/init,init进程将会读取/etc/inittab 

2. /etc/rc.lcoal
开机启动程序

3. /etc/rc.sysinit
由init执行的第一个脚本

4. /etc/rc.d/init.d/
5. /etc/init.d/
各种服务器和程序的二进制文件存放目录

4. /etc/rc
    1) while遍历/etc/rc$runlevel.d/K*,运行默认KILL脚本
    2) while遍历/etc/rc$runlevel.d/S*,运行默认START服务

5. /etc/rc$runlevel.d/
各个启动级别的执行程序连接目录,里头的文件都是指向/etc/init.d/的一些软连接

6. /etc/rc.d/rc
根据其参数指定的运行模式(运行级别)来执行相应目录(/etc/rc.d/rc$runlevel.d/)下的脚本
7. /etc/rc.d/rc$runlevel.d/
各个启动级别的执行程序连接目录,里头的文件都是指向/etc/rc.d/rc$runlevel.d/的一些软连接

8. /etc/rc.d/rc.local
使用者自订开机启动程序
9. /etc/rc.d/rc.sysinit
/****自启动脚本执行****/

Relevant Link:

http://no001.blog.51cto.com/1142339/411951
http://www.zhihu.com/question/20126189

1. Linux配置文件自动加载过程

Linux下有很多针对全局的、针对单个用户的自启动、环境参数配置文件,它们的顺序关系如下

/****环境变量设置****/
1. /etc/profile.d: 放置配置SHELL信息的脚本文件
2. /etc/profile
此文件为系统的每个用户设置"环境信息",是一个全局的配置,当用户第一次登录系统时,该文件被执行。并从/etc/profile.d目录的配置文件中搜集shell的设置,并逐个执行,这种将配置文件切分为"独立脚本模块"的方式提高了Linux系统环境变量配置的灵活性
需要注意的是,/etc/profile中设定的变量(全局)的可以作用于任何用户

3. ~/.bashrc:
该文件包含专用于每个用户的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取
~/.bashrc等中设定的变量(局部)只能继承/etc/profile中的变量,他们是"父子"关系。
4. ~/.bash_profile
每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次。默认情况下,设置一些环境变量,执行用户的.bashrc文件

5. /etc/bashrc
用户登录系统后,会打开SHELL终端进行指令操作,Linux为每一个运行Bash Shell的用户执行此文件(任意指令)。当bash shell被打开时,该文件被读取(即每次新开一个终端,都会执行/etc/bashrc)
6. /etc/csh.cshrc
BSD上CSH的全局配置文件,BSD为每一个运行CShell的用户执行此文件(任意指令)。当CShell被打开时,该文件被读取(即每次新开一个终端,都会执行/etc/csh.cshrc)

7. ~/.bash_logout
当每次退出系统(退出bash shell)时,执行该文件
/****环境变量设置****/

Relevant Link:

http://huhao1989.iteye.com/blog/1586020
http://blog.csdn.net/ithomer/article/details/6322892
https://wiki.freebsdchina.org/howto/c/config_your_csh

Copyright (c) 2014 LittleHann All rights reserved

时间: 2024-07-29 04:59:49

Linux Default Bootup、Startup、Autoload Configuration file(undone)的相关文章

Linux网络基础番外篇(IP、MAC、TCP)

linux网络管理 计算机网络 MACMAC(Media Access Control或者Medium Access Control)地址,意译为媒体访问控制.介质访问控制,或称为物理地址.硬件地址,用来定义网络设备的位置.在OSI模型中,第三层网络层负责IP地址,第二层数据链路层则负责MAC地址.因此一个主机会有一个MAC地址,而每个网络位置会有一个专属于它的IP地址.MAC地址(MAC Address)MAC(Medium/Media Access Control)地址,用来表示互联网上每一

【VNC】Linux环境VNC服务安装、配置与使用

[VNC]Linux环境VNC服务安装.配置与使用 2009-06-25 15:55:31 分类: Linux 前言:作为一名DBA,在创建Oracle数据库的过程中一般要使用dbca和netca图像化进行建库和创建监听(如果使用脚本建库另说),如果您身体好估计可以在瑟瑟发抖的机房中完成数据库的创建过程,由于本人对寒冷比较敏感,又不想通过这样的方式锻炼身体,所以更愿意在舒适的房间内一边品味着咖啡的浓香,顺便度过相对枯燥的数据库安装和配置的过程,So,图形化操作工具是必不可少的,在Linux操作系

Linux下安装DBD::Oracle、DBI和Ora2Pg

介质下载路径: DBI:http://www.cpan.org/modules/by-module/DBI/ DBD:http://www.cpan.org/modules/by-module/DBD/ Ora2Pg:https://sourceforge.net/projects/ora2pg/files/ 要求:perl 版本5.8以上, perl -v查看版本 使用root用户进行安装 1.安装DBI [[email protected] DBI-1.627]$ perl Makefile

linux中查看nginx、apache、php、mysql配置文件路径的方法

转自:http://www.phper163.com/archives/368 如何在linux中查看nginx.apache.php.mysql配置文件路径了,如果你接收一个别人配置过的环境,但没留下相关文档.这时该怎么判断找到正确的加载文件路径了.可以通过以下来判断1.判断apache首先执行命令找到httpd路径ps aux | grep httpd如httpd路径为 /usr/local/apache/bin/httpd然后执行以下命令/usr/local/apache/bin/http

Linux网络属性配置“三大家族”(ifcfg、iproute、配置文件)

Linux系统下网络管理命令和方法是Linux工作人员必学的技能,现将Liunx下常用网络管理命令和方法总结如一下: 网络管理的三大家族:ifcfg家族.iproute家族和修改配置文件.ifcfg和iproute特点是配置立即生效,但不长久生效,修改配置文件可长久生效,但不能立即生效,需要重新启动网络服务.现将分别介绍如下: ifcfg家族: 包括ifconfig.route.netstat三大命令. ifconfig命令: 功能:configure a network interface,查

vnc server配置、启动、重启与连接,图形管理linux系统

环境:RedHat Linux 5企业版.Xwindows:gnome (红帽默认安装的图形界面) 尽管我们可以使用SSH连接远程通过字符界面来操作Linux,但是对于更多熟悉图形人来说是很不方便的,因此开启Linux的远程桌面还是很有必要的.目前有两种比较流行的方式:XDM(X display manager)方案和VNC方案,而我个人比较倾向于VNC方案,一是因为VNC方案配置起来相对比较容易,二是VNC方案支持多种连接方式,比如通过浏览器访问Linux桌面,免去需要安装客户端的麻烦. 接下

linux环境下部署zabbix3.2、模板、邮件告警详细过程

服务端部署: 系统环境及软件版本: Linux:release 6.3 zabbix:zabbix-3.2.5.tar.gz nginx:nginx-1.12.0.tar.gz php:php-5.5.38.tar.gz mysql:mysql-5.6.28.tar.gz 一.安装nginx: 1.依赖包: yum -y install gcc gcc-c++ autoconf automake zlib zlib-devel openssl openssl-devel make gd-deve

Linux多线程编程----IO【select、poll、epoll】

IO操作多   速度就下降 IO数据的 读和写 IO的完成 必须等到 读事件(如磁盘 拷贝  每次要从磁盘查找数据) 和 写事件 (允许写 如写太快 写满就要马上阻塞)的就绪 IO是否高效 :主要看一次IO中 等的时间的比例的多少 (等的时间比例越少  越高效) 就像钓鱼分两步:1 等 2 钓   (评价钓鱼技术高效 是 等的时间少 钓的次数多) 5中IO模型 1 阻塞式IO: 等的时候自己等   , 数据搬迁也是由自己来操作, IO事件就绪时 自己处理.期间什么也不做 2 非阻塞IO :(轮询

【 Linux 】lvs-dr模型实现HA,后端Nginx、PHP、MySQL分离 搭建wordpress站点

要求:    1. wordpress程序通过nfs共享给各个realserver    2. 后端realserver中的nginx和php分离 网络结构图: 环境说明:    OS:centos6.7 x64    主机IP:        LVS-DR(director): 192.168.2.10        realsever1 web1 Nginx: 192.168.2.11        realserver2 web2 Nginx: 192.168.2.12        PH