systemd 与 sysVinit 彩版对照表

systemd 与 sysVinit 彩版对照表

systemd 是一种新型init系统「译者注:每个操作系统都有一个启动程序,而Linux init是Linux系统操作中不可缺少的程序之一。所谓的init进程,它是一个由内核启动的用户级进程。内核自行启动(已经被载入内存,开始运行,并已初始化所有的设备驱动程序和数据结构等)之后,就通过启动一个用户级程序init的方式,完成引导进程。所以init始终是第一个进程(其进程编号始终为1)」,最早在Fedora中使用「译者注:据维基百科资料:http://en.wikipedia.org/wiki/Systemd#Adoption,最早使用 systemd 的是gentoo,最早使用并成为默认 init system 的是openSUSE。」,经过调整适应了其它许多发行版,例如RedHat、Suse和CentOS。

历史上,我们大部分人用过传统的SysV init 初始化脚本,它通常情况下在/etc/rc.d/init.d/文件夹下。这些脚本调用守护进程二进制代码,在后台fork一个进程。

尽管shell脚本非常的灵活,但是很难实现像superviseing(监管)进程和并行执行命令这样的任务。

通过对systemd的新式守护进程的介绍,我们发现systemd可以在runtime(运行时)更加简单的监管和控制守护进程,并且简化了监控的实现方式(implementation)。

systemctl命令是systemd团队一个非常好的首创。

这个命令能够显示更多的详细错误信息和包括启动错误在内的服务运行时错误。systemd引入了一个新术语:cgroups(控制组),它基本上是可被分层次安排的进程任务组。「译者注:这里简单介绍一下cgroup(control group)称为Containers,Containers着眼于资源的分配,利用configfs作配置。它有两个重要概念:第一是subsystem,内核可以给进程提供的服务/资源;第二是container,一个进程组,成员共享同样的一个或多个子系统分配限制。Containers是分层次的,一个container可以hold多个container。它的可取之处是创建了一个资源分配的框架,其它开发者可以利用这个框架去开发自己的资源分配patch,比如磁盘设备。」

如果仅仅通过原来的初始化系统,决定哪个进程是做什么的、属于哪个用户的变得越来越困难。

但是通过systemd,当一个进程派生其它进程时,这些子进程会被自动变成父进程控制组的成员,这样一来就可以避免继承的混乱。

有许多新的运行在 rhel / centos 7.0 上的 systemd 命令可以替代 sysvinit 的对应命令。你也可以下载 本文的 PDF 版本

原文发布时间:2014-09-11

本文来自云栖合作伙伴“linux中国”

时间: 2024-07-31 13:07:23

systemd 与 sysVinit 彩版对照表的相关文章

如何将Weblogic从虚拟机迁移到容器

本文讲的是如何将Weblogic从虚拟机迁移到容器[编者的话]本文描述了传统Web服务器WebLogic从VM迁移至Docker原因,以及运行在Docker上的优点,并给出了迁移部署的思路. 随着PaaS和DevOps解决方案需求的增涨,我们可以看到那些运行在虚拟机上或直接运行在裸机上的遗留应用程序,在实践时会遇到一系列的障碍.分解和迁移的过程复杂度非常高.通常,为了获得PaaS或CaaS模式的好处,应用程序所有者必须去重新设计他们的应用架构. 在这个文章里,我们将分析把运行在虚拟机上的Java

容器化操作系统概览

本文讲的是容器化操作系统概览,[编者的话]随着容器技术,特别是Docker的兴起,许多新的专门运行容器的Linux发行版本也出现了.和传统的操作系统对比,使用这样的系统有一些优势所在,这篇文章我们来对比下主流的5款容器操作系统发行版本. 随着容器技术,特别是Docker的兴起,许多新的专门运行容器的Linux发行版本也出现了.和传统的操作系统对比,使用这样的系统有一些优势所在,这篇文章我们来对比下主流的5款容器操作系统发行版本. 概览 使用专门为容器设计的Linux发行版有如下优势: 体积很小,

