1

We have a platform with Embedded-Debian-Linux as OS which will be distributed worldwide. We have a Battery-Backed RTC which should be used as system time. We do not want to have any timezone or any info about localtimes.

But everytime we have ethernet conenction, the system time is changed to utc.

What we have tried till now

1) Removed localtime and zoneinfo file. -> No effect, time is still changing after pluging ethernet.

2) Setting localtime to /usr/share/zone/UTC -> Still no effect, time is automatically changed to utc.

My Question:

1) What is changing our time after pluging it into the ethernet?? We do not have any time-server!

2) Is there anyway to adjust the system, so that we do not rely on any timezone info. all we need is just to use Embedded-RTC as our timeinfo.

  • Is ntp installed? If so, remove that. E.g "sudo apt-get uninstall ntp". You can check for the daemon running via pidof ntpd. – rocky Oct 13 '15 at 8:43
  • no, ntp is definitely not installed... have already checked it. – arash javan Oct 13 '15 at 8:48
  • Which distribution are you based on, there are several embeded debian distros ? – X Tian Oct 13 '15 at 8:51
  • @XTian Debian itself. only think we have, is just a dhcp server, which AFAIK does not share any time infos. – arash javan Oct 13 '15 at 8:54
  • 1
    @arashjavan to be clear, is the timezone getting set in addition to the time or just the timezone? If the network is getting configured via DHCP, I think that can set the timezone. See serverfault.com/questions/333348/… – rocky Oct 13 '15 at 8:55
3

The unix system is designed to run on UTC, timezones are a convenience for us mere humans who prefer to see a local time. Two users working on the one system, could sit in different timezones and therefore have different timezones set in their environment.

It appears that you want to force the system to run in your timezone, but you also say that you want to ignore timezones, well then ignore them and work in UTC.

Having said this, it should be possible to run the system on an incorrect time, and thereby achieve what you want.

So as others have suggested, ntpd or ntpdate are probably changing your system time.

On my system (ubuntu14.04) a quick grep for ntp in /etc reveals ntpdate being invoked when the network comes up and time servers being set after the dhcp client exits as shell hooks.

/etc/dhcp/dhclient-exit-hooks.d/ntpdate
/etc/network/if-up.d/ntpdate

Take a look there.

In addition, time changes are usually recorded in your syslog, search for step time server

  • there was realy a "time server setting" in my syslog. thanks – arash javan Oct 13 '15 at 9:26
3

When the network is configured via DHCP as it is here, that can set the timezone. See serverfault.com/questions/333348/

DHCP can also set the ntp server but you say that ntpd is not running so that wouldn't matter here. But as the solution indicates, ntpdate can also be run. So expanding upon my initial comment, you should make sure ntpdate is not around via sudo apt-get uninstall ntp.

  • @Anthon ok. I've revised parts that to reflect information obtained after the initial post and asked for clarification in the comment. The clarification doesn't change the possibility of DHCP setting the timezone. – rocky Oct 13 '15 at 12:37

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.