• systemd、upstart和system V 枯木


     systemd是Linux下的一种init软件,由Lennart Poettering(英语:Lennart Poettering)带头开发并在LGPL 2.1及后续版本许可证下开源发布。其开发目标是提供更优秀的框架以表示系统服务(英语:Service (systems architecture))间的依赖关系,并以此实现系统初始化时服务的并行启动,同时达到降低Shell的系统开销(英语:Computational overhead)的效果,最终代替现在常用的System V与BSD风格init程序。systemd 是 Linux 下一个与 SysV 和 LSB 初始化脚本兼容的系统和服务管理器。systemd 使用 socket 和 D-Bus 来开启服务,提供基于守护进程的按需启动策略,保留了 Linux cgroups 的进程追踪功能,支持快照和系统状态恢复,维护挂载和自挂载点,实现了各服务间基于从属关系的一个更为精细的逻辑控制,拥有前卫的并行性能。systemd 无需经过任何修改便可以替代 sysvinit 。systemd已纳入众多Linux发行版的软件源中,Fedora 15及后续版本都采用的systemd作为Linux下的默认init程序。(在 Fedora 14 的特性中,systemd 是作为一个技术预览。在 Fedora 15 中替代 Upstart 作为默认管理器,具体可参见fedora官方文档说明点击打开链接 )


    SysVinit守护进程(sysvinit软件包)是一个基于运行级别的系统,它使用运行级别(单用户、多用户以及其他更多级别)和链接(位于/etc /rc?.d目录中,分别链接到/etc/init.d中的init脚本)来启动和关闭系统服务。Upstart init守护进程(upstart软件包)则是基于事件的系统,它使用事件来启动和关闭系统服务。


    以下是两种服务管理的却别和对应的命令.

    任务 指令 新指令
    使某服务自动启动 chkconfig –level 3 sshd on systemctl enable sshd.service
    使某服务不自动启动 chkconfig –level 3 sshd off systemctl disable sshd.service
    检查服务状态 service sshd status systemctl status sshd.service (服务详细信息) systemctl is-active sshd.service (仅显示是否 Active)
    显示所有已启动的服务 chkconfig –list systemctl list-units –type=service
    启动某服务 service sshd start systemctl start sshd.service
    停止某服务 service sshd stop systemctl stop sshd.service
    重启某服务 service sshd restart systemctl restart sshd.service

    <表参考自http://www.talaland.com/systemd-service-configuration/>


    RHEL6 使用新的Upstart启动服务替换先前的System V init,Upstart是事件驱动型的,因此,它只包含按需启动的脚本,这将使启动过程变得更加迅速。经过良好调优并使用Upstart启动方式的Linux服务器的启动速度要明显快于原有的使用System V init的系统。 RHEL 6对启动过程的改变相对较少,兼容SysV,所以依然可以处理那些在目录/etc/init.d中包含服务脚本的服务,runlevel的概念也是存在于RHEL6中的<fedora因为使用的是systemd,所以基本上runlevel的概念也就不存在了>。


    RHEL6下的相关改变:

    /etc/inittab 只用来配置系统默认运行级别,所有先前由/etc/inittab来设定的条目,现在都在/etc/init/目录中以单个文件的形式存在。
    /etc/init/rcS.conf 通过启动大部分的基本服务来对系统进行初始化的设定
    /etc/init/rc.conf 对启动各自的运行级别(runlevel)的设定
    /etc/init/control-alt-delete.conf 定义当用户按“control-alt-delete”三个键时的系统行为
    /etc/init/tty.conf、/etc/init/serial.conf 定义系统处理终端登录
    /etc/sysconfig/init 中ACTIVE_CONSOLES决定了虚拟控制台的创建,AUTOSWAP是否自动检测交换分区,单用户模式下的root使用的SHELL,默认为/sbin/sushell,另外/sbin/sulogin会在单用户模式启动之前弹出登录提示。




  • 相关阅读:
    垃圾回收的整个过程
    实验:老年代空闲空间放不下minorgc晋升的对象发生fullgc
    实验: survivor放不下的对象进入老年代
    实验: 动态对象年龄判定
    永久代、栈内存大小怎么设置
    如何设置高并发系统的jvm堆内存大小
    Bin、App_Data等文件夹详述(转自http://blog.csdn.net/zzjiadw/article/details/6801506)
    谈谈并行、并发或多线程
    SQL---存储过程---存储过程编写案例
    SQL---存储过程---sp_addextendedproperty表字段加描述
  • 原文地址:https://www.cnblogs.com/kumulinux/p/2808753.html
Copyright © 2020-2023  润新知