如何将 Systemd 服务转换为 OpenRC?

如何将 Systemd 服务转换为 OpenRC?

我想向我的 Artix Linux 系统添加一项服务,它是一个以 OpenRC 作为初始化系统的 Arch Linux 驱动器。

考虑 systemd 服务

[Unit]
Description=sets battery thresholds

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/bin/tpacpi-bat -s ST 0 40
ExecStart=/usr/bin/tpacpi-bat -s SP 0 80
ExecStop=/usr/bin/tpacpi-bat -s ST 0 0
ExecStop=/usr/bin/tpacpi-bat -s SP 0 0

[Install]
WantedBy=multi-user.target

我如何将其转换为 openrc 并将其放置以便可以通过以下方式添加它rc-service {service-name} start

答案1

% cat systemd.service
[Unit]
Description=sets battery thresholds
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/bin/tpacpi-bat -s ST 0 40
ExecStart=/usr/bin/tpacpi-bat -s SP 0 80
ExecStop=/usr/bin/tpacpi-bat -s ST 0 0
ExecStop=/usr/bin/tpacpi-bat -s SP 0 0    
[Install]
WantedBy=multi-user.target

% initify.pl systemd.service

% cat systemd
#!/sbin/openrc-run
command=/usr/bin/tpacpi-bat
command_args="-s ST 0 40"
pidfile=
name="systemd"
description="sets battery thresholds"

shebang 适用于 Gentoo;在 Artix 中它需要#!/usr/bin/openrc-run

答案2

最近,已经建立了一个专门的在线服务,用于将 systemd 服务文件转换为 OpenRC init 脚本:http://openrc.run/

答案3

有一个用户贡献的脚本,可以执行基本的 systemd.service 到 openrc initscript 的转换:https://forum.artixlinux.org/index.php/topic,276.0.html

相关内容