一、启动流程
CentOS 6中:
1. post 加电自检,硬件信息
2. grub stage1 ,读取默认启动设备MBR 前446 字节
3. grub stage1.5,加载分区文件系统
4. grub stage2,加载核心文件,以及驱动模块设备
5. 执行init程序,并且根据/etc/inittab获取默认信息
6. 执行/etc/rc.d/rc.sysinit初始化脚本
7. 根据使用的运行模式,运行/etc/rc(n).d/S、K开头的服务
8. 执行/etc/rc.d/rc.local脚本,里面包含自主设定的一些内容
9. Login 用户登录
二、 启动/修复相关命令文件
1./etc/init.d/ 目录下放置的是服务脚本
服务脚本的格式为:
#!/bin/bash
# chkconfig:***(哪种运行模式下开启)**(S号)**(K号)
# description:描述信息
命令体
通过 chkconfig --list 可查看所有服务在0-6运行模式下的on/off状态
chkconfig --add +编写的服务脚本 可将其加入到/etc/rc(n).d/下
chkconfig --del 服务 可将其从/etc/rc(n).d/下删除
chkconfig 服务 on/off 开机时服务开启或关闭(默认对2,3,4,5模式)
chkconfig --level 指定模式 服务 on/off
2.grub
Stage 1 开机所选启动设备的 MBR ,前446字节
如若破坏,则引导失败,reboot后直接进入到系统安装菜单
Stage 1.5 MBR后的27个扇区
如若破坏,stage 1 仍会成功,但是会停在后续界面不动
对于stage 1和1.5 的修复,措施如下:
进入rescue模式:
a. 切入真根“/”
b. 使用 grub-install + 启动设备名
c. 命令sync 同步内容,以防存在一些问题
d. reboot
也可在rescue下使用grub命令,但是grub命令,依赖于/boot/grub/目录下的一些文件。
注意stage 1.5 破坏后修复:
若之前没修复过,则/boot/grub/目录下除grub,conf和splash.xpm.gz文件,删除后不影响启动,若以前修复过,则会影响。
Stage 2 磁盘分区 (/boot/grub/)
如若破坏,则启动菜单选项就不会进入
修复:
1.进入rescue
2. 切入真根“/”
3. 使用 grub-install + 启动设备名
4.vim /boot/grub/grub.conf
5.exit;reboot
3.启动时菜单选项的配置文件 /boot/grub/grub.conf,格式如下:
default=0 默认启动第几个title对应的内核,0表示第一个,1表示第二个……
timeout=5 进入默认启动的内核的等待时间
splashimage=(hd0,0)/grub/mage.xpm.gz 菜单的背景图片
可自制背影图片,步骤如下:
1.convert -resize640X480 -colors 14 mage.jpg mage.xpm
2.gzip mage.xpm
hiddenmenu 菜单不会默认显示,而是隐藏,可以使用上下箭头打断倒计时并显示菜单
title Red HatEnterprise Linux Server (2.6.18-164.el5)
root (hd0,0)
kernel/vmlinuz-2.6.18-164.el5 ro root=LABEL=/ rhgb quiet selinux=0 (或者使用root=UUID=****)
initrd/initrd-2.6.18-164.el5.img
三、 内核管理
1. /proc 目录下以文件显示的是内核内部状态信息以及统计信息,即可配置参数
Sysctl 命令
sysctl -a 列出所有的配置
/etc/sysctl.conf 是自定义设置
sysctl -p 重读/etc/sysctl.conf使之生效
其中常用的几个参数:
net.ipv4.ip_forward ip转发
net.ipv4.icmp_echo_ignore_all ping网络
vm.drop_caches 缓存
设定参数的值,可通过如下命令:
sysyctl –w 参数=设定值
echo “设定值”> 参数的配置文件
2. 内核的编译
第一步:下载以及解压源码文件
tar xvf linux-4.17.3.tar.xz
第二步:安装需要的开发包组
yum -y groupinstall "Development Tools
yum -y installncurses-devel elfutils-libelf-devel openssl-devel
第三步:准备.config配置文件,可进行拷贝或者自行编写
cp/boot/config-2.6.32-696.el6.x86_64 到解压的源码文件目录下
第四步:make menuconfig 配置内核选项
第五步:make -j 8 开始编译(-j + 数字 表示以多CPU同时进行)
第六步:make modules_install 安装模块
第七步:make install 安装内核相关文件
第八步:reboot 重启即完成编译
Centos7 的系统启动和内核管理
systemd : 作为第一个系统进程,对后续进程及服务进行管理
系统引导式可以实现服务并行启动
自动化管理服务依赖启动关系
unit: 表示不同类型的systemd 对象,可通过配置文件标识与配置
systemctl–t help 可查看所有unit类型
服务脚本的管理:
systemctl “options” name.service
start|stop|status|restart启动|停止|状态|重启
mask禁止手动和自动启动服务(unmask 取消)
enable开机启动(disabled开机不启动)
修改/usr/lib/systemd/system/中的配置文件后,需要执行如下命令才会生效:
systemctldaemon-reload
默认运行级别的获取和修改
systemctlget-default
systemctlset-default name.target
配置文件的修复:
(与CentOS 6 修复一样),除/boot/grub2/grub.cfg配置文件外:
可用命令grub2-mkconfig > ( 或-o)/boot/grub2/grub.cfg直接生成