文章目录
- 一、源码包(编译)安装
- 1.安装前先查看磁盘大小
- 2.压缩包的位置
- 3.执行编译
- 二、二进制安装
- 三、Linux操作系统启动流程
- 3.1概述
- 3.2启动流程核心阶段
- 1.电源与固件阶段
- 2.引导加载程序
- 3.内核初始化
- 4.systemd初始化进程
- 5. 用户登录阶段
- 四、systemd管理机制
- 练习题
- 总结
一、源码包(编译)安装
需要依赖gcc和make环境
配置: cd 源码包的解压路径:
./configure --prefix=安装路径(一般可以选择在/usr/local/nginx)
编译:make
安装: make install
案例:nginx编译安装:
1.安装前先查看磁盘大小
发现/home内存空间大可以放在/home下
2.压缩包的位置
浏览器下载的压缩包直接拖入桌面
使用mv移动到home下,使用tar -xf解压会生成一个新的目录
进入该目录,configure就是我们所需要的
3.执行编译
./configure --prefix=//usr/local/nginx
该目录会自动创建
如果出现下面这种情况代表没有安装gcc make依赖
重新编译后出现下面这种情况需要
yum install -y pcre-devel或者untils
yum install -y zlib-devel
然后再重新编译,会在源码包下生成Makefile文件
在执行make ,最后执行make install
也可以合并命令:./configure --prefix=/usr/local/nginx18 && make && make install 直接执行
验证:cd /usr/local/nginx
然后直接使用nginx命令不生效,是因为他并没有在sbin文件下,生成软连接到/usr/sbin下
命令优化:
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
二、二进制安装
只需要运行bin文件
jdk-6u14-linux-x64.bin
./jdk-6u14-linux-x64.bin
根据提示进行操作即可
三、Linux操作系统启动流程
3.1概述
Linux启动流程是从按下电源键到用户登录的完整过程,分为传统BIOS+MBR和现代UEFI+GPT两种模式。主流系统(如CentOS 7+/Ubuntu 18.04+)通常使用 UEFI + GRUB2 + systemd 组合。
3.2启动流程核心阶段
1.电源与固件阶段
UEFI/BIOS初始化
- 硬件自检(POST, Power-On Self-Test)
- UEFI特点:图形化界面、支持GPT分区、独立于OS的Shell环境
- 定位启动设备:读取NVRAM中的启动项(
efibootmgr
命令可管理)
2.引导加载程序
-
GRUB2 核心作用
-
配置文件路径:
/boot/grub2/grub.cfg
(由grub2-mkconfig
生成) -
关键配置参数:
set root=(hd0,gpt1) # 指定/boot所在分区 linux /vmlinuz-5.4.0 root=/dev/sda2 ro # 内核路径及挂载参数 initrd /initramfs-5.4.0.img # 初始化内存文件系统
-
-
用户交互
- 按
e
临时编辑启动参数(如单用户模式systemd.unit=rescue.target
) - 按
c
进入GRUB命令行
- 按
3.内核初始化
内核解压与初始化
- 加载
vmlinuz
:压缩的内核镜像 initramfs
作用:- 包含根文件系统挂载前的驱动(如LVM、RAID)
- 提供
dracut
工具集(可通过dmesg | grep initramfs
查看日志)
- 挂载根文件系统(
/
)为只读模式
4.systemd初始化进程
首个用户态进程
-
PID=1,替代传统
init
-
核心任务:
- 解析
/etc/systemd/system/default.target
(默认运行级别) - 并行启动服务单元(Unit)
- 激活
sysinit.target
(系统初始化)、basic.target
(基础服务)
- 解析
-
关键操作命令
systemctl get-default # 查看默认target systemctl set-default multi-user.target # 设置默认为命令行模式 journalctl -b # 查看本次启动日志
5. 用户登录阶段
- 终端登录
getty
服务生成终端(/etc/systemd/system/getty.target.wants/
)- 调用
login
验证用户身份
- 图形化登录
- Display Manager(如GDM、LightDM)启动X/Wayland会话
提示:这里对文章进行总结:
- Display Manager(如GDM、LightDM)启动X/Wayland会话
四、systemd管理机制
语法结构:
systemctl 服务控制类型 服务名称[.service]
服务控制类型:
start:启动
Active: active (running)
stop:停止
Active: inactive (dead)
restart:重启
会停止服务
reload:重载
不停止服务,加载配置文件
优雅的重启
status:查看状态
enable:开机自启动
is-enabled:查看是否开机自启动
disabled
关闭开机自启动
enabled
开启开机自启动
disable:开机不进行自启动
–now 配合enable与disable使用;在进行开机自启或不自启的同时进行打开或关闭指定服务
选项:
-t
指定unit类型
Unit Commands
list-units
列出所有unit,一般与-t结合
案例:
systemctl list-units -t service
systemctl daemon-reload #当改变unit的脚本文件后,需要进行重新识别
练习题
总结
例如:以上就是今天要讲的内容,这一部分还涉及到故障排错,后续会有专门的课题。