PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : tftpd startet nicht (libc.cat?)



gast774
31.08.05, 10:00
hi,

ich arbeite an einem linux 2.0.35 mit suse 5.8 (fragt nicht warum)

auf der kiste laeuft ein (inzwischen endlich) funktionierender bootp
ein Client versucht sich durch diesen zu konfigurieren.
Das klappt zumindest auch soweit wunderbar - glaube ich ( ;) )

bootptab:


COXAGP0165:hn:vm=rfc1048:ht=ether::ha=0002b326bf37 :sm=255.255.255.128:ip=172.27.42.165:gw=172.31.131 .1:
bf=/tftpboot/image.boot:rp=/home/update/OMAmodule/dist2.0:



bootp schmeisst im -d 8 modus folgendes raus:


Aug 31 08:38:13 COX02ZSH134T bootpd[843]: recvd pkt from IP addr 0.0.0.0
Aug 31 08:38:13 COX02ZSH134T bootpd[843]: bootptab mtime: Wed Aug 31 08:37:57 2005
Aug 31 08:38:13 COX02ZSH134T bootpd[843]: request from Ethernet address 00:02:B3:26:BF:37
Aug 31 08:38:13 COX02ZSH134T bootpd[843]: found 172.27.42.165 (COXAGP0165)
Aug 31 08:38:13 COX02ZSH134T bootpd[843]: bootfile="/tftpboot/image.boot"
Aug 31 08:38:13 COX02ZSH134T bootpd[843]: vendor magic field is 99.130.83.99
Aug 31 08:38:13 COX02ZSH134T bootpd[843]: sending reply (with RFC1048 options)
Aug 31 08:38:13 COX02ZSH134T bootpd[843]: setarp 172.27.42.165 - 00:02:B3:26:BF:37
Aug 31 08:38:13 COX02ZSH134T bootpd[843]: SIOCSADDR: pa (2,0x081bac0000) ha (1,0x26b30200)


tftpd und bootpd werden über inetd aufgerufen:


tftp dgram udp wait nobody /usr/sbin/in.tftpd /tftpboot
bootps dgram udp wait root /usr/sbin/bootpd bootpd -d 8 -c /tftpboot


tftpd wirft folgendes nach /var/log/syslog (debug mode oder sowas scheint das ja nicht zu haben? zumindest find ich im man nix)


Aug 31 08:38:48 COX02ZSH134T tftpd[958]: recvfrom: Socket operation on non-socket


mir kam irgendwann dann der verdacht das tftp vielleicht gar nicht startet,
deshalb wollte ich ihn direkt aufrufen was aber auch nicht geht - beim einem strace von: strace /usr/sbin/in.tftpd /tftpboot 2> /tmp/foo
und folgendem grep: grep -ie -1 /tmp/foo
bekomme ich folgendes:


mmap(0, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40007000
stat("/etc/ld.so.preload", 0xbffff858) = -1 ENOENT (No such file or directory)
mmap(0, 770048, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4000b000
mmap(0x40095000, 204176, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x40095
000
recvfrom(0, 0x804af60, 516, 0, 0x804b368, 0x804b378) = -1 ENOTSOCK (Socket operation on non-socket)
stat("/usr/share/locale/C/libc.cat", 0xbfffe998) = -1 ENOENT (No such file or directory)
stat("/usr/local/share/locale/C/libc.cat", 0xbfffe998) = -1 ENOENT (No such file or directory)


ich kann bei bedarf auch den ganzen strace output auf eine nopaste seite posten oder hier..

atftpd ist auf der kiste auch installiert aber laeuft nicht weil es glibc2.2 benoetigt.

netzwerk analyse oder auch system analyse software ist leider nicht installiert und aufgrund des nicht vorhandenseins einer internet verbindung und von suse cds gestaltet sich software einspielen eher kompliziert ;)

gcc 2.7.2.1 ist installiert

was mich beschaeftigt was ist diese libc.cat hab jetzt langes googlen hinter mir und so wirklich schlauer bin ich ja nicht geworden...

mfg
Julian

gast774
01.09.05, 08:32
mmap(0, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40007000
stat("/etc/ld.so.preload", 0xbffff858) = -1 ENOENT (No such file or directory)
mmap(0, 770048, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4000b000
mmap(0x40095000, 204176, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x40095
000
recvfrom(0, 0x804af60, 516, 0, 0x804b368, 0x804b378) = -1 ENOTSOCK (Socket operation on non-socket)

scheinbar lag es nicht an der libc.cat

darauf hat sich jetzt der strace output reduziert, nachdem ich eine libc.cat draufbekommen habe (gott sei dank gibts auf der kiste einen ftp server - jetzt kann ich ueber meinen client hier aus dem inet dinge auf den server aufspielen)

hey leute wenn irgendwer auch nur irgendeine idee hat waere ich echt dankbar dafuer (oder nur einen tipp wo ich noch irgendwelche infos rausholen koennte - irgendwas)

PS.
scheinbar wird tftpd nichteinmal versucht zu starten -
tftpd liegt als in.tftpd in /usr/sbin/
ich habe in.tftpd zu in.test umbenannt und anstatt dessen ein ausfuehrbares
perl script mit namen in.tftpd erstellt dsa nix anderes macht als in ein logfile die uhrzeit schreiben wann es ausgefuehrt wurde. nun im logfile steht aber nix - dachte erst ich haette es irgendwie verbockt aber wenn ich es per hand starte klappts auch wunderbar.... vielleicht hat dazu jemand ne idee warum tftpd nicht aufgerufen wird von inetd (scheinbar kommt also keine verbindung vom client auf udp/69 - aber dann muss meine bootptab falsch sein und ich wuesste nicht was daran falsch ist)

verzweifelt
Julian