---
name: "tzsetup"
section: "8"
platform: "freebsd"
package: "base"
version: "16.0-CURRENT-20261027-61c70dc16a79"
release: "FreeBSD 16.0-CURRENT (2026-10-27)"
platforms: ["linux", "freebsd"]
url: "https://new.carta.tech/tzsetup"
---

# tzsetup(8)

set local timezone

## NAME

**tzsetup** – set local timezone

## SYNOPSIS

**tzsetup** \[**-nrs**\] \[**-C** *chroot\_directory*\] \[*zoneinfo\_file* \| *zoneinfo\_name*\]

## DESCRIPTION

The **tzsetup** utility reads a database of timezone information and presents a menu allowing the user to select a specific zone without knowing the details of the database layout. The selected zone is installed as the system default zone. The **tzsetup** utility also determines whether any adjustment is necessary for systems where the hardware clock does not keep UTC.

The following options are available:

- **-C** *chroot\_directory*

  Open all files and directories relative to *chroot\_directory*.

- **-n**

  Do not create or symlink files.

- **-r**

  Reinstall the zoneinfo file installed last time. The name is obtained from */var/db/zoneinfo*.

- **-s**

  Skip the initial question about adjusting the clock if not set to UTC. **tzsetup** will neither create nor delete */etc/wall\_cmos\_clock*. On a newly installed system, the hardware clock will keep UTC.

It is possible to short-circuit the menu system by specifying the location of a *zoneinfo\_file* or the name of the *zoneinfo\_name* on the command line; this is intended mainly for pre-configured installation scripts or people who know which zoneinfo they want to install.

## TIMEZONE DATABASE

The contents of the timezone database are indexed by */usr/share/zoneinfo/zone1970.tab*. This file lists, for each timezone data file, the ISO 3166 territory code, approximate geographical coordinates (in ISO 6709 format), and location within the territory.

The maintainers of the database maintain the following policies:

1. At least one zone for every country or inhabited geographical territory.

2. One zone for every distinct, documented timezone history since the beginning of the UNIX epoch (January 1, 1970, GMT).

3. Each zone is named for the most populous city therein. (Where possible, the database includes pre-1970 history for its city.)

The source code to the database (*/usr/src/contrib/tzdata/\[a-z\]\**) contains many additional comments and documentation references for the historically minded.

## FILES

- */etc/localtime*

  current time zone file

- */etc/wall\_cmos\_clock*

  see [adjkerntz(8)](/adjkerntz/8.md)

- */usr/share/misc/iso3166*

  mapping of ISO 3166 territory codes to names

- */usr/share/zoneinfo*

  directory for zoneinfo files

- */usr/share/zoneinfo/zone1970.tab*

  mapping of timezone file to country and location

- */var/db/zoneinfo*

  saved name of the timezone file installed last

## EXAMPLES

Normal usage, to select the right zoneinfo file via the dialog-based user interface:

```
# tzsetup
```

Install the file */usr/share/zoneinfo/Australia/Sydney*:

```
# tzsetup /usr/share/zoneinfo/Australia/Sydney
```

Install the zoneinfo file for Australia/Sydney, assumed to be located in */usr/share/zoneinfo*:

```
# tzsetup Australia/Sydney
```

After a reinstall of the zoneinfo files, you can reinstall the latest installed zoneinfo file (as specified in */var/db/zoneinfo*):

```
# tzsetup -r
```

## SEE ALSO

[date(1)](/date/1.md), [adjtime(2)](/adjtime/2.md), [ctime(3)](/ctime/3.md), [timezone(3)](/timezone/3.md), [tzfile(5)](/tzfile/5.md), [adjkerntz(8)](/adjkerntz/8.md), [zdump(8)](/zdump/8.md), [zic(8)](/zic/8.md)

## DISCLAIMER

The representation of certain localities as being associated with certain countries and/or territories is for the purposes of identification only, and does not imply any endorsement or rejection on the part of the FreeBSD Project of the territorial claims of any entity.

## BUGS

Programs which are already running when **tzsetup** creates or updates */etc/localtime* will not reflect the updated timezone. When the system is first configured for a non-UTC hardware clock, it is necessary to run [adjkerntz(8)](/adjkerntz/8.md) (which normally happens as a part of system startup) in order to update the kernel's idea of the correct timezone offset.
