Date: Unterschied zwischen den Versionen

Aus Foxwiki
Keine Bearbeitungszusammenfassung
KKeine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
== <big> date </big> ==
'''date''' setzt Datum und Uhrzeit oder zeigt sie an
 
Wer bis heute noch nicht rausgefunden hat, wie man unter Linux in einem Terminal das Datum und die Uhrzeit des Computers verändern kann, hier der Befehl:


  date MMTThhmm
  date MMTThhmm
Zeile 18: Zeile 16:
|}
|}


== <big> Zeitzone setzen </big> ==
== Zeitzone setzen ==
 
Die Zeitzone wird durch die Anweisung tzconfig gesetzt:  
Die Zeitzone wird durch die Anweisung tzconfig gesetzt:  
  tzconfig
  tzconfig


Die Anweisung erfordert in der Regel Administratorrechte und wird ohne Parameter aufgerufen. Die Zeitzone wird dann von der Anweisung abgefragt.  
Die Anweisung erfordert in der Regel Administratorrechte und wird ohne Parameter aufgerufen. Die Zeitzone wird dann von der Anweisung abgefragt.  


== <big> Uhrzeit anzeigen </big> ==
== Uhrzeit anzeigen ==
 
  date +'%Y%m%d %H%M%S' # ergibt z. B. 20060905 093432
  date +'%Y%m%d %H%M%S' # ergibt z. B. 20060905 093432
  # allgemein
  # allgemein
  date +FORMAT # FORMAT ist ein String, wie er von strftime(3) interpretiert wird
  date +FORMAT # FORMAT ist ein String, wie er von strftime(3) interpretiert wird


== <big> System-Uhr vs. Hardware-Uhr </big> ==
== System-Uhr vs. Hardware-Uh ==
 
Es ist wichtig zu wissen, dass es zwei Uhren gibt:
Es ist wichtig zu wissen, dass es zwei Uhren gibt:
* die Hardware-Uhr: das ist ein Uhrenschaltkreis auf dem Mainboard, der wie eine Quarz-Uhr funktioniert.
* die Hardware-Uhr: das ist ein Uhrenschaltkreis auf dem Mainboard, der wie eine Quarz-Uhr funktioniert.
* die Betriebssystem-Uhr: das ist eine durch Interrupts angetriebene und nicht gerade sonderlich genaue Software-Uhr.  
* die Betriebssystem-Uhr: das ist eine durch Interrupts angetriebene und nicht gerade sonderlich genaue Software-Uhr.  


Nachdem man mit date die Software-Uhr gestellt hat, sollte man diese Zeit auch in die Hardware-Uhr übertragen:  
Nachdem man mit date die Software-Uhr gestellt hat, sollte man diese Zeit auch in die Hardware-Uhr übertragen:  
  # system clock -> hardware clock
  # system clock -> hardware clock
  hwclock --systohc
  hwclock --systohc


Ebenso kann man die Systemuhr nach der genaueren Hardware-Uhr neu stellen lassen:  
Ebenso kann man die Systemuhr nach der genaueren Hardware-Uhr neu stellen lassen:  
  # hardware clock -> system clock
  # hardware clock -> system clock
  hwclock --hctosys
  hwclock --hctosys
Zeile 52: Zeile 43:


Wenn in /etc/adjtime steht:  
Wenn in /etc/adjtime steht:  
  0.667509 1059309076 0.000000
  0.667509 1059309076 0.000000
  1059309076
  1059309076
Zeile 60: Zeile 50:


