建立/etc/systemd/system/ntp-once.service文件:
[Unit]
Description=Newtork Time Service (once)
After=network.target nss-lookup.target
[Service]
Type=oneshot
ExecStart=/usr/bin/ntpd -q -g -u ntp:ntp; /sbin/hwclock -w
[Install]
WantedBy=multi-user.target
-----------
执行systemctl enable ntp-once.service后,开机时提示失败。
执行systemcdl start ntp-once.service也出错,systemctl status -l ntp-once.service和journalctl -xe提示错误都是:
Cannot find group `ntp;'
问题是cat /etc/group时,ntp组是正常的啊?
ntp: x: 87:
在网上按上面错误搜索了下,有说重新安装ntp,但我重装之后还是一样。
还有说执行下面语句:
restorecon /etc/group
但我找不到有restorecon这个语句,用pkgfile也查不到这个命令在哪个包里面,而且我也没有改动过/etc/group这个文件。
不知道该怎么解决这个问题?
离线
Cannot find group `ntp;'
ExecStart=/usr/bin/ntpd -q -g -u ntp:ntp; /sbin/hwclock -w
你看不出来关联吗?
systemd 单元的命令不是 shell 语法。如果确实需要你可以调用 shell(sh -c 'xxx'),但你这种写多个 ExecStart 就可以执行多条命令了。
最近编辑记录 依云 (2015-07-08 23:32:07)
离线
多谢老大指点,分成两个execstart就正常了。
晕,按shell格式写成一行是wiki上"Network Time Protocol daemon (简体中文)"抄来的,居然是错的
离线
多谢老大指点,分成两个execstart就正常了。
晕,按shell格式写成一行是wiki上"Network Time Protocol daemon (简体中文)"抄来的,居然是错的
wiki 上并没有错,你抄漏了个空格而已。man systemd.service 可以看到 ExecStart 支持的语法格式,单独的 ; 是可以用来分隔两条命令的。
离线
确实是我弄错了,execstart可以一行写多个命令,但分号前后都要有空格才行
离线