我正在使用 Archlinux 并开始尝试 systemd 这些天。
但是,我发现 systemd 没有加载我的 /etc/rc.local 脚本。
正如维基页面中提到的,我确实运行了systemctl enable rc-local.service,但这没有帮助。
我的 /etc/rc.local 文件的内容是:
echo -n 120 > /sys/devices/platform/i8042/serio1/speed
echo -n 250 > /sys/devices/platform/i8042/serio1/sensitivity
iptables --table nat -A POSTROUTING -s 192.168.0.0/16 -j MASQUERADE
Run Code Online (Sandbox Code Playgroud)
有什么建议?
小智 29
对于 systemd 188-2,systemd 抱怨没有[Install]节,因此无法启用 rc.local 服务。早期版本可能是这种情况,但由于 Arch 开发人员最近才宣布 systemd 将成为默认版本,我正在修复我的系统。
要解决这个问题,只需在 中为多用户目标添加一个部分/etc/systemd/system/rc-local.service:
[Unit]
Description=/etc/rc.local Compatibility
ConditionPathExists=/etc/rc.local
[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
StandardOutput=tty
RemainAfterExit=yes
SysVStartPriority=99
[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)
创建/etc/rc.local脚本并使其可执行chmod +x /etc/rc.local
Pat*_*hes 16
Arch 可能没有包含运行rc.local.
只需创建一个/etc/systemd/system/rc-local.service包含以下内容的文件(从我的 Fedora systemd 系统逐字复制):
# 这个文件是 systemd 的一部分。 # # systemd 是免费软件;您可以重新分发和/或修改它 # 根据 GNU 通用公共许可证的条款,由 # 自由软件基金会;许可证的第 2 版,或 #(由您选择)任何更高版本。 [单元] 说明=/etc/rc.local 兼容性 ConditionPathExists=/etc/rc.local [服务] 类型=分叉 ExecStart=/etc/rc.local start 超时秒数=0 标准输出=tty RemainAfterExit=yes SysVStartPriority=99
然后,只需systemctl enable rc-local.service以 root 身份运行即可启用它。您还可以通过运行systemctl start rc-local.service.
| 归档时间: |
|
| 查看次数: |
46588 次 |
| 最近记录: |