Seite 1 von 2
inetd timeserver auf dbox?
Verfasst: Mo 26 Apr 2004, 15:37
von blackman
Da ich meinen Streamingserver unter Linux laufen habe (udrec0.12 mit mono0.31) , würde ich gerne die Zeit von diesem mit der dbox abgleichen (z.B. via rdate). Dazu müsste - nach meinem Verständnis - doch nur der inetd-interne timeserver laufen, oder? Wäre eine Aktivierung möglich, oder würde das zuviel Ressourcen kosten, bzw. gibt es andere Gründe die dagegen sprechen?
Um eine Frage vorab zu klären - Nein, ich habe keinen permanenten Internet-Zugang und ich möchte nicht jedesmal per Modem eine Verbindung aufbauen, um über ntp die Zeit zu synchronisieren.
PS:Ich hoffe, dass ist das richtige Forum für diese Frage.
Verfasst: Mo 26 Apr 2004, 16:15
von Kaligula
Hallo,
so ganz einfach ist das nicht. Ich bin aber nicht 100%ig über die dbox2 auf dem laufenden.
Theoretisch benötigs Du eine Timeserverimplementierung auf der dbox2. Der inetd selber hat sowas nicht. Der inetd reicht nur ports an andere tools weiter (z.B. telnet, ftp, ntp usw).
Also stellt sich die Frage, gibt es einen Timeserver für die dbox2?
Ich hab den noch nicht gesehen. Wäre aber auch dran interessiert, da mein Windowsrechner leider auch nach dem Mond geht

Verfasst: Di 27 Apr 2004, 9:28
von blackman
Hi!
Also nach meinen bisherigen Kenntnissen beherrscht der inetd von sich aus diesen kleinen timeserver (nicht ntp) und der wird auch nicht als externes prgramm, wie telnet oder ftp gestart sondern als "internal"
hab mal ne beispiel inetd.conf von debian angehängt
Code: Alles auswählen
# /etc/inetd.conf: see inetd(8) for further informations.
#
# Internet server configuration database
#
#
# Lines starting with "#:LABEL:" or "#<off>#" should not
# be changed unless you know what you are doing!
#
# If you want to disable an entry so it isn't touched during
# package updates just comment it out with a single '#' character.
#
# Packages should modify this file by using update-inetd(8)
#
# <service_name> <sock_type> <proto> <flags> <user> <server_path> <args>
#
#:INTERNAL: Internal services
#echo stream tcp nowait root internal
#echo dgram udp wait root internal
#chargen stream tcp nowait root internal
#chargen dgram udp wait root internal
discard stream tcp nowait root internal
discard dgram udp wait root internal
daytime stream tcp nowait root internal
#daytime dgram udp wait root internal
time stream tcp nowait root internal
#time dgram udp wait root internal
#:STANDARD: These are standard services.
ftp stream tcp nowait root /usr/sbin/tcpd /usr/sbin/proftpd
#:BSD: Shell, login, exec and talk are BSD protocols.
#:INFO: Info services
ident stream tcp wait identd /usr/sbin/identd identd
#:BOOT: Tftp service is provided primarily for booting. Most sites
# run this only on machines acting as "boot servers."
#:RPC: RPC based services
#:HAM-RADIO: amateur-radio services
#:OTHER: Other services
#<off># biff dgram udp wait root.tty /usr/sbin/in.comsat comsat
ich weiß nur leider nicht, ob auf der dbox ne spezielle version des inetd ist - im tuxbox CVS bin ich leider auch nicht fündig geworden...
Also falls jemand weiß, ober dbox inetd das kann wäre ich dankbar.
Verfasst: Di 27 Apr 2004, 11:50
von Kaligula
Nochmal hi,
jetzt sehe ich das auch. Ich habe spasseshalber mal bei HP-UX nachgeschaut, da ist das auch internal. Sieht also so aus, als ob das Standardisiert wäre.
Ich kümmere mich da heute abend mal drum.
image bearbeiten
Verfasst: Mi 28 Apr 2004, 16:42
von blackman
Wäre es erlaubt, das image zu mounten, die Dateien rauszukopieren und die inetd um 2 zeilen zu erweitern, um den timeservice zu starten oder widerspricht das den Forum Regeln?
Wenn nicht könnte man ja mittels mkcramfs wieder ein image erstellen und schauen, obs läuft.
Verfasst: Do 29 Apr 2004, 13:41
von Kaligula
Willst Du das hier im Forum starten ?
Bei Dir zu hause darfst Du alles machen. Nur darfst Du dann nicht weinen wenn nichts mehr geht.
Okay, ich hatte leider nicht die Zeit mir das anzugucken. Aber ich hätte genau das gemacht. Einfach das Image in eine YADD reingehauen, Modules und Kernel ersetzen und dann eben Netzboot.
Wenn das dann geht, kann man immernoch den Timeserver mkcramfs ins Image einbauen.
Ich bin jedenfalls sehr gespannt, was bei dem Test rauskommt.
Test
Verfasst: Do 29 Apr 2004, 14:30
von blackman
Hi!
Ich hab mit YADD noch nix gemacht, sondern immer dbox direkt geflasht oder neues cramfs per ftp hochgeladen. Ich sollte in dem Fall wohl eher die box nicht antasten, dass ich - wenn nötig - wieder mein altes System booten kann.
Aber wieso sollte ich Kernel und Module tauschen? Und gegen was? Ich will ja nur schauen, ob der inetd der box den timeserver mitdrinhat. Am liebsten wärs mir natürlich, wenn ichs so irgendwo erfahren könnte.
Ansonsten probier ichs mal am Wochenende (eher komme ich nicht dazu) und poste dann mal meine Erfahrung...
keine YADD für jtg
Verfasst: Mo 03 Mai 2004, 10:54
von blackman
Hab mal mit ner YADD daheim probiert, aber noch ne kernel panic beim mounten vom root fs

