阻止 Ubuntu 自动更新时间

阻止 Ubuntu 自动更新时间

我只需要暂时设置日期。我运行这个

date 051918002010.00

并且只停留了 5 秒左右。然后它与时间服务器同步。我尝试过:

ps aux | grep ntp

但那里什么也没有。

我现在需要一个正确的答案,而不是稍后更详细的答案:)

编辑:回答者很快发现,我的 Ubuntu 在 VirtualBox 中运行,这与答案的某些版本有关。谢谢大家。

答案1

听起来你真的在寻找一种运行程序的方法,以便程序认为它是在不同的日期和时间下运行。

之前有人问过这个问题:Linux RunAsDate 类似物? 以下是我在那里给出的答案。请注意,您似乎正在尝试选项 3。

ntpdate软件包不是守护进程,应该不是自动更新您的系统时间(它应该在启动时运行一次,不再运行)。我对 VirtualBox 不太熟悉,但我猜您已经ntpd安装了 VirtualBox Guest Additions,或者 VirtualBox Guest Additions 直接从主机操作系统同步时间,在这种情况下,您需要禁用它们,或者使用下面选项 2 中提到的包装器库之一。

更新:它看起来像是 VirtualBox Guest Additions 安装/usr/sbin/vboxadd-timesync——我猜这是将客户机时钟与主机时钟同步的可执行文件。检查它是否安装了启动脚本(可能/etc/init.d/vboxadd-timesync);如果是,您可以使用停止同步sudo /etc/init.d/vboxadd-timesync stop。如果没有启动脚本,您可能只需要执行kill该过程。


什么运行日期执行的操作如下:

RunAsDate 拦截返回当前日期和时间的内核 API 调用(GetSystemTime、GetLocalTime、GetSystemTimeAsFileTime),并用您指定的日期/时间替换当前日期/时间。

在 Linux 下,您可以使用一些选项来完成同样的事情:

  1. 如果你能得到该程序的 Windows 版本,你可能可以在葡萄酒(但要小心最近的一个错误)。

  2. 找到一个包装器库来执行此操作,或者编写自己的包装器库。下面给出了一些选项。

  3. 使用虚拟机。这有点过头了,但由于客户虚拟机中的操作系统与底层主机完全分开,因此您可以将其系统时间设置为完全不同的时间。与其他选项相比,设置起来可能更快。


选项 2 可以通过不同的方法实现,具体取决于您要运行的内容。DaveParillo 的回答链接至DIY 方法解释了不同的方法并包含可执行代码。其他一些选项包括:

答案2

由于您对 Dan McG 的评论回复似乎表明您正在将 Ubuntu 作为 VirtualBox 客户机运行,如果您安装了 VirtualBox 客户机添加程序,那么它们将自动将客户机的时间与主机的时间同步。

ps -ef | grep VBoxService

应该显示 VirtualBox 客户机添加服务正在运行。

然后你可以尝试:

sudo /etc/init.d/vboxadd-service stop

停止它直到重新启动。

答案3

快速回答:断开网络连接:)

答案4

您可以VBoxManage setextradata <guest-vm-name> "VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled" 1在主机操作系统上运行以禁用自动时间同步。

相关内容