20.11.2017, 23:53 UTC+1

Sie sind nicht angemeldet.

  • Anmelden
  • Registrieren

1

30.03.2013, 17:31

Inkonsistente Datei-Zeitstempel beim Parallel-Betrieb von Linux und Windows

Hallo zusammen,

mir ist aufgefallen, dass sämtliche Zeitstempel der Dateien, die unter knoppix erstellt wurden, um 1-2 Stunden (je nach Sommerzeit oder Normalzeit) falsch sind, wenn man die Files unter Windows ansieht. Das Problem tritt aber nur in Verbindung mit NTP auf.

Aber mal ganz langsam, um mein Problem zu reproduzieren:

1. Knoppix DVD 7.0.4 (evtl. als Stick, um Einstellungen zu behalten und die Testfiles unter Windows zu betrachten) starten


Analyse:
------------------
Zeitzone läuft als localtime (hier UTC)
Zeitstempel eines erstellten files (stat -c %Y <file>) liefert korrekten Wert (laut http://www.epochconverter.com), nämlich die aktuelle Zeit.
Und dieser Wert wird wohl auch von Windows entsprechend richtig interpretiert, wenn man Windows startet und den USB-Stick mit dem File ansteckt.


Sobald aber NTP installiert wird, fangen die Probleme an. Also:

2.

Quellcode

1
2
apt-get update
apt-get install ntp


Analyse:
-----------------
date --utc geht nun eine Stunde nach (keine Sommerzeit)
Die Systemzeit (rechts unten) geht auch eine Stunde nach.
Folglich sind von nun an auch alle Zeitstempel falsch (in dem Sinne, dass sie unter Windows falsch angezeigt werden):
stat -c %Y <file> liefert einen Sekundenwert, der 3600 Sekunden geringer ist, als normal.
Klar, vermutlich, weil sich ab jetzt alles an der UTC orientiert. Das wäre ja auch alles OK, wenn die Datei unter Windows nicht einen falschen Zeitstempel anzeigen würde.


Um nun alles unter Knoppix korrekt zu konfigurieren hab ich folgendes gemacht:

3.

Quellcode

1
sudo ln -sf /usr/share/zoneinfo/Europe/Berlin /etc/localtime

4.

Quellcode

1
sudo rm /etc/adjtime

5. ÄNDERN: /etc/default/rcS

Quellcode

1
UTC=no

6. EINFÜGEN: /etc/init.d/knoppix-halt

Quellcode

1
/sbin/hwclock --systohc --localtime

7. ÄNDERN: /mnt-system/boot/syslinux/syslinux.cfg

Quellcode

1
tz=localtime
(ansonsten springt die Uhr am Anfang kurz; keine Ahnung, warum....)


Analyse:
-----------------
Alles funktioniert, die BIOS-Uhr steht auf localtime (wichtig wegen Windows). Die Systemzeit hat die richtige Zeitzone.
Aber date --utc zeigt (natürlich) weiterhin die UTC Zeit. Und demnach eine Stunde weniger. Da sich aber daran der Zeitstempel der Dateien orientiert, haben alle Dateien unter Windows falsche Zeiten.
Am besten wäre es, wenn man Linux mitteilen könnte, dass sich der Datei-Zeitstempel an der aktuellen Zeitzone orientieren soll. Geht das?
Eine andere Möglichkeit wäre, dass man dem ntpd mitteilt, wie er die empfangene Uhrzeit zu interpretieren hat. Aber keine Ahnung , ob das geht? man ntp oder man ntp.conf liefert jedenfalls nichts brauchbares.


Wie lässt sich dieses Dilemma ansonsten auflösen?
Hat jemand eine Idee?

Viele Grüße
loomix

2

30.03.2013, 18:57

Dauerhafte Lösung:
BIOS auf UTC (Greenwich time)
Knoppix: localtime= Europe/Berlin
(dein Rumgewurstel in Knoppix rückgängig machen)
Windows: mit folgendem Registry-Eintrag zwingen, ebenfalls UTC zu verwenden:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\↲
	Services\W32Time\TimeProviders\NtpClient]