. Aber des werd ich noch hinkriegen, denk ich. Allerdings ist des keine YADD vom jtg-image. Ne kleine Recherche im Forum ergab, dass es da wohl auch keine gibt. Werd also weiter mit dem Ding rumbasteln, dass ich hab und schauen, ob des mit dem inetd timeserver klappt und dann mit nem jtg image flashen, dass dann den Eintrag in der inetd.conf haben wird.
Hast du schon was mit ner YADD gemacht? Wenn ja, welche verwendest du?
Meine ist von:
https://www.remote-admin.info/yadd/?M=D (die vom 16. März)
Ne andere Lösung wäre (falls du regular expressions magst) das Auslesen der zeit über das telnet login - wäre allerdings nicht sehr komfortabel und je nach Verzögerung stimmt das dann auch nicht mehr...
Verfasst: Mo 03 Mai 2004, 19:03
von jmittelst
Kannst Du Dir das nicht eigentlich auch sparen? Mit aktuellem Image kannst Du doch direkt auf ein NFS-Share schreiben, direkt von der Box aus, als TS, ideal für den Movieplayer.
cu
Jens
Verfasst: Di 04 Mai 2004, 8:46
von blackman
Hi!
Ich bin nicht sicher, ob wir uns richtig verstehen, ich will eigentlich die dbox nutzen, um meine Systemzeit am Rechner richtig einzustellen. Die geht mittlerweile zwar ziemlich richtig, aber wenn ich die aktuelle Zeit beim Hochfahren von der dbox bekäme, bräuchte ich mir keine Sorgen mehr um eine falsch gehende Uhr zu machen.
Wenn ich dich richtig verstehe, gehts dir wohl eher ums Streaming, oder? Dafür hab ich bei mir n paar Scripte laufen:
Wake-On-Lan
Aufnahme (mono0.31 mit udrec0.12c)
wenn innerhalb einer definierten Zeit (10 min) keine neue Aufnahme beginnt: shutdown
Der Rechner läuft dann also nur zur Aufnahme.
Aber das gehört wohl in einen anderen Thread.
dboxzeit
Verfasst: Di 04 Mai 2004, 11:54
von zoker4711
@blackman
Hast Du dir mal das dboxzeit-Utility angesehen (hier im Bereich Tools)? Vielleicht findest Du dort ein paar Anregungen...

