《鸟哥的Linux私房菜》基础篇 笔记
Linux启动流程分析
- BIOS自检
BIOS的组成是由两大部分组成的:POST(power on system test)代码和运行时的服务;
POST的工作目的是对硬件进行检测; - 读取并执行第一个启动Loader
- 按照BootLoader的设置加载Kernel
- 调用init进程,获取run-level信息
init进程是系统所有进程的起点,是所有进程的发起者和控制者。因为在任何基于Linux的操作系统中,它都是第一个运行的进程,所以,init进程的进程编号(PID)永远是1. - init执行/etc/rc.d/rc.local准备软件的执行环境
- init启动各个服务
- init执行/etc/rc.d/rc.local
- 执行终端模拟程序,启动login进程
inittab介绍
inittab有多个执行等级,含义如下
Runlevel 0是让init关闭所有进程并终止系统。
Runlevel 1是用来将系统转到单用户模式,单用户模式只能有系统管理员进入,在该模式下处理那些在有登录用户的情况下不能进行更改的文件,改runlevel的编号1也可以用S代替。
Runlevel 2是允许系统进入多用户的模式,但并不支持文件共享,这种模式很少应用。
Runlevel 3是最常用的运行模式,主要用来提供真正的多用户模式,也是多数服务器的缺省模式。
Runlevel 4一般不被系统使用,用户可以设计自己的系统状态并将其应用到runlevel 4阶段,尽管很少使用,但使用该系统可以实现一些特定的登录请求。
Runlevel 5是将系统初始化为专用的X Window终端。对功能强大的Linux系统来说,这并不是好的选择,但用户如果需要这样,也可以通过在runlevel启动来实现该方案。
Runlevel 6是关闭所有运行的进程并重新启动系统。
run-level
在终端执行runlevel
命令即可查看当前所处的等级
切换run-level
使用init
命令进行执行等级的切换,例如
init 3
BootLoader
Bootloader是嵌入式系统的引导加载程序,它是系统上电后运行的第一段程序,其作用类似于PC机上的BIOS。Bootloader是依赖于硬件而实现的,特别是在嵌入式领域,为嵌入式系统建立一个通用的Bootloader是很困难的,但为了能达到启动Linux内核的目的,所有的Bootloader都必须具备以下功能:
- 初始化RAM
- 初始化串口端口
- 检测处理器类型
- 设置Linux启动参数
- 调用Linux内核映像
21章大部分为图形界面下的各种配置,不做记录。
软件安装
软件安装常用的方式是源码安装和包管理器安装,其中源码安装最常用的就是编译命令了。
举个例子,编译安装php的时候,需要下载并解包PHP的源码,在目录内执行make命令,程序会自动读取Makefile,按照既定逻辑编译代码。
在Ubuntu系统最常用的就是apt包管理器,使用apt命令可以很方便安装其他人发型的软件包。
Centos系列内置的包管理器为yum,和apt基本一致,另外,常用的手动解包安装命令还有rpm等。
yum(选项)(参数)
-h:显示帮助信息;
-y:对所有的提问都回答“yes”;
-c:指定配置文件;
-q:安静模式;
-v:详细模式;
-d:设置调试等级(0-10);
-e:设置错误等级(0-10);
-R:设置yum处理一个命令的最大等待时间;
-C:完全从缓存中运行,而不去下载或者更新任何头文件。
#Linux##笔记#P714