系统启动与内核管理

一、启动流程

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 用户登录

扫描二维码关注公众号,回复: 2627344 查看本文章

二、   启动/修复相关命令文件

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直接生成
 

猜你喜欢

转载自blog.csdn.net/Ruixycowboy/article/details/80883106