Re: Problem mit hwclock und /dev/rtc
Hallo Jörg,
vielen Dank für Deine weihnachtliche Antwort. Ich schick mal ein paar Ausgaben
und Notizen am Ende:
Am Freitag 26 Dezember 2008 18:11:47 schrieb Jörg Sommer:
> Hallo Manfred,
>
> Manfred Rebentisch <debianlist@comparat.de> wrote:
> > Hallo
> > ich habe auf einem Server folgendes Problem. Die Uhrzeit ging um mehrere
> > Stunden verkehrt, da offensichtlich die automatische Korrektur via NTP
> > nicht funktionierte. Ich habe dann mit date das Datum gesetzt und wollte
> > das nun ins BIOS schreiben:
> >
> > # hwclock --utc --systohc
> > select() auf /dev/rtc, um auf Zeittick zu warten, Zeit abgelaufen.
> > # hwclock --show
> > select() auf /dev/rtc, um auf Zeittick zu warten, Zeit abgelaufen.
> >
> > Hier liegt ein Problem vor, das ich noch nie hatte. Kann mir jemand einen
> > Tip geben?
>
> Existiert /dev/rtc? Kannst Du hwclock mit strace mal unter die Haube
> schauen, was der macht?
>
# vi /etc/adjtime
# mv /etc/adjtime /root/adjtime.sik
# hwclock --utc --systohc
select() auf /dev/rtc, um auf Zeittick zu warten, Zeit abgelaufen.
# ls -l /dev/rtc
crw------- 1 root root 10, 135 2006-09-20 19:14 /dev/rtc
# cat /dev/rtc
^C [Abbruch]
#
# strace hwclock --utc --systohc
execve("/sbin/hwclock", ["hwclock", "--utc", "--systohc"], [/* 58 vars */]) =
0
brk(0) = 0x8050000
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0xb7fa7000
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or
directory)
open("/etc/ld.so.cache", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=41364, ...}) = 0
mmap2(NULL, 41364, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7f9c000
close(3) = 0
open("/lib/libc.so.6", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\300Y\1"..., 512) =
512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1408371, ...}) = 0
mmap2(NULL, 1181084, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) =
0xb7e7b000
madvise(0xb7e7b000, 1181084, MADV_SEQUENTIAL|0x1) = 0
mmap2(0xb7f95000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|
MAP_DENYWRITE, 3, 0x119) = 0xb7f95000
mmap2(0xb7f99000, 9628, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|
MAP_ANONYMOUS, -1, 0) = 0xb7f99000
close(3) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0xb7e7a000
set_thread_area({entry_number:-1 -> 6, base_addr:0xb7e7a6b0, limit:1048575,
seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1,
seg_not_present:0, useable:1}) = 0
mprotect(0xb7f95000, 8192, PROT_READ) = 0
munmap(0xb7f9c000, 41364) = 0
gettimeofday({1230323911, 220526}, NULL) = 0
brk(0) = 0x8050000
brk(0x8071000) = 0x8071000
open("/usr/lib/locale/locale-archive", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No
such file or directory)
open("/usr/share/locale/locale.alias", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=2528, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0xb7fa6000
read(3, "# Locale name alias data base.\n#"..., 4096) = 2528
read(3, "", 4096) = 0
close(3) = 0
munmap(0xb7fa6000, 4096) = 0
open("/usr/lib/locale/de_DE.UTF-8/LC_IDENTIFICATION", O_RDONLY) = -1 ENOENT
(No such file or directory)
open("/usr/lib/locale/de_DE.utf8/LC_IDENTIFICATION", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=375, ...}) = 0
mmap2(NULL, 375, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7fa6000
close(3) = 0
open("/usr/lib/gconv/gconv-modules.cache", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=25404, ...}) = 0
mmap2(NULL, 25404, PROT_READ, MAP_SHARED, 3, 0) = 0xb7f9f000
close(3) = 0
open("/usr/lib/locale/de_DE.UTF-8/LC_MEASUREMENT", O_RDONLY) = -1 ENOENT (No
such file or directory)
open("/usr/lib/locale/de_DE.utf8/LC_MEASUREMENT", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=23, ...}) = 0
mmap2(NULL, 23, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7f9e000
close(3) = 0
open("/usr/lib/locale/de_DE.UTF-8/LC_TELEPHONE", O_RDONLY) = -1 ENOENT (No
such file or directory)
open("/usr/lib/locale/de_DE.utf8/LC_TELEPHONE", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=56, ...}) = 0
mmap2(NULL, 56, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7f9d000
close(3) = 0
open("/usr/lib/locale/de_DE.UTF-8/LC_ADDRESS", O_RDONLY) = -1 ENOENT (No such
file or directory)
open("/usr/lib/locale/de_DE.utf8/LC_ADDRESS", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=159, ...}) = 0
mmap2(NULL, 159, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7f9c000
close(3) = 0
open("/usr/lib/locale/de_DE.UTF-8/LC_NAME", O_RDONLY) = -1 ENOENT (No such
file or directory)
open("/usr/lib/locale/de_DE.utf8/LC_NAME", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=83, ...}) = 0
mmap2(NULL, 83, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7e79000
close(3) = 0
open("/usr/lib/locale/de_DE.UTF-8/LC_PAPER", O_RDONLY) = -1 ENOENT (No such
file or directory)
open("/usr/lib/locale/de_DE.utf8/LC_PAPER", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=34, ...}) = 0
mmap2(NULL, 34, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7e78000
close(3) = 0
open("/usr/lib/locale/de_DE.UTF-8/LC_MESSAGES", O_RDONLY) = -1 ENOENT (No such
file or directory)
open("/usr/lib/locale/de_DE.utf8/LC_MESSAGES", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
close(3) = 0
open("/usr/lib/locale/de_DE.utf8/LC_MESSAGES/SYS_LC_MESSAGES", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=54, ...}) = 0
mmap2(NULL, 54, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7e77000
close(3) = 0
open("/usr/lib/locale/de_DE.UTF-8/LC_MONETARY", O_RDONLY) = -1 ENOENT (No such
file or directory)
open("/usr/lib/locale/de_DE.utf8/LC_MONETARY", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=294, ...}) = 0
mmap2(NULL, 294, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7e76000
close(3) = 0
open("/usr/lib/locale/de_DE.UTF-8/LC_COLLATE", O_RDONLY) = -1 ENOENT (No such
file or directory)
open("/usr/lib/locale/de_DE.utf8/LC_COLLATE", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=880086, ...}) = 0
mmap2(NULL, 880086, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7d9f000
close(3) = 0
open("/usr/lib/locale/de_DE.UTF-8/LC_TIME", O_RDONLY) = -1 ENOENT (No such
file or directory)
open("/usr/lib/locale/de_DE.utf8/LC_TIME", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=2343, ...}) = 0
mmap2(NULL, 2343, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7d9e000
close(3) = 0
open("/usr/lib/locale/de_DE.UTF-8/LC_NUMERIC", O_RDONLY) = -1 ENOENT (No such
file or directory)
open("/usr/lib/locale/de_DE.utf8/LC_NUMERIC", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=54, ...}) = 0
mmap2(NULL, 54, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7d9d000
close(3) = 0
open("/usr/lib/locale/de_DE.UTF-8/LC_CTYPE", O_RDONLY) = -1 ENOENT (No such
file or directory)
open("/usr/lib/locale/de_DE.utf8/LC_CTYPE", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=238624, ...}) = 0
mmap2(NULL, 238624, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7d62000
close(3) = 0
geteuid32() = 0
open("/dev/rtc", O_RDONLY|O_LARGEFILE) = 3
close(3) = 0
stat64("/etc/adjtime", 0xbfc984e4) = -1 ENOENT (No such file or
directory)
open("/dev/rtc", O_RDONLY|O_LARGEFILE) = 3
ioctl(3, RTC_UIE_ON, 0) = 0
select(4, [3], NULL, NULL, {5, 0}
) = 0 (Timeout)
open("/usr/share/locale-langpack/de_DE.UTF-8/LC_MESSAGES/util-linux.mo",
O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/de_DE.UTF-8/LC_MESSAGES/util-linux.mo", O_RDONLY) = -1
ENOENT (No such file or directory)
open("/usr/share/locale-langpack/de_DE.utf8/LC_MESSAGES/util-linux.mo",
O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/de_DE.utf8/LC_MESSAGES/util-linux.mo", O_RDONLY) = -1
ENOENT (No such file or directory)
open("/usr/share/locale-langpack/de_DE/LC_MESSAGES/util-linux.mo", O_RDONLY)
= -1 ENOENT (No such file or directory)
open("/usr/share/locale/de_DE/LC_MESSAGES/util-linux.mo", O_RDONLY) = -1
ENOENT (No such file or directory)
open("/usr/share/locale-langpack/de.UTF-8/LC_MESSAGES/util-linux.mo",
O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/de.UTF-8/LC_MESSAGES/util-linux.mo", O_RDONLY) = -1
ENOENT (No such file or directory)
open("/usr/share/locale-langpack/de.utf8/LC_MESSAGES/util-linux.mo", O_RDONLY)
= -1 ENOENT (No such file or directory)
open("/usr/share/locale/de.utf8/LC_MESSAGES/util-linux.mo", O_RDONLY) = -1
ENOENT (No such file or directory)
open("/usr/share/locale-langpack/de/LC_MESSAGES/util-linux.mo", O_RDONLY) = -1
ENOENT (No such file or directory)
open("/usr/share/locale/de/LC_MESSAGES/util-linux.mo", O_RDONLY) = 4
fstat64(4, {st_mode=S_IFREG|0644, st_size=181398, ...}) = 0
mmap2(NULL, 181398, PROT_READ, MAP_PRIVATE, 4, 0) = 0xb7d35000
close(4) = 0
write(2, "select() auf /dev/rtc, um auf Ze"..., 67select() auf /dev/rtc, um
auf Zeittick zu warten, Zeit abgelaufen.
) = 67
ioctl(3, RTC_UIE_OFF, 0) = 0
close(3) = 0
exit_group(1) = ?
Process 12489 detached
# ls -l /usr/lib/locale/de_DE.utf8/
insgesamt 1144
-rw-r--r-- 1 root root 159 2006-06-16 14:44 LC_ADDRESS
-rw-r--r-- 103 root root 880086 2006-06-16 14:42 LC_COLLATE
-rw-r--r-- 5 root root 238624 2006-06-16 14:43 LC_CTYPE
-rw-r--r-- 1 root root 375 2006-06-16 14:44 LC_IDENTIFICATION
-rw-r--r-- 211 root root 23 2006-06-16 14:42 LC_MEASUREMENT
drwxr-xr-x 2 root root 4096 2006-10-10 09:24 LC_MESSAGES
-rw-r--r-- 5 root root 294 2006-06-16 14:44 LC_MONETARY
-rw-r--r-- 1 root root 83 2006-06-16 14:44 LC_NAME
-rw-r--r-- 32 root root 54 2006-06-16 14:43 LC_NUMERIC
-rw-r--r-- 209 root root 34 2006-06-16 14:42 LC_PAPER
-rw-r--r-- 2 root root 56 2006-06-16 14:44 LC_TELEPHONE
-rw-r--r-- 1 root root 2343 2006-06-16 14:44 LC_TIME
# ls -l /usr/lib/locale/de_DE.utf8/LC_MESSAGES/
insgesamt 4
Das LC_MESSAGES Verzeichnis ist also leer. Interessant. Scheint aber normal zu
sein.
Bei der strace-Ausgabe, Zeilen:
open("/dev/rtc", O_RDONLY|O_LARGEFILE) = 3
ioctl(3, RTC_UIE_ON, 0) = 0
select(4, [3], NULL, NULL, {5, 0}
) = 0 (Timeout)
gibt es nach dem "select(4" einen timeout. Genauso wie bei einem
einfachen "cat /dev/rtc".
Da weiß ich immer noch nicht weiter.
Viele Grüße
Manfred
Reply to: