Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0000614IPFire 2.7Git-Versionpublic2010-04-08 09:392010-08-06 10:25
ReporterIntruder73 
Assigned ToManiacikarus 
PrioritylowSeveritytweakReproducibilityalways
StatusclosedResolutionfixed 
Platformi386OSLinuxOS Version2.5
Product VersionCore37 
Target VersionCore38Fixed in VersionCore38 
Summary0000614: Falsche Uhrzeit nach boot
DescriptionWir haben hier zwei Rechner mit IPFire, die bei Systemstart eine falsche Uhrezeit und Datum (irgendwo in 2006) haben.
Leider wird beim boot nicht automatisch per ntpdate ein Datum gesetzt.
Durch dieses Problem funktioniert dann z.B. der VPN-Zugang per OpenVPN nicht, da die Zertifikate noch nicht gültig sind.
Steps To Reproduce* Automatische Aktualisierung deer Uhrzeit auf stündlich stellen
* Aktualisierung abwarten
* IPFire runterfahren und BIOS-Zeit auf 2006 stellen
* IPFire booten
Additional InformationIch vermute, dass ein setzen der Zeit bei boot nicht funktioniert, da die Datei /var/lock/time/counter beim boot nicht gelöscht wird sondern noch Werte vom letzten Lauf enthält.
Hier kann es passieren, dass es selbst bei Einstellung auf stündlich bis zu 59 Minuten vergehen bis die Uhrzeit gesetzt wird.
Es wäre toll, wenn bei boot die Datei /var/lock/time/counter einfach gelöäscht werden würde.
TagsNo tags attached.
Attached Files

- Relationships

-  Notes
(0001900)
Maniacikarus (administrator)
2010-04-08 11:15
edited on: 2010-04-08 11:20

Auf welcher Plattform laufen die Systeme?
Bei Alix Systemen fehlt meist die Batterie was immer zum Verlust des BIOS Datums führt.

In der normalen ISO ist /var/lock ein tmpfs, dh der Inhalt ist nach dem booten erstmal weg, es sei denn er wird wieder dahin geschrieben, bitte mal in der fstab nachschauen.

Weiterhin mal in der crontab für den timecheck bootrun einstellen, aber es sollte generell alle 5 Minuten geprüft werden
-> */5 * * * * /usr/local/bin/timecheck > /dev/null 2>&1
-> bootrun */5 * * * * /usr/local/bin/timecheck > /dev/null 2>&1

(0001902)
Intruder73 (reporter)
2010-04-08 13:58

Es handelt sich hier um ein 6 Monate altes Atom-System.
/var/lock ist ein tmpfs
"*/5 * * * * /usr/local/bin/timecheck > /dev/null 2>&1" auskommentiert und "&bootrun */5 * * * * /usr/local/bin/timecheck > /dev/null 2>&1" ind ie cron rein.
Neustart
keine Änderung

##################################

Maschine runterfahren
BIOS auf 2006
booten
/var/lock/time wird leer angelegt - nix passiert
/etc/init.d/fcron restart - nix passiert
/usr/local/bin/timecheck - Uhrzeit OK - nix passiert
/etc/init.d/fcron restart - Dateien im /var/lock/time werden aktualisiert, script läuft

Es sieht für mich so aus, als würde die cron nicht mit dem Jahr 2006 klar kommen.
(0001904)
Maniacikarus (administrator)
2010-04-08 14:10
edited on: 2010-04-08 14:12

wenn Du die crontab änderst musst du diese mit fcrontab -z auch schreiben

Beim booten sollte folgendes passieren

nach dem booten muss /var/lock/time/counter auf jeden Fall weg sein, dann sollte der timecheck über den fcron angestoßen werden, feststellen dass das File fehlt und ein settime anstoßen

das sollte aber auch ohne das bootrun nach 5 Minuten passieren, immer vorrausgesetzt das counter file ist weg

http://git.ipfire.org/?p=ipfire-2.x.git;a=blob;f=src/scripts/timecheck;h=9f581985a0037d26039bba67d3133438e1114391;hb=HEAD [^]

(0001906)
Intruder73 (reporter)
2010-04-08 15:35

nach "fcrontab -e" wird diese automatisch aktiviert.
die Einträge sind nach dem reboot auch da:
fcrontab -l
#################
#*/5 * * * * /usr/local/bin/timecheck > /dev/null 2>&1
&bootrun */5 * * * * /usr/local/bin/timecheck > /dev/null 2>&1
#################
"/var/lock/time wird leer angelegt" sollte auch heissen, dass dies durch das System geschah und nicht durch mich.

Wie gesagt:
Das Problem scheint zu sein, dass die fcron wenn das Jahr auf 2006 steht garnichts tut.
Nach setzen des richtigen Datums funktioniert nach fcron-Neustart ja auch alles.
(0001907)
Maniacikarus (administrator)
2010-04-08 16:16

und was passiert wenn Du nur den timecheck per Hand anstößt ohne den fcron durchzustarten, das müsste dann ja auch funktionieren, für die weitere analyse müssste man wohl das cron logging aktivieren um zu sehen was er wirklich macht
(0001908)
Intruder73 (reporter)
2010-04-08 17:26

Dann passiert leider auch nichts weiter.
War das was ich mit "/usr/local/bin/timecheck - Uhrzeit OK - nix passiert" meinte.

Habe grade nochmal mit Datum auf 2006 gestartet.
Die cron angehalten und "fcron -f -d" gestartet.
#################################
01:07:13 cmd /usr/local/bin/timecheck > /dev/null 2>&1 next exec 4/8/2010 wday:4 17:20:00 (system time)
#################################
Die cron will den timecheck erst 2010 wieder ausführen obwohl grade 2006 ist.
Das hilft natürlich nicht um eine passende Uhrzeit zu bekommen.
(0001909)
Maniacikarus (administrator)
2010-04-10 10:14

hm, also pass auf um das ganze sauber zu kriegen, müsste man wohl an die cron Entwickler ran, die dann aber wiederrrum erwidern werden, dass sie da auch nix machen können, weil das System ja den Fehler verursacht

Sei´s drum um das zu fixen, kann man einfach fix ein ntpdate in die rc.local einbinden, dh dass beim booten auf jeden Fall das Datum gesetzt wird.

ntpdate -b -t 10 pool.ntp.org 2>/dev/null, das geht aber nur wenn der ntp socket noch nicht in Benutzung ist, man könnte allerdings auch das initskript des ntp erweitern und beim startaufruf ein sofortiges setzen erzwingen
(0001915)
Intruder73 (reporter)
2010-04-12 17:42

"/usr/local/bin/timecheck > /dev/null 2>&1" in der /etc/sysconfig/rc.local funktioniert.
Kann ich davon ausgehen, dass die Änderung da auch nicht durch irgendein Update überschrieben wird?
(0001916)
Maniacikarus (administrator)
2010-04-12 19:02

die rc.local ist extra für solche Sachen gedacht, also customizing im Startprozess, die werden wir eigentlich nicht überschreiben
(0001917)
Maniacikarus (administrator)
2010-04-12 19:09

Kannst du dann bitte nochmal prüfen, ob folgendes ntp init skript auch gehen würde

#!/bin/sh
# Begin $rc_base/init.d/ntp

. /etc/sysconfig/rc
. $rc_functions

case "$1" in
    start)
        boot_mesg "Setting time..."
                /usr/local/bin/timecheck > /dev/null 2>&1
        boot_mesg "Starting ntpd..."
        loadproc /usr/bin/ntpd -Ap /var/run/ntpd.pid
        ;;

    stop)
        boot_mesg "Stopping ntpd..."
        killproc /usr/bin/ntpd
        ;;

    restart)
        $0 stop
        sleep 1
        $0 start
        ;;

    status)
        statusproc /usr/bin/ntpd
        ;;

    *)
        echo "Usage: $0 {start|stop|restart|status}"
        exit 1
        ;;
esac

