博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2019/02/19 启动流程02
阅读量:3922 次
发布时间:2019-05-23

本文共 2598 字,大约阅读时间需要 8 分钟。

控制服务在上面模式下启动不启动就是看软连接的名字决定的,,服务起来要想控制,也可以通过服务脚本来控制开关

(/etc/init.d/xxxx服务脚本)
在这里插入图片描述
在这里插入图片描述软链接的rc3.d都是指向/etc/initt.d里面的
在这里插入图片描述
在这里插入图片描述
早期工程师喜欢用/etc/init.d,现在有service(可以临时的把服务启动或关闭),chkconfig --list atd(可以查看某个服务什么模式1-7种模式一目了然,默认给2345off(因为2345用的多

如何来创建自定义服务(/etc/init.d),针对你想启动的服务创建一个脚本,而这个脚本是有一定格式要求的

在这里插入图片描述
关键的一行
chkconfig: 345 (当把atd加入到服务以后,默认是345是运行状态,其他的都i是off状态),s开头有个数字(95)k开头有个数字就是5
decriptions 描述
在这里插入图片描述
测试的服务脚本
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
要变成服务必须加到init.d里
可以把5模式的进行更改
在这里插入图片描述
模拟一个问题,早成启动的问题
在这里插入图片描述
在这里插入图片描述
按ctrl+alt+delete重启,到1模式,修改,因为刚才定义的是2,3,4,5
在这里插入图片描述
改成off,重启,就可以进入系统,然后再去查看脚本是否有问题
在这里插入图片描述
删除testsrv服务(服务里删除,/etc/rc5.d,脚本在init.d里是没有删除的)
在这里插入图片描述
脚本在init.d里是没有删除的,但是下面的文件要自己手动删除
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
可以把httpd改成以服务方式启动
在这里插入图片描述
无论对哪个脚本,哪个服务来讲都有一个local
在这里插入图片描述
local99根本就不指向一般的服务脚本
在这里插入图片描述
专门兜底的脚本,如果不想制作服务脚本,也可以把想启动的服务放到这个文件里,就自动执行那个了
也是一种开机自动运行的方法

但是在7上不生效,是没有执行权限的,要想生效就加上执行权限,就是为了老用户喜欢用这个功能,所以7才加的,

这样的方法,让脚本实现了开机自动运行
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
service --status-all 显示所有服务当前状态
在这里插入图片描述
在这里插入图片描述
chkconfig是当前开机启动不启动,并不是当前状态
在这里插入图片描述
之前都是独立服务,
还有一种非独立服务,又叫瞬态服务
在这里插入图片描述
有些使用率不是很高的服务,设置启动比较消耗资源,但是设置成off手动启动,又担心用户访问不是固定时间的,再启动on有点来不及,就可以设置成非独立服务
在这里插入图片描述
设定一个值班服务(超级守护进程xinetd),如果又人远程访问了,就把服务唤醒,没有就不唤醒
在这里插入图片描述比较老的服务telnet,这种服务可以提供远程管理,但是现在用的很少了
在这里插入图片描述
按照的时候又依赖性,把xinetd超级守护安装了,因为telnet是个非独立服务
在这里插入图片描述
安装好了,查看服务,要想受到xinetd监听就需要on打开,off就是不监听
在这里插入图片描述
xinetd本身是个独立服务,二且应该开机必须启动,监听于其他服务
在这里插入图片描述
究其根本还是改这个文件/etc/xinted.d/telnet
在这里插入图片描述
disable使不可用
改成no,就是on
在这里插入图片描述
改了配置文件,这个服务是不知道的,所以要重启服务,启动了就可以监听你想要监听的服务,代替他们去监听原本的服务,比如telnet原本监听telnet,现在就换成xinetd监听,telnet监听的是tcp的23端口
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
当有人访问就不是xinetd了
安装telnet客户端,telnet-server是服务器端
G 在这里插入图片描述
22服务是ssh服务
在这里插入图片描述
链接上 xinetd就换成telnet服务,断开链接,telnet就关闭,继续xinetd监听
在这里插入图片描述
在这里插入图片描述
centos7上没有这样的机制了,centos都是有systemd管理的,可以称为都是非独立服务
平时是systemd监听(需要用的服务,就唤醒,所以启动快),(代替了xinetd
以后可能是以后redhat说了算,systemd太强大
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
F
在这里插入图片描述
第一步先读取id:5:initdefault:,根据里面定义的模式来决定开机将来要执行哪个脚本,(rc5.d),在运行脚本之前先初始化脚本:/etc/rc.d/rc.sysinit(第一主机名,启动你的swap分区,逻辑卷,raid,fst文件的挂载,初始化脚本只运行一次),根据你选择的模式,来选择某一个rcN.d的脚本(是服务,启动不启动有定义),有一个兜底的rc.local,
这个脚本运行完后,接下来运行后续的一些东西,属于监控状态了
ca:ctrlatdel:/sbin.shutdown -tf3 -r now
(ctrl alt delete 按三个键)shutdown -tf3 -r now(关机重启的指令)
图像界面下按这三个键不会马上重启,在字符下面就马上重启,原因就是这一行导致的,建议屏蔽,避免误操作,centos5上市注释或者删除,centos6放到独立文件里了
在这里插入图片描述
在这里插入图片描述
注释掉就可以了
centos6和centos5配置文件不一样,是因为6的init进程是由upstart实现的,不是标准的init进程
在这里插入图片描述
ups的作用就是让你能够正常关机,避免突然关机载造成服务器故障,所以ups的作用就是当服务停电了,就给你发个小心说服务器停电了将在2分钟之后关闭系统,会发个小心,通知链接上面的用户
在这里插入图片描述
如果电力恢复了,还能取消关机
在这里插入图片描述
在这里插入图片描述
杀不死的小区,为什么会重新激活是因为再生功能(用户登录的界面)
2345模式下提供的
在这里插入图片描述
在这里插入图片描述
要想支持7就再下面加一行,默认1-6 对应就是(ctrl +alt+f{1…6})
在这里插入图片描述
图形界面的意思,这如果变成3,就说明3变成图像界面了
在这里插入图片描述
开机进入3模式,下图,重启
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在前面post加电自检,然后mbr,grub阶段,gru引导完,去运行内核,内核运行完后,通过grub配置文件读取内核加载的根分区,根分区找到后,就找到第一个进程(/sbin/init),第一个进程加载完后,就需要读/etc/initatab,根据这个文件来决定运行什么模式,运行模式定义后,运行初始化脚本/sysinit,初始化运行后,运行独立服务(/etc/rcN.d),分别运行完服务脚本后,就可以看到登录界面了
在这里插入图片描述
详细研究grub(bootloader)具体内容,1阶段,1.5阶段,2阶段
1阶段就是mbr446字节,如果破坏就启动不了
grub是由好几个程序组合在一起的
在这里插入图片描述
破坏grub第一阶段
在这里插入图片描述
清0
在这里插入图片描述
在这里插入图片描述
选择哪个引导,救援模式,还好没破坏分区表,还能找到根分区
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
sync同步写进硬盘,如果没有备份,可以用专门的grub命令修复
relabel 打标签
关闭selinux
在这里插入图片描述
在这里插入图片描述

转载地址:http://pwkgn.baihongyu.com/

你可能感兴趣的文章
杭电oj-2015 偶数求和 C++
查看>>
杭电oj-2016 数据的交换输出 C++
查看>>
杭电oj-2017 字符串统计 C++
查看>>
杭电oj-2018 母牛的故事 C++
查看>>
Educational Codeforces Round 87 (Rated for Div. 2)----题目+题解(A、B)
查看>>
Codeforces Round #647 (Div. 2) - Thanks, Algo Muse!B. Johnny and His Hobbies(异或)---题解
查看>>
使用WinINet获取网页源代码
查看>>
Ansi、Unicode、UTF-8字符串之间的转换和写入文本文件
查看>>
error C1189:#error:This file requires _WIN32_WINNT to be #defined at least to 0x0403
查看>>
CentOS yum 源的配置与使用
查看>>
error while loading shared libraries: libevent-2.0.so.5 安装好mamcache,启动服务时
查看>>
c++ web编程:写出你的CGI程序
查看>>
Linux RPM 命令参数使用详解 查看 rpm包依赖性
查看>>
xz压缩命令
查看>>
Mysql各种存储引擎对比总结(常用几种)
查看>>
java为我们已经提供了各种锁,为什么还需要分布式锁?
查看>>
一文带你理解mysql中的分区表和合并表(一个常见知识点)
查看>>
Redis5.0数据淘汰策略详解(最新版本,面试常问)
查看>>
为什么 MongoDB 索引选择B-树,而 Mysql 选择B+树(精干总结)
查看>>
面试官:说说 Springboot 中的 javaConfig(基于Spring5.2)
查看>>