web-dev-qa-db-ja.com

Debian8で手動で日付を設定する

Debian 8で日付を設定すると、数秒後に現在の時刻に戻ります。 Debian 8で実際に手動で日付と時刻を設定するにはどうすればよいですか? NTPは実行されていません。

+ set -x
+ Sudo timedatectl set-time 2000-01-01
+ timedatectl
      Local time: Sat 2000-01-01 00:00:00 CET
  Universal time: Fri 1999-12-31 23:00:00 UTC
        RTC time: Fri 1999-12-31 23:00:00
       Time zone: Europe/Vienna (CET, +0100)
     NTP enabled: no
NTP synchronized: no
 RTC in local TZ: no
      DST active: no
 Last DST change: DST ended at
                  Sun 1999-10-31 02:59:59 CEST
                  Sun 1999-10-31 02:00:00 CET
 Next DST change: DST begins (the clock jumps one hour forward) at
                  Sun 2000-03-26 01:59:59 CET
                  Sun 2000-03-26 03:00:00 CEST
+ date
Sat Jan  1 00:00:00 CET 2000
+ sleep 10
+ date
Fri Sep  7 23:14:18 CEST 2018
2
astifter

通常、VMは、仮想化ハイパーバイザーによって時間どおりに同期できます(構成と仮想化テクノロジー、およびツールのインストールに依存します)。

あなたのVMはVirtualboxハイパーバイザーによって同期された時間を取得しています。

したがって、仮想化ホストの時間に合わせて時間を調整し続けるには、その同期を無効にする必要があります。

次のように、コマンドラインで一時的に無効にすることができます。

VBoxManage setextradata "VMname" "VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled" 1

ここで、VMNameは、VirtualBoxで認識されているVM)の名前です。

VMを再起動しない間は、時刻の同期が停止します。

この設定を永続的に行うには、そのVMを停止し、yourVMname.vboxを編集して、次のエントリをセクションに追加する必要があります。

<ExtraDataItem name="VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled" value="1"/>

Jessieはsystemdにデフォルトで付属しているディストリビューションでもあり、systemdを使用している場合は、systemd-timesyncdがデフォルトで有効になっています。

systemd-timesyncdはまたあなたの時間を最新に保ちます。また、停止/無効にする必要があります。

次の方法で一時的に停止できます。

Sudo service systemd-timesyncd stop

最近では、 VirtualBox Guest UtilitiesのDebianメンテナが作成しました ゲストユーティリティサービスがsystemd-timesyncd.serviceと競合するため、GuestUtilitiesが実行された場合にsystemdは後者を実行しません。 Debianの人々はchronyサービスとntpdサービスにも同じことを望んでいます。

4
Rui F Ribeiro