InitWare,一个可在 BSD 和 Linux 上运行的便携式 systemd 分支。
InitWare, a portable systemd fork running on BSDs and Linux

原始链接: https://github.com/InitWare/InitWare

InitWare是一个中间件套件,用于将服务和系统资源作为“单元”进行管理,并根据依赖关系自动调度。它既可以作为init系统,也可以作为辅助服务管理器,支持NetBSD、FreeBSD、GNU/Linux、macOS、DragonFly BSD和OpenBSD。 InitWare是systemd的一个分支,它优先考虑可移植性、模块化和明确定义的范围,去掉了被认为无益的组件。它保持了与systemd的广泛兼容性,支持单元文件、类似`svcctl`(对应`systemctl`)的命令行工具以及D-Bus/API接口。 目前InitWare处于alpha阶段,在NetBSD下用作辅助服务管理器被认为是安全的,但建议在稳定版本发布之前不要用于生产环境。开发仍在继续,路线图可在项目的Issues和Projects标签中找到。InitWare使用C工具链、CMake和其他依赖项构建,主要采用GNU LGPL v2.1许可证,部分组件采用宽松许可证。

Hacker News 用户正在讨论 InitWare,一个兼容 BSD 和 Linux 系统的便携式 systemd 分支。用户 travisgriggs 发现它很有吸引力,因为它可能成为完全采用 systemd 和完全避免 systemd 之间的折中方案,尤其对于 Debian 等系统而言。他欣赏其专注于 systemd 更理想方面的做法。 然而,oguz-ismail 对 BSD 系统上是否需要类似 systemd 的功能提出了质疑,并使用了强烈的措辞(“systemd 癌”)。Rurban 为 systemd 辩护,认为它优于传统的 init.d 脚本、Windows 系统和 macOS 的 launchctl。Blankx32 也表达了与 oguz-ismail 类似的质疑观点。
相关文章

原文

InitWare

Please note that InitWare is still alpha software. But all disclosed security concerns have now been addressed. Running InitWare as an auxiliary service manager under NetBSD can now, then, be regarded as safe; but beware relying on this in production until a first stable release is made.

The InitWare Suite of Middleware allows you to manage services and system resources as logical entities called units. It runs on NetBSD, GNU/Linux, and all the other modern BSD systems.

Units are automatically scheduled by a job scheduler according to their dependency specifications. A user session manager facilitates tracking of users' login sessions, with each user provided their own dedicated service manager. Finally the InitWare System Log provides a system-wide event log aggregating diverse log sources.

The Suite may run either as an init system or as an auxiliary service management system under another init system. InitWare originates as a fork of systemd and retains compatibility with many systemd interfaces, even on non-Linux platforms.

How does InitWare differ from systemd?

In three ways: InitWare is highly portable, it is more modular, and it is of a much more clearly-defined scope. See The InitWare philosophy.

Some components of systemd failing to provide compelling benefits are dropped; see Dropped components.

How compatible is InitWare with systemd?

Unit-files, the systemctl, loginctl, and journalctl commands (provided as svcctl, sessionctl, and syslogctl respectively), the systemd1 and Login1 D-Bus APIs, the sd_notify API, the journald stream and datagram socket protocols, and several other interfaces are largely supported on all ports. Some details differ by port. See Systemd compatibility.

On what platforms does InitWare run?

InitWare is native to NetBSD. It runs on NetBSD, FreeBSD, and GNU/Linux - its first-class targets - as an init system; on macOS, DragonFly BSD and OpenBSD, it runs as an auxiliary service manager. See Support matrix.

Under what licence is InitWare released?

Most code is under the GNU Library GPL v2.1, some of it is under liberal licences.

How does one build InitWare?

Install the dependencies first: these are a C toolchain, cmake, gperf, m4, awk, pkg-config or pkgconf, and on BSD platforms, libinotify. Then run:

git submodule update --init --recursive && cmake && make && make install

See Building for further details.

Where will InitWare go from here?

Check the Issues and Projects tabs, or the Roadmap.

See Contributing.

Where can I find out more?

Check the Wiki. The Myths and Truths page is a good place to start.

联系我们 contact @ memedata.com