Gesetzt wird es bei [https://linuxwiki.de/Debian Debian] in /etc/default/rcS  
Gesetzt wird es bei [https://linuxwiki.de/Debian Debian] in /etc/default/rcS  
  # Set UTC=yes if your system clock is set to UTC (GMT), and UTC=no if not.
  # Set UTC=yes if your system clock is set to UTC (GMT), and UTC=no if not.
  UTC=yes
  UTC=yes
Zeile 69: Zeile 58:
Siehe [https://linuxwiki.de/ZeitServer ZeitServer] bzw. [https://linuxwiki.de/ntp ntp].  
Siehe [https://linuxwiki.de/ZeitServer ZeitServer] bzw. [https://linuxwiki.de/ntp ntp].  


== <big> Umstellung Winter-/Sommerzeit </big> ==
== Umstellung Winter-/Sommerzeit ==
 
Heute Morgen war die Uhrzeit an meinem Rechner korrekt von Sommer- auf Winterzeit umgestellt. Frage: Woher weiß [https://linuxwiki.de/Linux Linux] eigentlich, wann die Zeit umzustellen ist? Ein [https://linuxwiki.de/ntp ntp]-Dämon läuft bei mir nicht.
Heute Morgen war die Uhrzeit an meinem Rechner korrekt von Sommer- auf Winterzeit umgestellt. Frage: Woher weiß [https://linuxwiki.de/Linux Linux] eigentlich, wann die Zeit umzustellen ist? Ein [https://linuxwiki.de/ntp ntp]-Dämon läuft bei mir nicht.
<br>
* vermutl. durch die /etc/localtime, denke ich? Den Inhalt kann ich leider nicht rauslesen
* vermutl. durch die /etc/localtime, denke ich? Den Inhalt kann ich leider nicht rauslesen
* Das ist ein symbolischer Link auf /usr/share/zoneinfo/Europe/Berlin (offenbar eine Binär-Datei). Frage: Was steht da drin? Wie funktioniert das?
* Das ist ein symbolischer Link auf /usr/share/zoneinfo/Europe/Berlin (offenbar eine Binär-Datei). Frage: Was steht da drin? Wie funktioniert das?
<br>
 
Normalerweise wird unter Linux die Systemzeit nicht umgestellt, da das System [https://de.wikipedia.org/wiki/GMT GMT] als Zeitzone annimmt (kann man aber alles einstellen). Die Zeit, die der Benutzer angezeigt bekommt, wird dann je nach Datum und Zeitzone umgerechnet und angezeigt.
Normalerweise wird unter Linux die Systemzeit nicht umgestellt, da das System [https://de.wikipedia.org/wiki/GMT GMT] als Zeitzone annimmt (kann man aber alles einstellen). Die Zeit, die der Benutzer angezeigt bekommt, wird dann je nach Datum und Zeitzone umgerechnet und angezeigt.
<br>
 
------------------------------------------------------
<br>
Man kann [https://linuxwiki.de/KNOPPIX KNOPPIX] so starten, dass von einer UTC- (und nicht Localtime-) Systemuhr ausgegangen wird (siehe [https://linuxwiki.de/KNOPPIX/CheatCodes KNOPPIX/CheatCodes]). Ggf. geht die Uhr z.B. 2 Stunden vor. Das bleibt dann auch so, wenn man [https://linuxwiki.de/KNOPPIX/AufFestplatte KNOPPIX/AufFestplatte] installiert.
Man kann [https://linuxwiki.de/KNOPPIX KNOPPIX] so starten, dass von einer UTC- (und nicht Localtime-) Systemuhr ausgegangen wird (siehe [https://linuxwiki.de/KNOPPIX/CheatCodes KNOPPIX/CheatCodes]). Ggf. geht die Uhr z.B. 2 Stunden vor. Das bleibt dann auch so, wenn man [https://linuxwiki.de/KNOPPIX/AufFestplatte KNOPPIX/AufFestplatte] installiert.


Zeile 86: Zeile 71:
'''/etc/init.d/hwclock.sh''' ist Dein Freund
'''/etc/init.d/hwclock.sh''' ist Dein Freund


== <big> Uhrzeit verhält sich merkwürdig? </big> ==
== Uhrzeit verhält sich merkwürdig? ==
Unter SuSE Linux 8.0 hatte ich das Problem, dass nach jedem Neustart des Betriebssystems, die Uhrzeit um 7 bis 25 Minuten vorging, obwohl ich jedes Mal im BIOS sichergestellt habe, dass die Uhrzeit korrekt ist.
Unter SuSE Linux 8.0 hatte ich das Problem, dass nach jedem Neustart des Betriebssystems, die Uhrzeit um 7 bis 25 Minuten vorging, obwohl ich jedes Mal im BIOS sichergestellt habe, dass die Uhrzeit korrekt ist.
<br>
 
<br>
Das Problem löste sich nach dem Löschen der Datei /etc/adjtime.
Das Problem löste sich nach dem Löschen der Datei /etc/adjtime.
<br>
 
<br>
Frage: Wenn die Hardware-Uhr doch genauer ist, warum gibt es dann überhaupt die im Betriebssystem gezählte? Es würde doch reichen, wenn man jedesmal auf die Hardware zugreift, wenn man die Uhrzeit braucht. Oder ist das evtl. zu langsam?
Frage: Wenn die Hardware-Uhr doch genauer ist, warum gibt es dann überhaupt die im Betriebssystem gezählte? Es würde doch reichen, wenn man jedesmal auf die Hardware zugreift, wenn man die Uhrzeit braucht. Oder ist das evtl. zu langsam?
<br>
 
<br>
Antwort: So ist es - zu langsam. Die aktuelle Zeit wird nämlich nicht nur dann gebraucht, wenn sie so ein überflüssiger User wissen will, sondern für fast alle Vorgänge, die mit dem Betriebssystem zu tun haben. In erster Linie sind da Scheduling und die Dateioperationen (atime) zu nennen.
Antwort: So ist es - zu langsam. Die aktuelle Zeit wird nämlich nicht nur dann gebraucht, wenn sie so ein überflüssiger User wissen will, sondern für fast alle Vorgänge, die mit dem Betriebssystem zu tun haben. In erster Linie sind da Scheduling und die Dateioperationen (atime) zu nennen.
<br>
 
<br>
Antwort2: Es könnte auch passieren das Linux auf Hardware läuft auf der keine Hardware Uhr vorhanden ist. Da ist die Softwareimplementierung der Uhr unvermeidbar.
Antwort2: Es könnte auch passieren das Linux auf Hardware läuft auf der keine Hardware Uhr vorhanden ist. Da ist die Softwareimplementierung der Uhr unvermeidbar.


== <big> Quellen </big> ==
= Links =
[https://linuxwiki.de/DatumUndUhrzeit LinuxWiki]
== Intern ==
== Weblinks ==
# https://linuxwiki.de/DatumUndUhrzeit


[[Category:Linux]]
[[Kategorie:Linux:Zeit]]

Version vom 30. Januar 2022, 23:24 Uhr

date setzt Datum und Uhrzeit oder zeigt sie an

date MMTThhmm
# oder auch in der für USA üblichen Schreibweise:
date -s "12/31 23:59"
MM Monat
TT Tag
hh Stunden
mm Minuten

Zeitzone setzen

Die Zeitzone wird durch die Anweisung tzconfig gesetzt:

tzconfig

Die Anweisung erfordert in der Regel Administratorrechte und wird ohne Parameter aufgerufen. Die Zeitzone wird dann von der Anweisung abgefragt.

Uhrzeit anzeigen

date +'%Y%m%d %H%M%S' # ergibt z. B. 20060905 093432
# allgemein
date +FORMAT # FORMAT ist ein String, wie er von strftime(3) interpretiert wird

System-Uhr vs. Hardware-Uh

Es ist wichtig zu wissen, dass es zwei Uhren gibt:

  • die Hardware-Uhr: das ist ein Uhrenschaltkreis auf dem Mainboard, der wie eine Quarz-Uhr funktioniert.
  • die Betriebssystem-Uhr: das ist eine durch Interrupts angetriebene und nicht gerade sonderlich genaue Software-Uhr.

Nachdem man mit date die Software-Uhr gestellt hat, sollte man diese Zeit auch in die Hardware-Uhr übertragen:

# system clock -> hardware clock
hwclock --systohc

Ebenso kann man die Systemuhr nach der genaueren Hardware-Uhr neu stellen lassen:

# hardware clock -> system clock
hwclock --hctosys

Die Zusatzoption -u zu hwclock sollte man dann verwenden, wenn man die Hardware-Uhr auf UTC (in der Praxis gleichbedeutend mit GMT) laufen hat, was sehr empfehlenswert ist.

Wenn in /etc/adjtime steht:

0.667509 1059309076 0.000000
1059309076
UTC

Braucht man den -u Schalter nicht. Statt UTC könnte da auch LOCAL stehen.

Gesetzt wird es bei Debian in /etc/default/rcS

# Set UTC=yes if your system clock is set to UTC (GMT), and UTC=no if not.
UTC=yes

Bei RedHat/Mandriva findet sich die Einstellung unter /etc/sysconfig/clock (UTC=true), bei Gentoo unter /etc/rc.conf, oder seit neuem unter /etc/conf.d/clock. Bei SuSE war wohl rc.config? Andere Distributionen?

Systemuhr mit einem ZeitServer synchronisieren

Siehe ZeitServer bzw. ntp.

Umstellung Winter-/Sommerzeit

Heute Morgen war die Uhrzeit an meinem Rechner korrekt von Sommer- auf Winterzeit umgestellt. Frage: Woher weiß Linux eigentlich, wann die Zeit umzustellen ist? Ein ntp-Dämon läuft bei mir nicht.

  • vermutl. durch die /etc/localtime, denke ich? Den Inhalt kann ich leider nicht rauslesen
  • Das ist ein symbolischer Link auf /usr/share/zoneinfo/Europe/Berlin (offenbar eine Binär-Datei). Frage: Was steht da drin? Wie funktioniert das?

Normalerweise wird unter Linux die Systemzeit nicht umgestellt, da das System GMT als Zeitzone annimmt (kann man aber alles einstellen). Die Zeit, die der Benutzer angezeigt bekommt, wird dann je nach Datum und Zeitzone umgerechnet und angezeigt.

Man kann KNOPPIX so starten, dass von einer UTC- (und nicht Localtime-) Systemuhr ausgegangen wird (siehe KNOPPIX/CheatCodes). Ggf. geht die Uhr z.B. 2 Stunden vor. Das bleibt dann auch so, wenn man KNOPPIX/AufFestplatte installiert.

Frage: Wie kann ich das nachträglich so einstellen, dass das Betriebssystem weiß, dass die Uhr auf UTC läuft?

/etc/init.d/hwclock.sh ist Dein Freund

Uhrzeit verhält sich merkwürdig?

Unter SuSE Linux 8.0 hatte ich das Problem, dass nach jedem Neustart des Betriebssystems, die Uhrzeit um 7 bis 25 Minuten vorging, obwohl ich jedes Mal im BIOS sichergestellt habe, dass die Uhrzeit korrekt ist.

Das Problem löste sich nach dem Löschen der Datei /etc/adjtime.

Frage: Wenn die Hardware-Uhr doch genauer ist, warum gibt es dann überhaupt die im Betriebssystem gezählte? Es würde doch reichen, wenn man jedesmal auf die Hardware zugreift, wenn man die Uhrzeit braucht. Oder ist das evtl. zu langsam?

Antwort: So ist es - zu langsam. Die aktuelle Zeit wird nämlich nicht nur dann gebraucht, wenn sie so ein überflüssiger User wissen will, sondern für fast alle Vorgänge, die mit dem Betriebssystem zu tun haben. In erster Linie sind da Scheduling und die Dateioperationen (atime) zu nennen.

Antwort2: Es könnte auch passieren das Linux auf Hardware läuft auf der keine Hardware Uhr vorhanden ist. Da ist die Softwareimplementierung der Uhr unvermeidbar.

Links

Intern

Weblinks

  1. https://linuxwiki.de/DatumUndUhrzeit