"SpecialPollInterval"=dword:00000e10

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\↲
	CurrentVersion\DateTime\Servers]
@="1"
"1"="de.pool.ntp.org"
"2"="time.nist.gov"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\↲
	TimeZoneInformation]
"RealTimeIsUniversal"=dword:00000001
Gruß Werner * Eigene Rescue-CD
remaster Grml * remaster Knoppix

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Werner P. Schulz« (30.03.2013, 19:08)


3

30.03.2013, 23:32

Ich muß mich korrigieren bzw ergänzen. Unter Knoppix muß es heißen:
"tz=Europe/Berlin" und nicht "localtime=Europe/Berlin".

Bei einer Flash-Disk Installation muß der Wert in '/mnt-system/boot/syslinux/syslinux.cfg' bei allen Zeilen beginnend mit "APPEND ..." abgeändert werden, bei einer HD Installation in '/boot/grub/menu.lst' in der Zeile beginnend mit "kernel ...".
Gruß Werner * Eigene Rescue-CD
remaster Grml * remaster Knoppix

4

01.04.2013, 21:20

Vielen Dank für die schnelle Antwort.
Dauerhafte Lösung:
BIOS auf UTC (Greenwich time)
Daran hab ich auch schon gedacht. Das wäre einfach die sauberste Lösung. Allerdings könnten folgende Gründe dagegen sprechen:
- Laut einigen Webseiten arbeitet UTC auf Windows-Rechnern nicht absolut zuverlässig
- Woher bezieht denn Windows seine Info für den Zeitstempel? Wenn es blöd läuft, haben dann alle bisherigen Dateien, die unter Windows erstellt wurden, einen falschen Zeitstempel, bzw. werden falsch interpretiert. (Und das sind bei mir sehr, sehr viele :-)

Und da das zeitliche Verhältnis Windows:Linux bei mir eher 80:20 beträgt (noch; könnte sich mit immer schlechter werdenden Windows-Versionen deutlich verschieben; Windows8 - oh Graus), wäre es mir irgendwie lieber, Linux anzupassen. Gibt es denn keinen Trick? (Eigentlich liebe ich auch eher die sauberen Lösungen, aber vielleicht fällt ja noch einem ein böser Hack ein :-) Mein "Rumgewurstel" hat zumindest ganz gut funktioniert und wird auch so an anderer Stelle vorgeschlagen. Ich denk mir halt, warum fangen die Probleme erst mit NTP an. Alles andere geht doch auch.

Naja, vielleicht fällt einem ja noch was dazu ein.
Wäre toll.

Viele Grüße

5

01.04.2013, 21:56

Zitat

Laut einigen Webseiten arbeitet UTC auf Windows-Rechnern nicht absolut zuverlässig

- Woher bezieht denn Windows seine Info für den Zeitstempel?
Die Infos für die UTC-Zeit bezieht Windows durch die regelmäßige Abfrage der Zeitserver (siehe den Registry-Eintrag, welchen ich gepostet habe). Statt irgendwelcher Hacks, die spätestens beim Wechsel Winter/Sommer- bzw Sommer/Winterzeit versagen, bevorzuge ich eine saubere Lösung. Und warum soll die DAU-Lösung von Windows der Maßstab aller Dinge sein, nur weil sie ihr UTC-Script schlampig programmiert haben sowie keine Lust haben oder unfähig sind, dies zu korrigieren.
Gruß Werner * Eigene Rescue-CD
remaster Grml * remaster Knoppix

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Werner P. Schulz« (01.04.2013, 22:02)


Linux HardwareLinux Computer & PCs | Linux Notebooks & Laptops | Geek Shirts | Geek und Nerd Shirt Shop