O que RunAsDate é o seguinte:
RunAsDate intercepts the kernel API calls that returns the current date and time (GetSystemTime, GetLocalTime, GetSystemTimeAsFileTime), and replaces the current date/time with the date/time that you specify.
No Linux, você tem algumas opções para realizar a mesma coisa:
-
Se você conseguir uma versão para Windows do programa, poderá executar o RunAsDate em Vinho (mas observe por um bug recente ).
-
Encontre uma biblioteca de wrapper para fazer isso ou escreva a sua. Algumas opções são dadas abaixo.
-
Use uma máquina virtual. Isso é um exagero, mas como um sistema operacional na VM guest é completamente separado do host subjacente, você pode definir a hora do sistema para algo completamente diferente. Pode ser mais rápido de configurar do que as outras opções.
A opção 2 pode ser realizada por diferentes métodos, dependendo do que você está tentando executar. A resposta de DaveParillo abaixo links para uma abordagem DIY que explica os diferentes métodos e inclui código para um executável. Algumas outras opções incluem:
-
datefudge
, disponível nos repositórios do Debian / Ubuntu e em outros lugares. -
Módulo perl Time-Fake , também nos repositórios da Debian como package
libtime-fake-perl
. -
Biblioteca de pré-carregamento do FakeTime (também conhecido como
libfaketime
, freshmeat link ), uma biblioteca que pode interceptar chamadas do sistema em binários vinculados dinamicamente. Disponível nos repositórios da Debian para Squeeze e Sid.