标签: openrc

之后如何阅读关闭消息?

我正在使用 Lubuntu 11.10。每次关机我都能读到红色字体的FAIL,但是读不下去了。

那么,如何读取日志消息并尝试解决问题呢?

shutdown logs init openrc

18
推荐指数
2
解决办法
2万
查看次数

如何在 openrc 中查看守护进程标准输出?

如何在 openrc 中找到进程的标准输出?

这是我创建守护进程的方式。

/etc/init.d/mydaemon

#!/sbin/openrc-run

command="python3"
command_args="/srv/http/tornado.py"
command_background="yes"
pidfile="/tmp/tornado.pid"
Run Code Online (Sandbox Code Playgroud)

我在日志中得到的只是:

 * Starting tornado ... [ ok ]
Run Code Online (Sandbox Code Playgroud)

我有默认/etc/rc.conf设置rc_logger="YES"。我想得到的是类似于 systemd 允许查看守护进程的标准输出sudo journalctl -u mydaemon

stdout daemon openrc

9
推荐指数
1
解决办法
2386
查看次数

当 incrond 作为服务运行时,用户的 incrontab 不起作用(仅 root 的)

这是我的 incrontab (托尼的 incrontab):

/home/tony/Workspace/cocoonr/ui/static/ui/img/icons/vector IN_MODIFY,IN_CREATE,IN_MOVED_TO /bin/sh /home/tony/Workspace/cocoonr/boilerplate/svg2djangohtml $@/$# /home/tony/Workspace/cocoonr/ui/templates/inc/icons/
Run Code Online (Sandbox Code Playgroud)

我多次测试了它,改变了一些东西,当 incrond 作为服务运行时(使用 openrc),无法使其工作。

如果我在前台运行 incrond ( incrond -n),那么 Tony 的 incrontab 就可以工作

如果我将 root 的 incrontab 设置为上面给出的值,即使作为服务运行它也可以工作。

我的托尼在/etc/incron.allow

root
tony
Run Code Online (Sandbox Code Playgroud)

并且没有/etc/incron.deny

我什至尝试使用更简单的 incrontab:

/tmp/foo IN_ATTRIB touch /tmp/bar
Run Code Online (Sandbox Code Playgroud)

结果是一样的。

如何让用户的incrontab工作?

openrc incron

6
推荐指数
1
解决办法
1万
查看次数

systemd:环境变量的默认值

我想将一些 OpenRC init 脚本迁移到 systemd,但我认为这是 systemd 中环境变量处理的一般问题。

原始 OpenRC 文件

有一个文件,例如/etc/conf.d/fooservice内容

# FOO 变量的值
# 你可以通过取消注释这一行来覆盖默认值
# FOO=值1

# BAR 变量的值
酒吧=值2

在原始启动脚本中/etc/init.d/fooservice,有

FOO=${FOO:-default_foo_value}
BAR=${BAR:-default_bar_value}

所以,结果是$FOO==default_foo_value$BAR==value2

迁移的 systemd 文件

现在我有 systemd 服务文件/usr/lib/systemd/system/fooservice.service,其中包含

[服务]
EnvironmentFile=/etc/conf.d/fooservice
ExecStart=/usr/bin/fooservice $FOO $BAR

但是有一个问题$FOO是没有初始化为default_foo_value

如果环境文件中没有值,有没有办法告诉 systemd 使用默认值?有没有办法使用具有默认值的中间环境文件或多个链接的环境文件?

解决方案:

这不是好办法。/etc/conf.d/fooservice文件可能不兼容,因为它是“shell 脚本”,而 systemd 需要“环境文件”。在基本赋值中,看似相似,实则不是一回事。

Gentoo对此的首选解决方案是将所有内容放入服务文件和服务配置文件中,而不是使用其他conf.d文件。

工作但不是首选的解决方案:

仅使用此方法来像 systemd 一样快速运行 OpenRC 服务。

/usr/lib/systemd/system/fooservice.service 现在包含

[服务]
环境=“FOO=default_foo_value”
环境=“BAR=default_bar_value”
EnvironmentFile=/etc/conf.d/fooservice
ExecStart=/usr/bin/fooservice $FOO $BAR

init-script environment-variables systemd init.d openrc

5
推荐指数
1
解决办法
2万
查看次数

是否可以使用 OpenRC init 运行 Devuan Ascii?

我有安装了 SysVinit 的 Devuan Ascii。我发现 Devuan ascii 存储库中的 openRC 版本要旧得多。有人用 openRC 试过 Devuan 吗?是否为 openRC 启用了并行启动?

sysvinit openrc devuan

5
推荐指数
1
解决办法
1705
查看次数