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>