CLOCK(1)

NÉV
hwclock - a hardveróra (Real Time Clock) lekérdezése és beállítása

ÁTTEKINTÉS
hwclock --show [ --utc ] [ --test ] [ --debug ]
hwclock --set --date=dátum [ --utc ] [ --test ] [ --debug]
hwclock --systohc [ --utc ] [ --test ] [ --debug ]
hwclock --hctosys [ --utc ] [ --test ] [ --debug ]
hwclock --adjust [ --utc ] [ --test ] [ --debug ]
hwclock --version [ --debug ]

Az opciókat egyértelmű rövidítéssel is alkalmazhatjuk.

A "clock" programmal való kompatibilitás érdekében használhatók az -r, -w, -s, -a, -v, -u, és -D opciók is.

LEÍRÁS
A hwclock egy eszköz a Hardverórához. A segítségével ki lehet íratni az aktuális időt, be lehet állítani a Hardverórát egy megadott időhöz vagy a Rendszerórához, vagy be lehet állítani a Rendszerórát a Hardverórához.

A hwclock programot rendszeresen futtathatjuk, hogy kiegyenlítsük azt az időeltérést, amit a magára hagyott rendszer létrehoz.

OPCIÓK
Az alábbiak közül pontosan 1 opciót kell megadni a hwclock programnak, attól függően, hogy milyen funkciót szeretnénk.

--show
    Kiolvassa a Hardverórát és kiírja az időt.

--set
    Beállítja a Hardverórát a --date opció által megadott időpontra.

--hctosys
    Beállítja a Rendszerórát a Hardverórához. Ezt az opciót legjobban egy olyan szkriptben tudjuk kihasználni, ami a rendszer indításakor lefut.

--systohc
    Hozzáállítja a Hardverórát a pillanatnyi Rendszerórához.

--adjust
    Az ismert eltérés alapján hozzáadja a Hardverórához (vagy kivonja) a szükséges korrekciót. (A működés leírását lásd lejjebb).

--version
    Kiírja a hwclock verzióját.
    Ha megadod a --set opciót, meg kell adnod a következő opciót is :

--date="dátum és időpont"
    Ide írjuk be azt a dátumot és időpontot, amire a Hardverórát be akarjuk állítani. Ennek az opciónak a tartalmát átadjuk a date(1) programnak. Például

    hwclock --set --date="11/27/98 18:45:00"

A következő opciókat a legtöbb funkció mellett használhatjuk.

--utc
    Azt jelzi, hogy a Hardveróra a 'Universal Coordinated Time'-nak ('Koordinált Világidő', korábbi nevén 'Greenwich Mean Time') megfelelő időt tartalmazza. A felhasználó választásától függ, hogy az óra az UTC vagy a helyi időzónának megfelelő idő szerint jár-e.

Figyelem ! Ha nem adod meg az --utc opciót, vagy fordítva, megadod, amikor nem kellene, mindkét esetben összezavarodik a Hardveróra beállítása vagy a lekérdezés.

--test
    Mindent megcsinál, kivéve a Hardveróra tényleges beállítását. Ez hasznos, különösen a --debug opcióval együtt.

--debug
    A hwclock kiírja, hogy mit is csinál éppen.

MEGJEGYZÉSEK : Órák egy Linux rendszerben.

Egy Linux rendszerben két fő óra van :

A Hardveróra : Ez egy olyan óra, ami bármely programtól függetlenül fut, még akkor is, ha a gép ki van kapcsolva. Az ISA szabvány részeként van meghatározva. Egy vezérlő program ki tudja ezt az órát olvasni, vagy be tudja állítani. Lehetséges az 1 másodperces impulzusok kezdetének érzékelése, így az órának látszólag végtelen lehet a pontossága.

Ezt az órát nevezik hardverórának, 'real time clock'-nak, 'RTC'-nek, valós idejű órának, BIOS órának, vagy CMOS órának is.

A Rendszeróra : Ez az az idő, amit a Linux kernelen belüli óra mutatni tud, és az ISA időzítő megszakítása vezérli. Csak akkor van értelmezve, ha a Linux fut. A Rendszeridő az 1970. január 1. 00:00:00 óta eltelt időt tartalmazza másodpercekben. Ennek ellenére a Rendszeridő nem egész szám, így a pontossága tetszőlegesen javítható.

