我正在虚拟机中设置使用 Ubuntu 的开发环境。虚拟机中的日期必须由于一些愚蠢的时间炸弹问题,时间是 2009 年,所以我想禁用任何自动时间同步(例如 ntpdate)。
$ sudo apt-get remove ntpdate
...
The following packages will be REMOVED:
ntpdate ubuntu-minimal
显然,我不想删除 ubuntu-minimal。不幸的是,机器每隔几秒钟就会将时间重置一次。我该如何禁用或取消此功能?
答案1
你确定 ntpdate 是你的问题吗?它不作为服务运行,通常仅在最近的 ubuntu 系统上启动接口时运行。
要在 Ubuntu 系统上禁用 ntpdate 而不将其删除,您可以简单地更新/etc/default/ntpdate
并添加单词exit
作为第一行,或者更改NTPSERVERS
变量更改为空。
您确定该问题与您的 VM 工具包无关吗?您确定您实际上没有安装完整的 ntp 守护程序吗?
在单个虚拟机中故意保持时间不同步可能有些困难。系统时钟是虚拟化效果不佳的资源之一。
答案2
ubuntu-minimal 是 Ubuntu 最小安装中提供许多其他软件包的软件包。删除该软件包不会引起任何问题。以后如果您想在最小安装中获得所有软件包,只需重新安装 ubuntu-minimal 即可。
答案3
我有一个用 vagrant 构建的 ubuntu/trusty64 虚拟机。我必须关闭虚拟机上的 virtualbox 客户端附加功能中的时间同步。为此,我将 VBOX_OPTS 添加到 /etc/init.d/virtualbox-guest-utils,如下所示:
编辑 /etc/init.d/virtualbox-guest-utils 插入以下行:
if [ -n "$2" ]; then
VBOX_OPTS="$VBOX_OPTS $2"
fi
修改此行:
start-stop-daemon --start --quiet --oknodo --exec /usr/sbin/VBoxService -- $VBOX_OPTS
现在像这样停止并启动服务
sudo service virtualbox-guest-utils stop
sudo service virtualbox-guest-utils start --disable-timesync
现在我可以将日期设置为我需要的日期,并且它会一直保持这个状态,直到我重新启动机器。
date -s "2014-02-22 22:41:49,332" && date --rfc-3339=ns
date
Sat Feb 22 23:27:31 EST 2014
答案4
更新rc.d
禁用服务的正确方法是将服务配置为在默认情况下启动的所有运行级别中停止。在 System V init 系统中,这意味着将服务的符号链接从 S 重命名为 K。
sudo update-rc.d ntp stop 20 2 3 4 5 .
或者在里面放一个 exit:/etc/default/ntp