Cockpit 自动开机启动时异常问题处理
来自Linux78|wiki
ystemctl enable cockpit 时,会出现如下错误:
The unit files have no installation config (WantedBy, RequiredBy, Also, Alias settings in the [Install] section, and DefaultInstance for template units). This means they are not meant to be enabled using systemctl. Possible reasons for having this kind of units are: 1) A unit may be statically enabled by being symlinked from another unit's .wants/ or .requires/ directory. 2) A unit's purpose may be to act as a helper for some other unit which has a requirement dependency on it. 3) A unit may be started when needed via activation (socket, path, timer, D-Bus, udev, scripted systemctl call, ...). 4) In case of template units, the unit is meant to be enabled with some instance name specified.
修改cockpit.service 文件为如下所示:
cat /usr/lib/systemd/system/cockpit.service [Unit] Description=Cockpit Web Service Documentation=man:cockpit-ws(8) Requires=cockpit.socket [Service] ExecStartPre=/usr/sbin/remotectl certificate --ensure --user=root --group=cockpit-ws --selinux-type=etc_t ExecStart=/usr/libexec/cockpit-ws PermissionsStartOnly=true User=cockpit-ws Group=cockpit-ws [Install] WantedBy=multi-user.target
添加 [Install] 配置单元,然后执行下面代码,即可解决问题。
systemctl enable --now cockpit.socket