# End $rc_base/init.d/ntp
(0001918)
Intruder73 (reporter)
2010-04-13 10:46

Änderung aus rc.local wieder raus.
ntp-Statscript geändert.
Datum auf 2006
Neustart

Funktioniert auch :)
(0001919)
Maniacikarus (administrator)
2010-04-13 20:52

okay, dann werde ich das neue initskript so einchecken und vorher noch ein wenig ausprobieren
(0001920)
SCM (developer)
2010-04-15 20:20

commit ed0a0ba8a16fd3411a545dc53934ea08b620b35a
Author: Christian Schmidt <maniacikarus@ipfire.org>
Date: Sun Apr 11 22:43:27 2010 +0200

    Enabled force setting system time on boot.
    This fixes bug 0000614 for IPFire 2.7

http://git.ipfire.org/?p=.;a=commitdiff;h=ed0a0ba8a16fd3411a545dc53934ea08b620b35a [^]
(0002212)
SCM (developer)
2010-07-31 10:57

commit ed0a0ba8a16fd3411a545dc53934ea08b620b35a
Author: Christian Schmidt <maniacikarus@ipfire.org>
Date: Sun Apr 11 22:43:27 2010 +0200

    Enabled force setting system time on boot.
    This fixes bug 0000614 for IPFire 2.7

http://git.ipfire.org/?p=ipfire-2.x.git;a=commitdiff;h=ed0a0ba8a16fd3411a545dc53934ea08b620b35a [^]

- Issue History
Date Modified Username Field Change
2010-04-08 09:39 Intruder73 New Issue
2010-04-08 09:40 Intruder73 Issue Monitored: Intruder73
2010-04-08 11:15 Maniacikarus Note Added: 0001900
2010-04-08 11:20 Maniacikarus Note Edited: 0001900 View Revisions
2010-04-08 11:20 Maniacikarus Note Edited: 0001900 View Revisions
2010-04-08 11:21 Maniacikarus Status new => assigned
2010-04-08 11:21 Maniacikarus Assigned To => Maniacikarus
2010-04-08 11:22 Maniacikarus Priority normal => low
2010-04-08 11:22 Maniacikarus Severity minor => tweak
2010-04-08 13:58 Intruder73 Note Added: 0001902
2010-04-08 14:10 Maniacikarus Note Added: 0001904
2010-04-08 14:11 Maniacikarus Note Edited: 0001904 View Revisions
2010-04-08 14:12 Maniacikarus Note Edited: 0001904 View Revisions
2010-04-08 15:35 Intruder73 Note Added: 0001906
2010-04-08 16:16 Maniacikarus Note Added: 0001907
2010-04-08 17:26 Intruder73 Note Added: 0001908
2010-04-10 10:14 Maniacikarus Note Added: 0001909
2010-04-12 17:42 Intruder73 Note Added: 0001915
2010-04-12 19:02 Maniacikarus Note Added: 0001916
2010-04-12 19:09 Maniacikarus Note Added: 0001917
2010-04-13 10:46 Intruder73 Note Added: 0001918
2010-04-13 20:52 Maniacikarus Note Added: 0001919
2010-04-15 20:08 Maniacikarus Project IPFire 2.5 => IPFire 2.7
2010-04-15 20:08 Maniacikarus Category Stable/Final-Version => Addon
2010-04-15 20:08 Maniacikarus Fixed in Version => Core38
2010-04-15 20:08 Maniacikarus Target Version => Core38
2010-04-15 20:20 SCM Checkin
2010-04-15 20:20 SCM Note Added: 0001920
2010-04-15 20:20 SCM Resolution open => fixed
2010-04-15 20:20 SCM Status assigned => resolved
2010-04-15 20:21 Maniacikarus Category Addon => Git-Version
2010-07-31 10:57 SCM Checkin
2010-07-31 10:57 SCM Note Added: 0002212
2010-08-06 10:25 Maniacikarus Status resolved => closed


Copyright © 2000 - 2010 MantisBT Group
Powered by Mantis Bugtracker