Остановить Ubuntu от автоматического обновления времени

Мне просто нужно установить дату временно. Я запускаю этот

date 051918002010.00 

И он придерживается всего 5 секунд или около того. Затем он синхронизируется с сервером времени. Я пытался:

 ps aux | grep ntp 

Но там ничего нет.

Мне нужен правильный ответ, более подробный ответ позже 🙂

Редактировать: Как быстро нашли ответчики, мой Ubuntu работает в VirtualBox, что оказалось актуальным для некоторых версий ответа. Спасибо всем.

Похоже, вы действительно ищете способ запустить программу, чтобы программа думала, что она работает в разные даты и времени.

Ранее вопрос был задан: Linux RunAsDate аналог? Ниже приведен ответ, который я дал там. Обратите внимание, что вы пытаетесь выполнить вариант 3.

Пакет ntpdate не является демоном и не должен автоматически обновлять системное время (он должен запускаться один раз при загрузке и не более). Я не слишком хорошо знаком с VirtualBox, но я бы предположил, что вы либо установили ntpd либо добавили гостевые дополнения VirtualBox, синхронизируя время непосредственно с операционной системой хоста, и в этом случае вам нужно будет отключить их или использовать один Библиотек обертки, упомянутых ниже в Варианте 2.

Обновление : похоже, что гостевые дополнения VirtualBox устанавливают /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 под Wine (но следите за недавней ошибкой ).

  2. Найдите библиотеку обертки, чтобы сделать это, или напишите свой собственный. Ниже приведены некоторые параметры.

  3. Используйте виртуальную машину. Это излишне, но поскольку ОС в гостевой виртуальной машине полностью отделена от основного хоста, вы можете установить системное время на что-то совершенно другое. Это может быть быстрее, чем другие варианты.


Вариант 2 может быть выполнен различными способами, в зависимости от того, что вы пытаетесь запустить. Ответ DaveParillo ниже относится к подходу DIY, который объясняет различные методы и включает код для исполняемого файла. Некоторые другие варианты включают:

  • datefudge , доступный в репозиториях Debian / Ubuntu и других местах.

  • Time-Fake perl module, также в репозиториях Debian как пакет libtime-fake-perl .

  • FakeTime Preload Library (aka libfaketime , freshmeat link ), библиотека, которая может перехватывать системные вызовы в динамически связанных двоичных файлах. Доступно в репозиториях Debian для Squeeze и Sid.

Поскольку ваш комментарий к Dan McG, похоже, указывает, что вы используете Ubuntu в качестве гостя VirtualBox, если вы установили гостевые дополнения VirtualBox, они автоматически синхронизируют время гостя с хостом.

 ps -ef | grep VBoxService 

Должен показывать запущенную службу гостевых дополнений VirtualBox.

Затем вы можете попробовать:

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

Чтобы остановить его до перезагрузки.

Ответ: Отключите свое сетевое подключение 🙂

Вы также можете посмотреть « libfaketime », который упакован в Ubuntu / Debian.

Это позволяет вам подделывать системное время для программы, не меняя общесистемного времени (перехватывая системные вызовы с помощью LD_PRELOAD)

  • Как снова запустить неактивное устройство RAID?
  • В Linux я могу сохранить программу в фоновом режиме даже после отключения?
  • Не удается смонтировать разделы NTFS из-за Windows 10?
  • Как монтировать раздел HFS в Ubuntu как чтение / запись?
  • Я всегда подключаюсь к Интернету на следующий день, когда подключаюсь к новой машине, проводной?
  • Putty SSH: CTRL + Клавиши курсора не работают, чтобы перейти к предыдущему / следующему слову
  • Я случайно поменял символическую ссылку / bin / sh
  • Несколько интерфейсов для одного IP-адреса?
  • Ubuntu 10 на виртуальном поле в качестве сервера для хоста Windows 7
  • Как я могу сделать сессию sudo в час и не несколько минут в Ubuntu 10.04?
  • Команда gui «Open With» Ubuntu не запоминает приложение
  • Давайте будем гением компьютера.