Determining daylight savings changes on BSD

Dan Busarow dan at
Thu Feb 22 17:16:14 UTC 2007

On Feb 22, 2007, at 9:33 AM, Lisa Casey wrote:

> Hi,
> I just read through this entire thread and I have a couple of  
> questions. I have several FreeBSD 5.4 systems. I did the date -r  
> commands as suggested on one of these systems and it doesn't appear  
> to switch over to daylight savings time on Sunday March 11 at 2 AM.
> I looked in /usr/ports/misc but there isn't a zoneinfo port (on  
> this system). I searched a bit and found this:


If you can't use the ports to update your time zone files here is the  
manual procedure.

1. create a new directory and cd into it
    e.g. # mkdir myzoneinfo; cd myzoneinfo

2. # fetch

3. # tar -zxvf tzdata2007b.tar.gz

4. you will now have a bunch of files in the directory extracted from  
    you need to edit and comment out these lines

#AX     +6006+01957     Europe/Mariehamn
#GG     +4927-00232     Europe/Guernsey
#IM     +5409-00428     Europe/Isle_of_Man
#JE     +4912-00207     Europe/Jersey
#ME     +4226+01916     Europe/Podgorica
#RS     +4450+02030     Europe/Belgrade
#TL     -0833+12535     Asia/Dili

5. run this command
    # zic -d ./zoneinfo -p America/Los_Angeles -m 0644 -y ./yearistype \
        africa antarctica asia australasia etcetera europe \
        factory northamerica southamerica systemv

    that's all one long line
    the zic command will create a new directory named zoneinfo and
    fill it with the new zoneinfo files.  You can compare it to

6. install the new files by running
    # cp -R -p ./zoneinfo/ /usr/share/zoneinfo
    # cp ./ /usr/share/zoneinfo
    # tzsetup

7. to verify that all went well run
    # zdump -v /etc/localtime | grep 2007
    your should get

/etc/localtime  Sun Mar 11 09:59:59 2007 UTC = Sun Mar 11 01:59:59  
2007 PST isdst=0 gmtoff=-28800
/etc/localtime  Sun Mar 11 10:00:00 2007 UTC = Sun Mar 11 03:00:00  
2007 PDT isdst=1 gmtoff=-25200
/etc/localtime  Sun Nov  4 08:59:59 2007 UTC = Sun Nov  4 01:59:59  
2007 PDT isdst=1 gmtoff=-25200
/etc/localtime  Sun Nov  4 09:00:00 2007 UTC = Sun Nov  4 01:00:00  
2007 PST isdst=0 gmtoff=-28800

I've done this on 1/2 dozen older 4.x and 5.x servers and it works fine.


> radius# find / -name zoneinfo -print
> /usr/share/zoneinfo
> /usr/compat/linux/usr/share/zoneinfo
> radius# find / -name tzsetup -print
> /usr/sbin/tzsetup
> Here's my question. tzsetup seems to already be on this system. I  
> have not used it before, so am unfamiliar with it. Can I just run  
> that now and make whatever changes are necessary to fix this system  
> so that it recognises daylight savings changes? Or am I going to  
> have to download some updated zone files first?  In this thread,  
> someone suggested doing the following:
> cd /usr/src/share/zoneinfo
> fetch
> tar -zxvf tzdata2007a.tar.gz
> make
> make install
> cp -f /usr/share/zoneinfo/America/Los_Angeles
> /etc/localtime
> chmod 444 /etc/localtime
> I have attempted that, but when I unzip/untar tzdata2007b.tar.gz  
> (there isn't an "a" file there anymore, just the "b" one), I get  
> several files but there is no target for the make command.
> Are there any special considerations any of you might be aware of  
> depending on what function my freebsd servers are serving? One does  
> radius authentication using Free Radius, another is our web server  
> (Apache2) and primary DNS (Bind 9), a third is a mail server  
> (Sendmail).
> I'm sorry - I'm just kinda confused as to how I ought to handle  
> this issue.
> Thanks,
> Lisa Casey

More information about the freebsd-questions mailing list