systemd的作用
早上群上讨论了一下systemd的作用,还导致了一个人的直接退群,出于求知心理,搜索了一些systemd,对此也作出了一些相应的整理; 一、systemd的诞生:学习嵌入式bootloader与kernel衔接的时候,就入门了init进程;init进程也就是系统的第一个进程,PID号为1; init进程总所周知的问题是从它开始启动,并从下一个程序开始,都是以一个进程启动另一个进程的方式来进行;这样做的显而易见的缺点就是执行速度慢,没有一整套的系统来管理,并且/ect/目录下的随便一个脚本简直长的发指;关机过程差不多是相反的过程,首先init停止所有服务,最后阶段会卸载文件系统。 所以伟大的程序员开始了自己的创作,systemd也就诞生啦。systemd 几乎完全兼容传统的 SysV init 系统: SysV init 脚本可以作为另一种配置文件格式被识别; 提供与 SysV 兼容的? systemd现在广泛用于Fedora 21、Ubuntu(Ubuntu 15.04以上)、Centos等linux操作系统上; 二、systemd是什么?开发Systemd的主要目的就是减少系统引导时间和计算开销。 Systemd(系统管理守护进程),最开始以GNU GPL协议授权开发,现在已转为使用协议,它是如今讨论最热烈的引导和服务管理程序。如果你的Linux系统配置为使用Systemd引导程序,它取替传统的init进程,启动过程将交给systemd处理。Systemd的一个核心功能是它同时支持init进程的后开机启动脚本。 ?Systemd引入了并行启动的概念,它会为每个需要启动的守护进程建立一个套接字,这些套接字对于使用它们的进程来说是抽象的,这样它们可以允许不同守护进程之间进行交互。Systemd会创建新进程并为每个进程分配一个控制组()。处于不同控制组的进程之间可以通过内核来互相通信。?cgroups 信息由内核负责维护, 并且可以通过? 当作为系统实例运行时, systemd 将会按照? 2.1 单位:systemd 将各种系统启动和运行相关的对象, 表示为各种不同类型的单元(unit), 并提供了处理不同单元之间依赖关系的能力。? Systemd 的其中一个目标就是简化这些事物之间的相互作用,因此如果你有程序需要在某个挂载点被创建或某个设备被接入后开始运行,Systemd 可以让这一切正常运作起来变得相当容易。 各种不同的单元类型如下:
systemd 能够处理各种类型的依赖关系, 包括依赖与冲突(也就是? 2.2?systemctl:systemctrl是systemd的系统管理的指令,相应指令如下: $
$
$
$
$
$ systemctl hybrid-
$ systemctl rescue
2.3 target文件:
简单说,Target 就是一个 Unit 组,包含许多相关的 Unit 。启动某个 Target 的时候,Systemd 就会启动里面所有的 Unit。从这个意义上说,Target 这个概念类似于"状态点",启动某个 Target 就好比启动到某种状态。 传统的 它与 (1)默认的 RunLevel(在 (2)启动脚本的位置,以前是 (3)配置文件的位置,以前 2.4 日志文件:systemd使用journalctl来管理相应的日志文件; $
$ journalctl -
$ journalctl - $ journalctl -b -
$ journalctl -b -
$ journalctl --since=
$ journalctl --since
$ journalctl -- $ journalctl --since --
$ journalctl --since : --
$ journalctl -
$ journalctl -n
$ journalctl -
$ journalctl /usr/lib/systemd/
$ journalctl _PID=
$ journalctl /usr/bin/
$ journalctl _UID= --
$ journalctl - $ journalctl -u nginx.service --
$ journalctl -u nginx.service -
$ journalctl -u nginx.service -u php-fpm.service --
# # # # # # # :
# $ journalctl -p err -
# 日志默认分页输出,--no- $ journalctl --no-
$ journalctl -b -u nginx.service -
$ journalctl -b - -o json-
$ journalctl --disk-
$ journalctl --vacuum-size=
$ journalctl --vacuum-=1years
三、systemd的争议:直接看知乎问题吧:;
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |