Was RunAsDate macht, ist folgendes:
RunAsDate fängt die Kernel-API-Aufrufe ab, die das aktuelle Datum und die aktuelle Uhrzeit (GetSystemTime, GetLocalTime, GetSystemTimeAsFileTime) zurückgeben, und ersetzt das aktuelle Datum und die aktuelle Uhrzeit durch das von Ihnen angegebene Datum und die aktuelle Uhrzeit.
Unter Linux haben Sie einige Optionen, um dasselbe zu erreichen:
Wenn Sie eine Windows-Version des Programms erhalten, können Sie RunAsDate möglicherweise unter Wine ausführen (achten Sie jedoch auf einen aktuellen Fehler ).
Suchen Sie dazu eine Wrapper-Bibliothek oder schreiben Sie Ihre eigene. Einige Optionen sind unten angegeben.
Verwenden Sie eine virtuelle Maschine. Dies ist ein Overkill, aber da ein Betriebssystem in einer Gast-VM vollständig vom zugrunde liegenden Host getrennt ist, können Sie die Systemzeit auf etwas völlig anderes einstellen. Es kann schneller als andere Optionen eingerichtet werden.
Option 2 kann auf unterschiedliche Weise ausgeführt werden, je nachdem, was Sie ausführen möchten. DaveParillos Antwort unten verweist auf einen DIY-Ansatz, der die verschiedenen Methoden erläutert und Code für eine ausführbare Datei enthält. Einige andere Optionen beinhalten:
datefudge
, verfügbar in Debian / Ubuntu-Repositories und anderen Orten.Time-Fake- Perl-Modul, auch in Debian-Repositorys als Paket
libtime-fake-perl
.FakeTime Preload - Bibliothek (aka
libfaketime
, Freshmeat Link ), eine Bibliothek, die System abfangen ruft in-dynamisch verknüpfte Binärdateien. Verfügbar in Debian-Repositories für Squeeze und Sid.