= Datum und Uhrzeit manipulieren =

Wer nur die Uhrzeit automatisch stellen will, sollte auf der Seite TimeServerBenutzen weiterlesen.

Manchmal wünscht man sich, insbesondere bei der Programmentwicklung, daß ein Programm mit einer anderen Systemzeit laufen würde. Hierdurch könnte man automatische Abläufe testweise starten, herausfinden, ob man ein Y2K- (oder ein 2038-) Problem hat und dergleichen.

Die Umstellung der Zeit durch Manipulation der entsprechenden Bibliotheksaufrufe in der libc funktioniert nicht immer, z.B. wenn die Applikation statisch gelinkt ist.

Es wäre wünschenswert, bei der [Virtualisierung] ein ganzes virtuelles System mit einer anderen Systemzeit laufen zu lassen. Dies ist u.a. nötig, um ein Windows oder DOS anständig laufen zu lassen, da Linux-Systeme im Normalfall die Systemzeit in UTC (GMT) angeben, während Windows-Systeme immer die lokale Zeit angeben. Leider funktionierten die u.a. beiden Programme im Test mit VirtualBox nicht.


Zu diesem Thema sind mir zwei Pakete aufgefallen, die ich ausprobiert habe. Beide funktionieren im Grunde. Ersteres hat durch die Manipulation von Dateidaten mehr Möglichkeiten, letzteres ist als Debian-Paket in der aktuellen Distribution einfacher installiert.

* [faketime|http://www.code-wizards.com/projects/libfaketime/index.html] ([Debian-Paket|http://packages.debian.org/search?keywords=faketime&searchon=names&suite=all&section=all]) kann auch die Datumsinformationen von Dateien verändern.
* [datefudge Debian Paket|http://packages.debian.org/search?keywords=datefudge]

== Lösung für VirtualBox?!? ==

Bei der weiteren Arbeit mit VirtualBox ist mir übrigens der Befehl

  VBoxManage modifyvm -biossystemtimeoffset <msec>
  
aufgefallen. Ob dieser mein obengenanntes Problem löst, habe ich aber nicht ausprobiert. Dafür habe ich festgestellt, daß man die Uhrzeit eines VirtualBox-Systems ändern kann und diese nach einem Reboot immer noch geändert ist. Es wird also scheinbar eine Änderung der Hardware-Uhr (per hwclock) über einen Reboot hinweg beibehalten. Nach dem Beenden der VM und einem Neustart war die Änderung dann wieder weg. Es kann sein, daß diese Eigenschaft mit obengenanntem Befehl zusammenhängt.


----
[{Tag Linux Windows Virtualisierung}]