題 阻止Ubuntu自動更新時間


我只需要暫時設置日期。我跑了

date 051918002010.00

它堅持只用了5秒左右。然後它與時間服務器同步。我試過了:

ps aux | grep ntp

但那裡什麼都沒有。

我現在需要一個正確的答案,而不是更詳細的答案:)

編輯: 當回答者很快發現時,我的Ubuntu正在運行一個VirtualBox,結果證明它與某些版本的答案相關。感謝大家。


4
2017-12-15 21:36


起源


你為什麼要這樣做,目的是什麼? - Jeffrey Vandenborne
開發,模擬情境。 - Dan Rosenstark


答案:


聽起來你真的在尋找一種運行程序的方法,以便程序認為它在不同的日期和時間運行。

有人問過這個問題: Linux RunAsDate模擬?  以下是我給出的答案。請注意,您似乎在嘗試選項3。

ntpdate 包不是守護進程,應該  自動更新系統時間(它應該在啟動時運行一次,不再運行)。我對VirtualBox並不是很熟悉,但我猜你有沒有 ntpd 安裝或VirtualBox Guest Additions直接從主機操作系統同步時間,在這種情況下,您需要禁用它們,或使用選項2中下面提到的一個包裝程序庫。

更新:它看起來像VirtualBox Guest Additions安裝 /usr/sbin/vboxadd-timesync  - 我猜這是將客戶時鐘與主機時鐘同步的可執行文件。檢查它是否安裝了啟動腳本(可能 /etc/init.d/vboxadd-timesync);如果是這樣,你可以停止同步 sudo /etc/init.d/vboxadd-timesync stop。如果沒有啟動腳本,你可能只是 kill 這個過程。


什麼 RunAsDate 做的是以下內容:

RunAsDate攔截返回當前日期和時間的內核API調用(GetSystemTime,GetLocalTime,GetSystemTimeAsFileTime),並將當前日期/時間替換為您指定的日期/時間。

在Linux下你有一些選擇來完成同樣的事情:

  1. 如果您可以獲得該程序的Windows版本,則可以在其下運行RunAsDate 葡萄酒 (但請注意 最近的一個錯誤)。

  2. 找一個包裝庫來做這個,或者自己編寫。下面給出了一些選項。

  3. 使用虛擬機。這是過度的,但由於來賓VM中的操作系統與底層主機完全分離,因此您可以將其係統時間設置為完全不同的系統時間。設置可能比其他選項更快。


選項2可以通過不同的方法完成,具體取決於您嘗試運行的內容。 DaveParillo的回答鏈接到 一種DIY方法 它解釋了不同的方法,並包含可執行文件的代碼。其他一些選擇包括:


7
2017-12-16 13:13



sudo /etc/init.d/vboxadd-timesync停止工作!非常感謝〜嘎嘎 - Dan Rosenstark
哇,datefudge也適用於Ubuntu。很甜。再次感謝! - Dan Rosenstark
如果你不介意的話,只是為了我的筆記:datefudge“Wed Dec 16 15:20:28 EST 2008”ruby script / console - Dan Rosenstark
答案開頭唯一缺少的是:“使用此信息時不要生氣”。 - Radu Maris


由於您對Dan McG的評論回复似乎表明您正在運行Ubuntu作為VirtualBox來賓,如果您已經安裝了VirtualBox來賓添加,那麼他們將自動將來賓的時間與主持人同步。

ps -ef | grep VBoxService

應顯示正在運行的VirtualBox guest添加服務。

然後你可以嘗試:

sudo /etc/init.d/vboxadd-service stop

停止它直到重新啟動。


5
2017-12-15 21:52



我會嘗試在客戶端切斷網絡連接。 - Dan Rosenstark
聰明的想法,現在一切都很清楚,乾杯! - Jeffrey Vandenborne
@Yar,我不確定它是否通過訪客上的虛擬網絡連接。它可能通過VirtualBox進程獲取主機的系統時鐘值。 - Nick Meyer
@Nick是否有可用於vbox guest添加的配置文件或配置對話框?也許他可以改變在那裡同步的時間。來自vmware,我沒有很多經驗。 - Jeffrey Vandenborne
這是很棒的東西,但是:1)當我作為VirtualBox客戶端運行時,VBoxService未加載(我從未做過擴展,我猜)2)vboxadd-service不存在3)甚至殺死兩個網絡連接導致時間在幾秒鐘內恢復 - Dan Rosenstark


快速解答:斷開網絡連接:)


3
2017-12-15 21:37



我甚至不確定如何做到這一點,因為它似乎是從VirtualBox主機那裡得到時間的?或許......不確定,但斷開互聯網並沒有幫助。 - Dan Rosenstark
如果您使用的是有線網絡,請查看頂部面板中的網絡圖標(我假設您沒有調整您的桌面)單擊它並選擇斷開連接。 - Jeffrey Vandenborne
問題是nntp似乎繼續,因為它逐漸更新。在任何情況下,沒有互聯網連接,時間同步不會停止。 - Dan Rosenstark
sudo apt-get刪除ntpdate - Jeffrey Vandenborne


你也可以看看'libfaketime',它包裝在Ubuntu / Debian中。

它允許您偽造程序的系統時間而無需更改系統範圍的時間(通過使用LD_PRELOAD攔截系統調用)


3
2017-12-16 12:17