首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OpenVZ容器中的systemd-timesyncd bug

OpenVZ容器中的systemd-timesyncd bug
EN

Unix & Linux用户
提问于 2017-01-03 22:05:26
回答 3查看 3.3K关注 0票数 0

Ubuntu16.04上有一个带有的bug。首先,问题是由于systemd-timesyncd.service有阻止在OpenVZ上启动它的参数(取决于人工,这应该没有问题,但这不是真的):

代码语言:javascript
复制
ConditionVirtualization=!container

这部分问题的解决方案在这里:systemd-timeesyncd.service在上的上的Arch上不活动。但是,这仍然不能解决问题,因为当尝试用.

代码语言:javascript
复制
sudo systemctl start systemd-timesyncd

..。其结果如下:

代码语言:javascript
复制
Aug 01 10:31:02 ingarill systemd[1]: systemd-timesyncd.service: Unit entered failed state.
Aug 01 10:31:02 ingarill systemd[1]: systemd-timesyncd.service: Failed with result 'exit-code'.
Aug 01 10:31:02 ingarill systemd[1]: systemd-timesyncd.service: Service has no hold-off time, scheduling restart.
Aug 01 10:31:02 ingarill systemd[1]: systemd-timesyncd.service: Start request repeated too quickly.

我从https://www.reddit.com/r/linuxquestions/comments/4vln5o/cant_开始_systemdtimesyncdservice/描述类似错误的地方复制了这个“错误”部分(我认为它与这个错误根本没有关联)。在此之后,状态是不活动的,最后一种状态被描述为“关闭”。

到目前为止,这就是我发现的,希望足以帮助我解决问题。提前感谢!

EN

回答 3

Unix & Linux用户

回答已采纳

发布于 2017-01-19 08:44:35

本例中的问题是OpenVZ的使用和容器上设置的权限。如果您的提供者启用了sys_time权限,那么您可以根据需要设置VPS的时间,在其他情况下,您没有足够的权限/能力来更改它,并且应该通过配置OpenVZ的主计算机进行同步。

正如我在本例中所读到的时间(如果您没有sys_time可访问性),只能由VPS提供程序在其主OpenVZ机器上设置,并与所有节点同步。

票数 1
EN

Unix & Linux用户

发布于 2017-01-10 19:20:02

在虚拟盒里为我工作。

sudo mkdir /etc/systemd/system/systemd-timesyncd.service.d/

然后,使用sudo的sudo -s做了以下工作:echo -e "[Unit]\nConditionVirtualization=yes" > /etc/systemd/system/systemd-timesyncd.service.d/enable-with-daemon.conf

告诉系统重新加载sudo systemctl daemon-reload

然后启动单元sudo systemctl start systemd-timesyncd

票数 1
EN

Unix & Linux用户

发布于 2017-01-14 10:54:07

我猜你错过了可执行文件。问:sudo /usr/lib/systemd/systemd-timesyncd的结果是什么? A:没有这样的可执行文件,只有文件夹引导、目录、网络、用户和用户生成器。

代码语言:javascript
复制
   cat /usr/lib/systemd/system/systemd-timesyncd.service
   ...
   [Service]
   Type=notify
   Restart=always
   RestartSec=0
   ExecStart=/usr/lib/systemd/systemd-timesyncd
   ...

此服务启动/usr/lib/systemd/systemd-timesyncd

代码语言:javascript
复制
file /usr/lib/systemd/systemd-timesyncd
/usr/lib/systemd/systemd-timesyncd: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=b64971999784b0c648889f282e346d8902e8c1a3, stripped

这是一个可执行文件。

代码语言:javascript
复制
sudo pkgfile /usr/lib/systemd/systemd-timesyncd                                                                  
core/systemd

这是随systemd包而来的。

开头应该是这样的:

代码语言:javascript
复制
sudo /usr/lib/systemd/systemd-timesyncd
Synchronized to time server 85.214.194.162:123 (0.arch.pool.ntp.org).

重新安装systemd包检查该可执行文件。只要系统中没有它,服务就会失败。

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/334653

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档