dboxtime 4 linux
Verfasst: Di 04 Mai 2004, 13:01
von blackman
@zoker4711
Vielen Dank!
So nah hatte ich keine Lösung vermutet. Werds ausprobieren, wenn ich zu Hause bin. Ein vergleichbares Skript liese sich ja auch für Linux realisieren. Dieses könnte dann über die init-Scripten oder cron automatisch ausgeführt werden. Wget ist sowieso Standard.
Und den inetd bräuchte ich dann nicht zu bemühen.
dboxtime 4 linux v0.1.1
Verfasst: Mi 05 Mai 2004, 9:43
von blackman
So, hier mal meine erste Version um die Zeit ziwschen einem Linux PC und dbox abzugleichen.
Benötigt werden außer einer Verbindung zwischen dbox und PC:
Perl, wget und natürlich das "date"-Kommando, was aber bei den meisten Ditributionen Standard sein sollte, oder zumindest leicht als Paket nachinstallierbar ist - oder ihr zieht euch die Sourcen und kompilierts selber
Features so far:
Zeit und Datum von dbox holen
Test mode: Laufzeit berechnen und Datum/Zeit ausgeben
Set mode: Systemzeit setzen (und optional - bei Erfolg - CMOS Zeit auf Systemzeit setzen)
Die vorliegende Version hat noch keine Korrekturmöglichkeiten (Zeitzone, Verzögerung beim Aktualisieren, etc) aber etwas mehr Fehlerbehandlung als v0.1. Dafür ist der Code recht kurz - und hoffentlich übersichtlich. Die Laufzeit betrug bei mir unter 1 sec, weshalb ich das Script nicht unnötig mit Korrekturfaktorberechnung ausstatten wollte. Das Programm gibt mit der Option "--test" am Schluss die benötigte Zeit für die Bearbeitung der wesentlichen Komponeneten (Zeit auslesen und am PC setzten) aus, wobei das Setzen der Zeit dann nur durch eine Ausgabe von "date" simuliert wird.
In der kommenden Version werde ich Korrekturfaktoren miteinbauen und eine bessere Fehlerbehandlung.
Aufrufen des Programms ohne Parameter gibt eine kleine Hilfe - oder ihr schaut euch gleich den Code an

Für Anregungen und Bug-Reports bin ich euch dankbar.
Verfasst: Mi 05 Mai 2004, 10:55
von Riker
hm, hast du mal probiert ob inetd das auch bereitstellt, denn inetd ist ja kein binary in der box, sondern das macht alles Busybox.
wenn es geht könnt ich das in der config default auf ein schalten.
busybox inetd mit timeserver
Verfasst: Mi 05 Mai 2004, 11:44
von blackman
@ Riker
Hi!
Hab grad mal die busybox Quellen durchwühlt und seit Version 1.0-pre1 kann der busybox inetd auch die services time und daytime.
Würde ja imho reichen wenn man die über udp oder tcp in der inetd.conf aktiviert - beides muss ja nicht sein.
Dann könnte man seine Systemzeit einfach per rdate holen und sich mein Script sparen. Wäre natürlich dann ein zusätliches "Goodie".
Bis dahin verlasse ich mich aber erstmal auf mein Script.
Hatte ja auch schon mal verucht, mir das image aus dem CVS zu bauen, aber nach zig Problemen bei make erstmal aufgehört und verschoben, bis ich mal Zeit hab... Aber wenn dus beim nächsten snapshot miteinfließen lässt werd ich ihn sofort probieren.
