Aikavyöhyke

Linux.fista
Versio hetkellä 28. lokakuuta 2011 kello 17.23 – tehnyt LP (keskustelu | muokkaukset) (pari lisähuomautusta)
Siirry navigaatioon Siirry hakuun

Aikavyöhyke määritellään sekä järjestelmän sisällä (yleensä UTC) että prosessikohtaisesti. Käyttäjille näytetään yleensä aikaa tiedostossa /etc/localtime määritellyn tai tiedostossa /etc/timezone viitatun aikavyöhykkeen mukaisesti. Käyttäjä voi muuttaa tätä oletusta määräämällä ympäristömuuttujalle TZ (timezone) arvon, jolla joko määritellään aikavyöhyke tai viitataan määrittelyyn. Eri aikavyöhykkeitä määritellään hakemistossa /usr/share/zoneinfo olevissa, yleensä maakohtaisissa, tiedostoissa.

Järjestelmätiedostot

/etc/timezone sisältää viittauksen suhteessa zoneinfo-hakemiston. Esimerkiksi suomalaisissa koneissa tiedosto sisältää yleensä tekstin "Europe/Helsinki", viittauksena tiedostoon /usr/share/zoneinfo/Europe/Helsinki.

zoneinfo-hakemisto on siis yleensä polussa /usr/share/zoneinfo. Se saattaa myös olla esimerkiksi polussa /usr/lib/zoneinfo. Muun polun voi (glibc2:ssa) määritellä ympäristömuuttujalla TZDIR.

zoneinfo-hakemiston juuressa on usein tiedosto localtime, joka sisältää oletuksena käytettävän aikavyöhykkeen määrityksen. Linux-koneissa tämä on useimmiten symbolinen linkki tiedostoon /etc/localtime, joka puolestaan on symbolinen linkki käytettävään aikavyöhykemäärittelyyn, Suomen osalta siis tiedostoon /usr/share/zoneinfo/Europe/Helsinki.

Koneen aikavyöhyke määritellään useimmiten asennuksen aikana, mutta sen voi siis muuttaa kertomalla aikavyöhyke tiedostoviitteenä tiedostossa /etc/timezone ja luomalla uusi symbolinen linkki /etc/localtime osoittamaan oikeaan tiedostoon.

TZ-muuttuja

TZ ("timezone") on ympäristömuuttuja, jolla voi kertoa käytettävän aikavyöhykkeen käyttäjä-, sessio- tai ohjelmakohtaisesti. Tämä on yleensä tarpeen, jos samalla koneella on käyttäjiä eri maissa (tai kun matkalla on tietokone mukana ja haluaa käyttää paikallista aikaa).TZ-muuttujaa käytettäessä sen arvoksi määrätään yleensä vain viittaus oikeaan aikahyöhykeeseen.

TZ=":Europe/Helsinki"; export TZ

Tämän voi tehdä sopivassa asetustiedostossa, komentotulkin bash osalta lähinnä tiedostossa .bashrc. Muuttujan arvoa voi muuttaa aina halutessaan, mutta se vaikuttaa vain itse komentotulkkiin ja siitä myöhemmin käynnistettäviin ohjelmiin.

Jos koneessa ei ole sopivaa aikavyöhyketiedostoa, sen voi kopioida toisesta koneesta kotihakemistoonsa ja viitata TZ-muuttujalla tähän tiedostoon. Varmista, että tiedostomuoto on sama: tzfile(5).

TZ=":/home/matti/zoneinfo/Europe/Helsinki"

Ympäristömuuttujaan voi myös sisällyttää varsinaisen aikavyöhykkeen kuvauksen. Katso tzset(3).

Jos kirjoittautuu graafisen kirjautumisohjelman kautta, ympäristömuuttuja on asetettava tämän asetustiedostossa, jotta se koskisi myös muita kuin komentoriviltä käynnistettyjä ohjelmia. Aikavyöhyke on yleensä asetettavissa myös työpöytäympäristön asetusohjelmien avulla.

Yksittäisen ohjelman voi käynnistää eri aikavyöhykkeeseen, esimerkiksi jos haluaa tarkistaa mitä kello näyttää toisessa maasssa:

env TZ=:America/New_York date