设为首页 收藏本站
查看: 1137|回复: 0

[经验分享] Centos 系统引导与相关服务命令

[复制链接]

尚未签到

发表于 2018-4-20 06:33:49 | 显示全部楼层 |阅读模式
  内核组成部分:
  核心文件:/boot/vmlinuz-VERSION-release
  ramdisk:辅助的伪根系统
  CentOS 5: /boot/initrd-VERSION-release.img
  CentOS 6,7: /boot/initramfs-VERSION-release.img
  initramfs-2.6.32-696.el6.x86_64.img
  initramfs-3.10.0-693.el7.x86_64.img
  模块文件:/lib/modules/VERSION-release
  启动流程
DSC0000.jpg DSC0001.jpg

  1.加载BIOS的硬件信息,获取第一个启动设备
  2.读取第一个启动设备MBR的引导加载程序(grub)的启动信息
  3.加载核心操作系统的核心信息,核心开始解压缩,并尝试驱动所有的硬件设备
  4.核心执行init程序,并获取默认的运行信息
  5.init程序执行/etc/rc.d/rc.sysinit文件
  6.启动核心的外挂模块
  7.init执行运行的各个批处理文件(scripts)
  8.init执行/etc/rc.d/rc.local
  9.执行/bin/login程序,等待用户登录
  10.登录之后开始以Shell控制主机
  Grub
  grub的代码分三个阶段被加载.
  grub stage 1
  存在启动硬盘的0柱面,0磁道,第一个扇区中,即MBR中,MBR的前446个字节为以引导代码,
  也就是grub stage 1,所谓的stage1  ,作用只有一个,就是找到grubstage1.5,然后将其加载的
  到内存。
  grub stage 1.5
  它的作用就是用来识别常见的不同类型的文件系统,从而找到"/boot目录所在的分区"对应的文件
  系统的驱动,驱动多大、存在于哪些扇区中,这些都是在安装操作系统的时候根据用户的设置自
  动生成的,我们有了"/boot目录所在分区"的文件系统驱动,那么/boot/grub/stage2这样的比较
  大的文件可以直接操作了。
  grub stage 2
  grub真正的核心程序,能让用户以菜单方式将操作系统加载、新增参数、修改选项,这些全都是
  stage2的功用,  前面的grub stage 1和grub stage 1.5所做的事情就是为了运行grub stage 2
  然后由stage 2借助grub.conf再去引导系统启动。
  Grub.conf文件格式
