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>