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 [AT] freemail.hu>