引导和服务

一、引导过程

 1.1 开机启动的完整过程

  1.bios加电自检

    bios:检测硬件是否正常,然后根据bios中的启动项设置找内核文件

    boot开机启动顺序(你可以把内核文件放在何处)

      1.硬盘

      2.移动设备,U盘,移动硬盘,光驱

      3.网络启动

  2.mbr

    mbr(二进制):应grub太大第一个扇区存不下,所有的grub程序分为2部分,指引硬件找到内核文件。

  3.grub

    grub(高级语言):根据grub配置文件(grub.cfg)中的记录位置去找到内核文件

  4.加载内核文件

    加载内核:把内核运行在内存中

  5.启动第一个进程

    启动进程:启动第一个祖宗进程

   区别:

版本接口特点功能
centos6串口速度较慢,效率低下按顺序启动
centos7并口少进程,高效率全部一起启动

  

 

 

二、服务

  2.1 systemd服务

    与5比较,6可以解决依赖关系

    按需启动

   System新特性

    yum以及rpm安装的软件可以直接使用systemctl去启动、关机、重启、开机自启

    编译安装不可以使用systemctl命令去管理程序,需要手写一个配置文件

    systemd unit(单元)Lsystemd方便管理程序,将程序按照特定的功能分成了很多单元

    服务单元 写配置文件

    文件路径

    挂载

    socket与服务程序分离

在systemd中不同类型的systemd对象被统一称为单元,是让系统知道该如何进行操作和管理资源的主要对象,所以systemd有许多单元类型。
systemd单元文件最初默认存放在/lib/systemd/system目录中,每当安装新的软件都会自动在这个目录中添加一个配置文件。
systemctl 命令用于管理各种类型的systemd单元,可以使用“systemctl -t help”命令来查询systemd支持的单元类型。

单元类型扩展名说明
Service.service 扩展名
Socket.socket描述一个进程间通信的套接字
Device.device描述一个内核识别的设备文件
Mount.mount描述一个文件系统的挂载点
Automount.automount描述一个文件系统的自动挂载点
Swap.swap描述一个内存交换设备或目录
Timer.timer描述一个定时器(类似于cron的调度任务)
Path.path描述一个文件系统中文件或目录(path路径)
Snapshot.snapshot用于保存一个systemd的状态(snapshot快照)
Scope.scope使用systemd的总线接口以编程的方式创建外部进程
Slice.slice描述Cgroup的一组通过层次组织的管理系统进程
Target.target描述一组systemd的单元(target目标)

  2.2 service unit文件格式

    service unit file文件通常由三部分组成:

      [Unit]:用于提供unit的描述信息、unit行为及依赖关系

      [Service]:与特定类型相关的专用选项

      [Install]:由“systemctl enable”以及"systemctl disable“命令在实现服务启用或禁用时用到的一些选项

    Unit格式说明:

      以“#” 开头行后面的内容会被认为是注释

      时间默认是

    Unit常用的选项:

      Description:描述信息

      After:表示当前unit应该晚于哪些unit启动

      Before:表示当前unit应该早于哪些unit启动

      Requires:强依赖

      Wants:弱依赖

      Conficts:定义域units间的冲突

    Service常用的选项:

      EnvironmentFile:环境配置文件

      ExecStart:指明启动unit要运行命令或脚本的绝对路径

      ExecStartPre: ExecStart前运行

      ExecStartPost: ExecStart后运行

      ExecStop:指明停止unit要运行的命令或脚本

      Restart:当设定Restart=1 时,则当次daemon服务意外终止后,会再次自动启动此服务

      RestartSec: 设置在重启服务( Restart= )前暂停多长时间。 默认值是100毫秒(100ms)。 如果未指定时间单位,那么将视为以秒为单位。 例如设为"20"等价于设为"20s"。

      PrivateTmp:设定为yes时,会在生成/tmp/systemd-private-UUID-NAME.service-XXXXX/tmp/目录

    Install常用的选项:

     Alias:别名,可使用systemctl command Alias.service

    RequiredBy:被哪些units所依赖,强依赖

    WantedBy:被哪些units所依赖,弱依赖

    Also:安装本服务的时候还要安装别的相关服务

  2.3 设置运行级别

    格式:systemctl [command] [unit.target]

    command参数:

      systemctl get-default 查看默认的运行级别

      systemctl set-default 设置默认的级别

  2.4 服务管理

    1.chkconfig centos6

       service 服务程序 start

       service 服务程序 stop

       service 服务程序 restart

       service 服务程序 reload

       service 服务程序 status

     再/etc/init.d/写一个同名文件的脚本(必须要有执行权限)

       chkconfig --add 35 服务名称

       chkconfig --level 35 服务程序 on 开机自启

       chkconfig --level 35 服务程序 off 关闭开机自启

    2.systemd centos7

      systemctl start 服务名

      systemctl stop 服务名

      systemctl status 服务名

      systemctl reload 服务名

      systemctl restart 服务名

    开机自启

      systemctl enable 服务名

    开机自启,并立即启动

     systemctl enable --now 服务名

    开机不自启

      systemctl disable 服务名

    开机不自启,并立即关闭

      systemctl disable --now 服务名

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值