DSC0002.jpg DSC0003.jpg

  default=0  
  timeout=1
  其中default=0表示有多个grub引导菜单时,选择哪一个作为默认启动引导菜单,
  也就是说,当有多个title时,默认选择哪个title中的配置作为默认引导配置,
  default=0表示默认使用第一个title菜单中的配置。
  其中timeout=1表示如果5秒以内,用户没有选择任何一个title,
  则使用default中指定的title菜单中
  的配置进行引导。
  root (hd0,0)
  root (hd0,0)表示kernel文件和initrd文件所在分区,而不是指"根分区"。
  一般指的是/boot
  (hd0,0)表示第一块硬盘的第一个分区,也就是我们正在使用的/dev/sda1
  splashimage=(hd0,0)/grub/splash.xpm.gz
  引导时的背景图片,此项不建议设置,
  因为如果此项配置的背景图片并不存在,
  那么在引导时会出现
  错误
  password
  启动菜单编辑认证
  hiddenmenu
  在系统启动时,隐藏所有title菜单,并不让用户直接看到启动菜单,如果用户不做任何干预,则默
  认启动default所指定的title
  title
  系统引导菜单显示的内容,
  可以理解为一个grub引导的配置列表,可以存在多个title,
  也就是说可以用不同的配置去引导系统,title下面配置项都属于当前title
  kernel
  /vmlinuz-2.6.32-696.el6.x86_64 ro root=UUID=建议写UUID
  告诉grub内核文件在哪,这里的root指的是真正的/分区
  这里可以接上启动时的内核参数
   initrd
  /initramfs-2.6.32-696.el6.x86_64.img
  告诉grub  initramfs文件在哪,这个文件里面是包含了1.5阶段内核所需要寻找的驱动
   kernel:
  自身初始化:
  探测可识别到的所有硬件设备
  加载硬件驱动程序(借助于ramdisk加载驱动)
  以只读方式挂载根文件系统
  运行用户空间的第一个应用程序:/sbin/init
  init程序的类型:
   SysV: init, CentOS 5之前
  配置文件:/etc/inittab
   Upstart: init,CentOS 6
  配置文件:/etc/inittab, /etc/init/*.conf
   Systemd:systemd, CentOS 7
  配置文件:/usr/lib/systemd/system
  /etc/systemd/system
   运行级别
  /sbin/init CentOS6之前
  行级别:为系统运行或维护等目的而设定;0-6:7个级别
  0:关机
  1:单用户模式(root自动登录), single, 维护模式
  2: 多用户模式,启动网络功能,但不会启动NFS;维护模式
  3:多用户模式,正常模式;文本界面
  4:预留级别;可同3级别
  5:多用户模式,正常模式;图形界面
  6:重启
  切换级别:init 数字
  查看级别:runlevel ; who -r
  修改运行级别:
  /etc/inittab的这一行,id:3:initdefault:
  centos 7 查看与设置运行级别
  # systemctl get-default
  systemctl set-default 这里写下面2条中的一条
  runlevel 3级别:multi-user.target
  runlevel 5级别:graphical.target
  

  

  在引导菜单中中切换运行模式
  开机按ESC键引导至此画面,按a

  修改为0-6之间的数字,回车即可。

  修改此文件中/etc/inittab的这一行才能保存下来
  id:3:initdefault:
  常用系统加载时的配置文件
  版本
  配置文件
  作用
  运行时间
  6
  /etc/rc.d/rc.sysinit
  设置主机名,挂栽卷,等操作
  启动时运行一次
  6
  /etc/inittab
  设置运行级别

  6
  /etc/init/control-alt-delete.conf
  设置是否按ctrl+alt+delete重启
  建议注释
  7
  /usr/lib/systemd/system/ctrl-alt-del.target
  设置是否按ctrl+alt+delete重启
  建议注释
  /etc/rc.d/rc.sysinit: 系统初始化脚本
  (1) 设置主机名
  (2) 设置欢迎信息
  (3) 激活udev和selinux
  (4) 挂载/etc/fstab文件中定义的文件系统
  (5) 检测根文件系统,并以读写方式重新挂载根文件系统
  (6) 设置系统时钟
  (7) 激活swap设备
  (8) 根据/etc/sysctl.conf文件设置内核参数
  (9) 激活lvm及software raid设备
  (10) 加载额外设备的驱动程序
  (11) 清理操作
  chkconfig命令
   查看服务在所有级别的启动或关闭设定情形:
  chkconfig [--list] [name]
  

   添加:
  SysV的服务脚本放置于/etc/rc.d/init.d (/etc/init.d)
  chkconfig --add name

  #!/bin/bash
  #LLLL 表示初始在哪个级别下启动,- 表示都不启动
  # chkconfig: LLLL nn mm
   删除:
  chkconfig --del name
   修改指定的链接类型
  chkconfig [--level levels] name <on|off|reset>
  --level LLLL: 指定要设置的级别;省略时表示2345
   ntsysv命令
  服务脚本中,以下这一行是必须的。
  # chkconfig: 2345 10 90
  2345 > 指定运行级别
  190> 指定关闭顺序
  rc N --> 意味着读取/etc/rc.d/rcN.d/
  K*: K##*:##运行次序;数字越小,越先运行;数字越小的服务,通常为依赖到别的服务
  S*: S##*:##运行次序;数字越小,越先运行;数字越小的服务,通常为被依赖到的服务
  xinetd管理的服务
  service 命令:手动管理服务
  service 服务 start|stop|restart
  service --status-all
   瞬态(Transient)服务被xinetd进程所管理进入的请求首先被xinetd代理
  配置文件:/etc/xinetd.conf、 /etc/xinetd.d/<service>
  service telnet
  {
  flags           = REUSE
  socket_type     = stream
  wait            = no
  user            = root
  server          = /usr/sbin/in.telnetd
  log_on_failure  += USERID
  disable         = yes
  }
  与libwrap.so文件链接
  用chkconfig控制的服务:
  # chkconfig tftp on
  注意:正常级别下,最后启动一个服务S99local没有链接至/etc/rc.d/init.d一个服务脚本,而是指向了
  /etc/rc.d/rc.local脚本
   不便或不需写为服务脚本放置于/etc/rc.d/init.d/目录,且又想开机时自动运行的命令,可直接放置于
  /etc/rc.d/rc.local文件中
  · /etc/rc.d/rc.local在指定运行级别脚本后运行
  · 可以根据情况,进行自定义修改

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-449304-1-1.html 上篇帖子: centos7 systemctl status servicename执行慢的问题 下篇帖子: Centos7中systemd的管理
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表