问题标签 [systemd]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2022 浏览

openssh - 在 BeagleBone Black 上自动启动 OpenSSH sshd

有人知道如何在 BeagleBone Black 上自动启动 sshd 吗?我已经用 OpenSSH 替换了 dropbear。该标准systemctl enable sshd不起作用,但奇怪systemctl start sshd的是。我对使用 systemd 替换 init 的系统很陌生,所以希望我不会错过一些微不足道/简单的东西。有问题的 BeagleBone Black 正在运行 Angstrom Linux 并使用opkg包管理器。OpenSSH 与opkg install openssh. 当我运行时systemctl enable sshd@.service,我收到以下消息:

我安装的版本是OpenSSH_6.0p1, OpenSSL 1.0.1e 11 Feb 2013

0 投票
3 回答
2632 浏览

beagleboneblack - 等待 connman 在系统中完成网络配置

有什么方法可以配置 systemd 服务(例如 serviceX)以等待 connmand 服务在 serviceX 运行之前完成配置网络接口?根据我对 systemd 的理解,使用或依赖 network.target 是毫无意义的,因为该功能被严重破坏了。我正在使用的系统(BeagleBone Black with Angstrom Linux)使用 connman 而不是 NetworkManager。

0 投票
0 回答
132 浏览

linux - systemctl 测试 shell 脚本

所以我正在尝试arch linux,但我真的不明白如何制作自动启动脚本等。我试过这个(我知道有更好的方法,但这只是一个测试):

这是服务:

这是脚本:

我 chmod +x'd 脚本和东西,所以我认为它不会产生任何问题,但它不像我预期的那样工作,所以我显然做错了什么。问题出在哪里?

编辑:已解决,我将 ExecStart 行更改为:

0 投票
2 回答
134715 浏览

systemd - 如何在 ExecStart 命令行中使用参数?

我尝试将 Debian(以及 LinuxMint 和 Ubuntu & Co. 等衍生发行版)上使用的 SysVintit 脚本转换为在 Fedora 或 ArchLinux(以及 Bridge 或 Manjaro 等衍生发行版)上使用的 systemd 服务,但即使 systemd启动系统比以前的系统性能更高,用途更广泛,我不明白如何制作简单的东西,例如在命令行上使用“可选”参数,如 ExecStart= 或 ExecRestart= !

这是我对 SysVinit 所做的事情:

因此,上面的脚本允许使用不同的参数,包括一个空参数,当使用以下命令行时将显示消息“Usage: ...”:

现在,使用 systemd,脚本应该如下所示:

这里开始我的问题(以及我缺乏系统知识):

显然,systemd 没有提供诸如 ExecCustom01=、ExecCustom02 等命令,这些命令允许我为“version”和“try”(以及其他如果需要)创建命令。

因此,如果我可以使用参数来启动“版本”或“尝试”命令,我可以以不同的方式使用 ExecRestart(据说“真正的”重新启动可以通过连续启动停止和启动命令来完成)。

这些“定制”的 ExecRestart= 命令可能如下所示:

systemd 脚本可能如下所示:

但我不知道这是否可能,如果可以,使用的语法是什么!

任何帮助都将不胜感激,因为即使在多个 systemd 手册页中花费了几个小时后,我也找不到任何关于如何做到这一点的明确示例。

TIA 为您提供时间和建议。

0 投票
2 回答
35330 浏览

linux - 如何获取在 bash 脚本中执行的命令的进程 ID?

我有一个脚本我想同时运行2个程序,一个是ac程序,另一个是cpulimit,我想先用“&”在后台启动C程序,然后获取C程序的PID和将它交给 cpulimit,它也将在后台使用“&”运行。

我在下面尝试这样做,它只是启动第一个程序,从不启动 cpulimit。

另外,我在 Arch linux 中使用 systemd 以 root 身份将其作为启动脚本运行。

0 投票
2 回答
20527 浏览

raspberry-pi - 无法禁用 systemd serial-getty 服务

在带有 Arch Linux 的 Raspberry Pi 上,有一个名为serial-getty@AMA0.

单元文件为:/usr/lib/systemd/system/serial-getty@.service

作为根我可以调用

但重新启动后,该服务已启用并再次运行。

为什么禁用后启用服务?如何永久禁用它?

更新

systemd 在 /usr/lib/systemd/system-generators/ 使用生成器是一个名为 systemd-getty-generator 的二进制文件。此二进制文件在系统启动时运行,并将符号链接 serial-getty@ttyAMA0.service 添加到/run/systemd/generator/getty.target.wants.

我最终找到了一个肮脏的解决方案。我注释掉了 /usr/lib/systemd/system/serial-getty@.service 中的所有操作。该服务确实似乎启动了,但没有阻止 ttyAMA0。

0 投票
1 回答
1667 浏览

fedora - 使用 Systemd 时,/tmp 的内容在 PHP-FPM 中不可见

目录 /tmp 无法从作为 Systemd 服务运行的 PHP-FPM 访问。

重现步骤:

0 投票
1 回答
1044 浏览

linux - Fedora 20 systemctl nginx 权限被拒绝

我已经在 Windows 7 上的 VMware Workstation 中安装了 fedora 20。在我nginx通过yum install nginx. 编辑 nginx.conf 后(仅更改位置/根目录)

我尝试通过systemctl start nginx. Nginx 处于活动状态,但无法访问根文件夹。日志说13: Permission denied。我确定 nginx 有权访问该文件夹。

起初,我认为这可能是因为 HGFS。我将 root 更改为/usr/share/nginx/html,问题解决了。但我不会将此文件夹用作我的根目录。

所以我通过mount /dev/sdb1 /www(格式化为ext4)挂载了一个新磁盘,设置777并更改nginx.conf。然后问题再次出现。

我指定的原因systemctl是我尝试仅通过sudo nginx. 一切都很完美,没有错误出现。

systemctl不同的文件系统有问题吗?但是 sdb1 与原始文件系统的格式相同。

我能做些什么来解决这个问题?

0 投票
1 回答
8683 浏览

pulseaudio - 从 systemd 服务调用的 pactl 总是报告“pa_context_connect() 失败连接被拒绝”

我已经设置了一个 systemd 服务文件以在系统启动时执行一些 pactl 操作以进行测试过程。虽然从终端执行命令时可以正常工作,但通过启动服务从 systemd 服务运行相同的脚本时,我总是得到“pa_context_connect()失败连接被拒绝”。我还在服务文件中使用了“User=”指令,以确保自动登录用户与用于运行服务命令的用户匹配。

我已经读到这在某种程度上与 pulseaudio 会话在 systemd 服务的无环境上下文中无效有关,但我无法进一步弄清楚。

0 投票
2 回答
181755 浏览

service - 在特定服务之后启动 systemd 服务?

我有一个普遍的问题。*.service在特定*.service成功启动后如何启动 systemd 单元?

更具体的问题是,我如何在开始website.service后才mongodb.service开始?换句话说website.service应该取决于mongodb.service.