Puppet发布Blueshift项目中专门针对Docker的特性

于Ubuntu Xenial Puppet代理程序包,另一个基于简化版的Alpine. Blueshift演示了异构软件管理问题的解决方案,使用Puppet作为新软件栈的统一管理方式.Blueshift包含Puppet社区中关于如何集成Consul.CoreOS和Mesos等技术的信息.Blueshift还包含Puppet的内部工程. Puppet还提供了如何在Docker中使用Puppet的例子.目前,这些例子展示了如何在VMware Photon OS.Red Hat CentOS Atom

LFCS 系列第七讲:通过 SysVinit、Systemd 和 Upstart 管理系统自启动进程和服务

LFCS 系列第七讲:通过 SysVinit.Systemd 和 Upstart 管理系统自启动进程和服务 几个月前, Linux 基金会宣布 LFCS (Linux 基金会认证系统管理员) 认证诞生了,这个令人兴奋的新计划定位于让来自全球各地的初级到中级的 Linux 系统管理员得到认证.这其中包括维护已经在运行的系统和服务的能力.第一手的问题查找和分析能力.以及决定何时向开发团队提交问题的能力. 第七讲: Linux 基金会认证系统管理员 下面的视频简要介绍了 Linux 基金会认证计划.

【转】Linux 初始化 init 系统 [sysvinit systemd upstart]

http://www.ibm.com/developerworks/cn/views/linux/libraryview.jsp?sort_by=&show_abstract=true&show_all=&search_flag=&contentarea_by=Linux&search_by=浅析+Linux+初始化+init+系统&topic_by=-1&type_by=所有类别&ibm-search=搜索 浅析 Linux 初始化 ini

init系统:Systemd的简介和特点

本文简要介绍了这三种 init 系统的使用和原理,每个 Linux 系统管理员和系统软件开发者都应该了解它们,以便更好地管理系统和开发应用.本文是系列的第 3 部分,主要讲述 systemd 的特点和使用.Systemd 是 Linux 系统中最新的初始化系统(init),它主要的设计目标是克服 sysvinit 固有的缺点,提高系统的启动速度.systemd 和 ubuntu 的 upstart 是竞争对手,预计会取代 UpStart,实际上在作者写作本文时,已经有消息称 Ubuntu 也将采

浅析 Linux 初始化 init 系统: Systemd

浅析 Linux 初始化 init 系统: Systemd Systemd 的简介和特点 Systemd 是 Linux 系统中最新的初始化系统(init),它主要的设计目标是克服 sysvinit 固有的缺点,提高系统的启动速度.systemd 和 ubuntu 的 upstart 是竞争对手,预计会取代 UpStart,实际上在作者写作本文时,已经有消息称 Ubuntu 也将采用 systemd 作为其标准的系统初始化系统. Systemd 的很多概念来源于苹果 Mac OS 操作系统上的

centos7当中的systemd及systemctl(节选)

全面进入centos7时代,这个东东是需要系统了解的. http://blog.jobbole.com/85070/?utm_source=blog.jobbole.com&utm_medium=relatedPosts ========================   系统管理员 systemd 的主要命令行工具是 systemctl. 多数管理员应该都已经非常熟悉系统服务和 init 系统的管理,比如 service.chkconfig 以及 telinit 命令的使用.systemd

Linux系统中的进程管理工具SystemD介绍

  SystemD是Linux下的一种init软件,由Lennart Poettering带头开发,并在LGPL 2.1及其后续版本许可证下开源发布.Lennart是redhat员工,但SystemD不是redhat项目.其开发目标是提供更优秀的框架以表示系统服务间的依赖关系,并依此实现系统初始化时服务的并行启动,同时达到降低Shell的系统开销的效果,最终代替现在常用的System V与BSD风格init程序. SystemD这一名字源于Unix中的一个惯例:在Unix中常以"d"作