我订阅了与各种Linux分发和应用程序相关的几个邮件列表,只是为了保持自己的更新与发生在哪里。 什么是新的bug? 发布的补丁是什么? 下一版本中预期有什么? 和一大堆其他的东西。 这些日子,邮件列表中大量填充“在Linux分区选择你的方面”,主要是在Debian邮件列表以及其他一些。
systemd替换init
什么“选择你的方面在Linux Divide”是关于?
在init守护进程将与守护systemd一些Linux发行版的更换,而他们中的很多已经付诸实施。 这将/将在传统的Unix / Linux Guard和新的Linux Guard - 程序员和系统管理员之间造成巨大的差距。
在本文中,我们将逐一讨论和解决所有查询。
- 什么是初始化?
- 什么是systemd?
- 为什么需要替换init?
- systemd将拥有什么功能。
什么是init?
在Linux中,init将是一个初始化的缩写。 在init是一个守护进程,尽快启动,在计算机启动并继续运行,直到,它也将关闭。 在初始化的事实是,当计算机启动,使其成为所有正在运行的进程的父进程直接或间接,因此通常它被赋予“PID = 1”开头的第一个过程。
如果莫名其妙的init守护程序无法启动,没有任何进程将启动,系统将达到一个名为“ 内核恐慌 ”阶段。 init的最通常被称为System V启动 。 系统V是第一个商业UNIX操作系统设计和大多数今天的Linux发行INIT的用法与System V OS一样使用BSD风格,并使用自定义的Gentoo初始化像Slackware的几个例外。
从更长的时间内感觉到需要用更完美的东西来替换init,并且从时间到时间开发了几种替代方案,其中一些替代方案成为分布的本地初始替换,其中一些是:
- Upstart -在Ubuntu GNU / Linux的实现和设计,以异步启动过程的初始化更换守护进程。
- 时代 -一个替代的init守护身边的简单性和服务管理建设,旨在为启动过程单线程的。
- Mudar -用Python写的一个替代的init守护进程,金钱豹上的GNU / Linux的实现和设计,以异步启动过程。
- systemd -一个替代的init守护设计开始并行处理,在一些标准的分布来实现-的Fedora,OpenSuSE的,拱门,RHEL,CentOS的,等等。
什么是systemd?
一个systemd是UNIX约定命名系统管理守护进程在后台进程的末尾添加'D'。 所以,他们可以很容易地认出。 最初它是在GNU通用公共许可证下发布的,但现在的版本是在GNU Lesser通用公共许可证下发布的。 类似的init,systemd是所有其他进程的父直接或间接的,并且是在开始启动的第一道工序,因此通常被分配一个“PID = 1”。
一个systemd,可以指所有的软件包,实用程序和库周围守护进程。 它的目的是克服init的缺点。 它本身是一个后台进程,它被设计为并行启动进程,从而减少启动时间和计算开销。 与init相比,它有很多其他功能。
为什么需要替换init?
init进程连续启动,即,一个任务只有在最后一个任务启动成功后才启动,并且它被加载到内存中。 这通常导致延迟和长的启动时间。 然而,systemd不是为速度而设计的,而是为了使事情完美地完成,这反过来避免了所有的联合国必要的延迟。
systemd的特性
- 清洁,状态和高效的设计。
- 更简单的引导过程。
- 启动时并发和并行处理。
- 更好的API。
- 简单单位语法。
- 能够删除可选组件。
- 低内存占用。
- 改进的表示依赖关系的技术。
- 初始化指令写在配置文件中而不是在shell脚本中。
- 利用Unix Domain Socket。
- 使用systemd日程表的作业计划。
- 使用journald事件日志记录。
- 选择日志记录使用systemd和syslog的系统事件。
- 日志存储在二进制文件中。
- systemd状态可以保留以后在以后调用。
- 跟踪进程使用内核的cgroup而不是PID。
- 由systemd-logind管理的用户登录。
- 更好地与Gnome集成以实现互操作性。
瓶颈系统
- 一切都在一个地方。
- 不是POSIX标准。
系统和Distro集成
Linux发行版 | 积分 |
Fedora | 是的,第一个发行版采用systemd |
拱 | 是 |
红帽 | 是 |
CentOS | 是 |
Debian | 是的,Debian 8 codename Jessie默认会有systemd |
Gentoo | 是的,但需要下载,安装和配置端与自定义init |
OpenSUSE | 是 |
松弛 | 没有(虽然到目前为止还没有采用slackware,Patric Volkerding没有显示是否采用) |
Ubuntu | 是,需要安装并配置Upstream。 |
争议
Linus Torvalds,Linux内核的首席架构师,感觉systemd的关键开发者的态度对用户和bug报告似乎不确定。 还有报道说,系统哲学是奇怪的,是控制系统过程的外国方式。 Patric Volkerding和其他着名的Linux用户和开发人员以及在线论坛,时间记录也是如此。
systemd和init
特征 | 在里面 | systemd |
DBus依赖性 - 必需 | 没有 | 是 |
基于设备的激活 | 没有 | 是 |
使用udev进行设备依赖性配置 | 没有 | 是 |
基于定时器的激活 | Cron / at | 所有权 |
配额管理 | 没有 | 是 |
自动服务依赖性处理 | 没有 | 是 |
杀死用户在注销时处理 | 没有 | 是 |
交换管理 | 没有 | 是 |
SELinux集成 | 没有 | 是 |
支持加密HDD | 没有 | 是 |
静态内核模块加载 | 没有 | 是 |
GUI | 没有 | 是 |
列出所有子进程 | 没有 | 是 |
Sysv兼容 | 是 | 是 |
交互式启动 | 没有 | 是 |
便携式到非x86 | 是 | 没有 |
通过了 | 几个Distro | 几个Distro |
并行服务启动 | 没有 | 是 |
每个服务的资源限制 | 没有 | 是 |
易扩展启动脚本 | 是 | 没有 |
单独的代码和配置文件 | 是 | 没有 |
自动依赖性计算 | 没有 | 是 |
详细调试 | 是 | 没有 |
版 | N / A | V44 + |
尺寸 | 560 KB | N / A |
文件数 | 75文件 | 900文件+ glib + DBus |
代码行 - LOC | 15000(约) | 224000(约)(inc代码,注释和空格)125000(约)(实际代码) |
结论
任何以pid = 1运行的东西都不能破坏,不能是混乱的,必须由用户有效和高效地控制。 许多用户认为,替代init的systemd只是重新发明轮每次作为Linux的副作用。 但这是Linux的多样性。 这是因为Linux是那么强大。 变化是好的,我们必须感谢它,如果它是一个好的理由。
目前为止就这样了。 我会在这里再次与另一个有趣的文章,你会爱上阅读。 直到然后,保持调整和连接到youcl。 不要忘记在下面的评论中向我们提供您宝贵的反馈。