问题标签 [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.
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
beagleboneblack - 等待 connman 在系统中完成网络配置
有什么方法可以配置 systemd 服务(例如 serviceX)以等待 connmand 服务在 serviceX 运行之前完成配置网络接口?根据我对 systemd 的理解,使用或依赖 network.target 是毫无意义的,因为该功能被严重破坏了。我正在使用的系统(BeagleBone Black with Angstrom Linux)使用 connman 而不是 NetworkManager。
linux - systemctl 测试 shell 脚本
所以我正在尝试arch linux,但我真的不明白如何制作自动启动脚本等。我试过这个(我知道有更好的方法,但这只是一个测试):
这是服务:
这是脚本:
我 chmod +x'd 脚本和东西,所以我认为它不会产生任何问题,但它不像我预期的那样工作,所以我显然做错了什么。问题出在哪里?
编辑:已解决,我将 ExecStart 行更改为:
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 为您提供时间和建议。
linux - 如何获取在 bash 脚本中执行的命令的进程 ID?
我有一个脚本我想同时运行2个程序,一个是ac程序,另一个是cpulimit,我想先用“&”在后台启动C程序,然后获取C程序的PID和将它交给 cpulimit,它也将在后台使用“&”运行。
我在下面尝试这样做,它只是启动第一个程序,从不启动 cpulimit。
另外,我在 Arch linux 中使用 systemd 以 root 身份将其作为启动脚本运行。
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。
fedora - 使用 Systemd 时,/tmp 的内容在 PHP-FPM 中不可见
目录 /tmp 无法从作为 Systemd 服务运行的 PHP-FPM 访问。
重现步骤:
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 与原始文件系统的格式相同。
我能做些什么来解决这个问题?
pulseaudio - 从 systemd 服务调用的 pactl 总是报告“pa_context_connect() 失败连接被拒绝”
我已经设置了一个 systemd 服务文件以在系统启动时执行一些 pactl 操作以进行测试过程。虽然从终端执行命令时可以正常工作,但通过启动服务从 systemd 服务运行相同的脚本时,我总是得到“pa_context_connect()失败连接被拒绝”。我还在服务文件中使用了“User=”指令,以确保自动登录用户与用于运行服务命令的用户匹配。
我已经读到这在某种程度上与 pulseaudio 会话在 systemd 服务的无环境上下文中无效有关,但我无法进一步弄清楚。
service - 在特定服务之后启动 systemd 服务?
我有一个普遍的问题。*.service
在特定*.service
成功启动后如何启动 systemd 单元?
更具体的问题是,我如何在开始website.service
后才mongodb.service
开始?换句话说website.service
应该取决于mongodb.service
.