A Rendszeróra tartalmazza azt az időt, ami fontos számunkra. A Hardveróra alapvető feladata bármely rendszerben az, hogy az óra akkor is fusson, amikor a gép ki van kapcsolva. Amikor elindul a Linux rendszer, beállítja a Rendszerórát a Hardverórához, így a Hardverórát ezután nem használjuk. Megjegyezzük, hogy a DOS operációs rendszerekben (illetve az arra épülő egyéb rendszerekben) - amihez az ISA tervezve lett - a Hardveróra az egyetlen valós idejű óra.

Fontos, hogy a date(1L) használatával ne okozzunk időugrást a Rendszerórában, amikor a rendszer fut.

Ezzel szemben a Hardverórát tetszőlegesen lehet állítani, mialatt a rendszer fut. Mint programozó, használhatod az adjtimex(8) programot is a Rendszeróra beállításához.

  Az 'Adjust', vagyis 'Beállítás' funkció

A Hardveróra általában nem túl pontos. Azonban a pontatlanság nagyrészt jól kezelhető, mert az óra azonos mértékű időt siet vagy késik minden nap. Ezt rendszeres időeltérésnek nevezhetjük. A hwclock program 'adjust' funkciója teszi lehetővé azt, hogy rendszeres kiigazítást végezzünk ennek a rendszeres időeltérésnek a kiküszöbölésére.

Röviden : A hwclock a /etc/adjtime fájlban tárol néhány információt, ami az óra pontosításához szükséges.

Tegyük fel kiindulásként, hogy nincs 'adjtime' fájlunk. Ekkor kiadhatjuk a hwclock --set --date=... parancsot, hogy a Hardverórát beállítsuk a megadott időhöz. A hwclock program létrehozza az 'adjtime' fájlt és beleírja az aktuális időt. Ez egyúttal az óra beállításának az utolsó ideje is lesz. Tegyük fel, hogy mondjuk 5 nap alatt az óra 10 másodpercet siet, így újból kiadjuk a hwclock --set --date=... parancsot, hogy visszaállítsuk a 10 másodpercet. A hwclock program frissíti az 'adjtime' fájlt, beleírja az utolsó órabeállítás időpontját és rögzíti benne, hogy az óra napi 2 másodpercet siet. 24 óra elteltével újból kiadhatjuk a hwclock --adjust parancsot. A hwclock program megnézi az 'adjtime' fájlt, látja benne, hogy az óránk napi 2 másodpercet siet, és most már éppen eltelt egy nap. Igy kivon 2 másodpercet a Hardverórából. Rögzíti a fájlban az aktuális időt, mint az utolsó beállítás időpontját.

Minden alkalommal, amikor beállítjuk az órát a --set opcióval, a hwclock újra kiszámolja a rendszeres idő-eltérés mértékét, figyelembe véve, hogy mikor volt utoljára pontosítva az óra, milyen idő-eltérés volt korábban kiszámolva és hogy jelenleg mennyivel tér el az óra.

Egy kis hiba az óra beállításába mindig becsúszik, amikor a hwclock programmal szeretnénk pontosítani az órát, így a hwclock nem hajtja végre azokat a beállításokat, amikor az eltérés kevesebb 1 másodpercnél.

Hasznos egy hwclock --adjust parancsot kiadni közvetlenül a hwclock --hctosys parancs előtt a rendszer indításakor, illetve akkor is, ha a 'cron' segítségével végeztetjük a beállítást.

Az '/etc/adjtime' fájl formátuma :

1. sor : 3 számból áll :

1) rendszeres idő-eltérés másodperc / nap mértékegységben, lebegőpontos, decimális kijelzéssel;

2) az utolsó beállítás ideje 1970. jan. 1. óta, másodpercekben, decimális egész szám;

3) nulla, a clock programmal való kompatibilitás miatt.

2. sor : 1 számból áll :

A legelső beállítás ideje másodpercben 1970. jan. 1. óta.

Használhatod a hwclock programhoz azt az 'adjtime' fájlt, amit előzőleg a clock programmal hoztál létre.

FÁJLOK
/etc/adjtime

LÁSD MÉG
adjtimex(8), date(1), gettimeofday(2), settimeofday(2), crontab(1)

SZERZŐK
A hwclock programot Bryan Henderson írta 1996 szeptemberében, Charles Hedrick, Rob Hooft, és Harald Koenig, a clock program íróinak munkája alapján. A program készítésének története nyomon követhető a forráskódban.

MAGYAR FORDÍTÁS
Gyulai Mihály <mgyulai@freemail.c3.hu>