Ön egy számítógépből, egy Windows-ból és egy Linuxból álló dual bootos rendszert épített.

Ön korábban is épített már egy számítógépből, egy Windows-ból és egy Linuxból álló dual bootos rendszereket, melyek mindegyike magas szinten kiszolgálta az Ön felhasználói igényeit, például azzal, hogy bármelyik rendszert indította is el Ön, mindig a pontos időt tudta leolvasni a képernyő valamelyik csücskére pillantva.

Ön most elégedetlen, mert jelenlegi rendszere erre alkalmatlan.

Crisis alert!

Önnek először az tűnt fel, hogy Linux után Windows-t indítva visszakapott az életéből egy vagy két órát. Ebből Ön arra következtetett, hogy a Linux fejlettségéhez képest a Windows egy múltból ittragadt őslény. Az őslényeket természetesen nem bántjuk, és mivel az időzóna beállítása továbbra is helyes értéket mutatott, a problémát az óra kézi előretekerésével ideiglenesen megoldottnak tekinthette.

Minden szép és jó volt, amíg Ön bohó módon ismét el nem indította a Linuxot, majd utána a Windows-t. GOTO 10.

Önnek eszébe jut, hogy az interneten a pornó mellett egyéb tartalmakhoz is hozzá lehet férni, nem is rest rákeresni a jelenségre – de szigorúan inkognitó módban, nehogy belerondítson a keresési találataiba néhány időutazós kufirc, melyekben a főszereplő a múltba visszatérve aktívan részt vesz saját maga de nem akarok ötleteket adni –, majd újonnan szerzett tudását röviden és erős szakmaiatlansággal a következőképpen foglalja össze:

  • A rendszeren összesen három óra – a CMOS hardveres órája, a Windows rendszerórája és a Linux rendszerórája – pofozkodik egymással. (Valójában csak kettő, mert a CMOS annyira buta, hogy hagyja magát.)
  • A CMOS a dátumot és az időt helyi idő szerint tárolja, azaz nincsen információja időzónákról meg téli és nyári időszámításról, ahogy arról sem, hogy a Game of Thrones legújabb részében alany állítmány.
  • A Windows rendszerórája a CMOS óráját szintén helyi időnek tekinti, azaz ha a rendszereden a UTC+1 (GMT+1) időzóna van beállítva, akkor a CMOS által mutatott idő lesz a UTC+1. (Ha pedig átállítod Windows alatt az órát, akkor az a CMOS-t is átírja.)
  • A Linux rendszerórája az időt az epoch (1970. január 1., éjfél) óta eltelt másodpercek alapján határozza meg, a CMOS-t azonban nem helyi időnek, hanem UTC+0-nak tekinti. Bootoláskor kiolvassa a CMOS-ból az időt, meg azt, hogy milyen időzónát állítottál be, megegyezik magával abban, hogy a CMOS a helyes helyi időt mutatja (tehát esetünkben UTC+1-et), majd rájön, hogy az UTC+1 és az UTC+0 között van egy órányi eltérés (nyári időszámítás esetén kettő), úgyhogy kupán vágja a CMOS-t (mert mégsem a helyes időt mutatja) és az egy vagy két óra elvételével rendet rak.
  • Ezt aztán kiolvassa és helyi időként értelmezi a Windows.

Itt Ön tart egy egyperces gyászszünetet az időközben elveszített olvasók emlékére.

Ön érzi, hogy az erkölcsi főlény a Linuxé, jelen esetben azonban mégiscsak a Linux rondít bele egy elavultnak tekinthető, egyébként kifogástalan együttműködésbe, ezért tovább olvasgat és megtudja, hogy az óra helyes beállítása után a következő rút parancsot kell gyökér módon kiadnia:

$ hwclock ‐‐systohc ‐‐localtime

Innentől a Linux a CMOS óráját a Windows-hoz hasonlóan helyi időként fogja kezelni, Ön pedig büszke kapitányként feszíthet, miközben dual bootos rendszere sebesen szeli a mindennapi számítógépezés kavargó tengerének hullámait.