On Wed, 28 Aug 2019 at 19:25 David Wright <deb...@lionunicorn.co.uk> wrote:

> On Mon 12 Aug 2019 at 08:38:47 (-0400), Greg Wooledge wrote:
> > On Sat, Aug 10, 2019 at 12:16:04PM -0500, David Wright wrote:
> > > If you're desparate to get the timezone altered earlier in your
> > > installation process, you could always do it manually: try switching
> > > to VC2 and editing the file /target/etc/timezone to the string UTC
> > > (the alternatives are simply the names of the files in
> > > /usr/share/zoneinfo, including subdirectories). Obviously wait until
> > > the file exists. (I've not tried this so I don't know when that is.)
> >
> > I'm skeptical that this would be sufficient.  Debian actually stores the
> > system's default timezone in *two* different places, using two completely
> > different mechanisms.  I have been led to believe that one of these is
> > "standard" for GNU/Linux-based systems, and the other is for backward
> > compatibility.
>
> Yes, you're right.
>
> > wooledg:~$ ls -ld /etc/*time*
> > -rw-r--r-- 1 root root 46 Apr 10  2017 /etc/adjtime
> > lrwxrwxrwx 1 root root 36 Apr  1 08:58 /etc/localtime ->
> /usr/share/zoneinfo/America/New_York
> > -rw-r--r-- 1 root root 17 Apr  1 08:58 /etc/timezone
> >
> > The first one is the /etc/timezone file, which as you say, is a
> > simple text file that a (root) user can edit.  I believe this is the
> > backward-compatibility one.
>
> And that's the one I find useful, in that a lot of applications honour
> a value for TZ, which needs to be the text version. I always have a
> link to /etc/timezone as ~/.timezone, and TZ is set to its value in
> my startup files, which makes it easy to run a session in a
> contradictory timezone if I wish.
>
> > The second one is the /etc/localtime symbolic link, which needs to point
> > to an existing binary time zone data file in /usr/share/zoneinfo.  The
> > symbolic link can be re-pointed by hand; the binary data file should not
> > be edited by hand.
>
> I assume the system is interested in this one because it needs the
> actual rules and not just the name of the timezone. Otherwise the
> system wouldn't be able to junp the clocks at the appropriate times.
>
> > Running dpkg-reconfigure tzdata changes both of these, so that all the
> > programs work, regardless of which one they choose to honor.  Manually
> > changing just *one* of them would probably leave the system in an
> > inconsistent state, where some programs display the correct time zone,
> > and others do not.
>
> Well, a system running on a UTC hardware clock might have different
> applications displaying different times, and writing their logs
> accordingly, but the effects shouldn't be damaging. In fact, that
> is exactly what is happening during the installation itself: the
> major part of the log is in UTC, interspersed with segments in
> local time from the likes of useradd and groupadd.
>
> I couldn't speak for users who have a non-UTC clock.
>
> I would expect anyone using my desparate [sic] tip would confirm
> their timezone in the Debian™ manner as soon as practicable.
> I just checked the link/file on a recently-installed buster, and the
> timestamps indicate that they're created at the start of the main
> tranche of package installation, when /var/log/syslog shows¹
>
> Aug 22 01:19:31 in-target: Setting up tzdata (2019b-0+deb10u1) ...
> Aug 22 01:19:31 in-target:
> Aug 22 01:19:33 in-target:
> Aug 22 01:19:33 in-target: Current default time zone: 'America/Chicago'
> Aug 22 01:19:33 in-target: Local time is now:      Wed Aug 21 20:19:33 CDT
> 2019.
> Aug 22 01:19:33 in-target: Universal Time is now:  Thu Aug 22 01:19:33 UTC
> 2019.
> Aug 22 01:19:33 in-target: Run 'dpkg-reconfigure tzdata' if you wish to
> change it.
> Aug 22 01:19:33 in-target:
> Aug 22 01:19:33 in-target: Setting up linux-image-4.19.0-5-686-pae
> (4.19.37-5+deb10u2) ...
>
> As dpkg gets set up around the same point, I suppose one could try running
>   # /target/usr/sbin/dpkg-reconfigure tzdata
> in a VC at any time after this, though one might need to wait for a
> pause in proceedings (like the popcon question) to avoid any file locking.
>
> AFAICT the clock question at the end (UTC yes/no) only involves adjtime.
>
> > I don't have any kind of statistics for how many programs use one vs.
> > the other.  It's not trivial to find out.
>
> I guess it ought to depend on whether the program is concerned only
> with the here and now (use timezone), or whether it takes into account
> past history. Precisely 24 weeks ago, the wall time was the same in
> the afternoon as now (though someone in the UK would disagree).
> 25 weeks ago, it was still morning, an hour earlier. For that
> determination, you want the file pointed to by localtime.
>
> ¹ Note that tzdata gets installed and set up twice, the first time
> being the .deb from the iso, the second from the mirror. The log from
> the first time looks like
>
> Aug 22 00:56:21 debootstrap: Setting up tzdata (2019a-1) ...
> Aug 22 00:56:23 debootstrap:
> Aug 22 00:56:23 debootstrap: Current default time zone: 'Etc/UTC'
> Aug 22 00:56:23 debootstrap: Local time is now:      Thu Aug 22 00:56:23
> UTC 2019.
> Aug 22 00:56:23 debootstrap: Universal Time is now:  Thu Aug 22 00:56:23
> UTC 2019.
> Aug 22 00:56:23 debootstrap: Run 'dpkg-reconfigure tzdata' if you wish to
> change it.
> Aug 22 00:56:23 debootstrap:
> Aug 22 00:56:23 debootstrap: Setting up libpam0g:i386 (1.3.1-5) ...
>
> Cheers,
> David.
>
>

Reply via email to