Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]8701[/thread]

Sys::Hostname

Leser: 1


<< >> 6 Einträge, 1 Seite
bloonix
 2007-01-31 12:53
#73866 #73866
User since
2005-12-17
1615 Artikel
HausmeisterIn
[Homepage]
user image
Hallo,

kennt jemand ein OS, auf dem CPAN:Sys::Hostname nicht den Hostnamen zurückliefert?
Gibt es hier Erfahrungen?

Gruss,
opi
What is a good module? That's hard to say.
What is good code? That's also hard to say.
One man's Thing of Beauty is another's man's Evil Hack.
GwenDragon
 2007-01-31 13:18
#73867 #73867
User since
2005-01-17
14555 Artikel
Admin1
[Homepage]
user image
[quote=opi,31.01.2007, 11:53]kennt jemand ein OS, auf dem CPAN:Sys::Hostname nicht den Hostnamen zurückliefert?
Gibt es hier Erfahrungen?[/quote]
Eigentlich sollte jedes System, auf dem eine Anbindung an ein Netzwerk eingebaut ist, den hostname liefern können und müssen.
Vielleicht irgendwelche Embedded Systems, die es je nach implementiertem OS teilweise nicht können.
die Drachin, Gwendolyn


Unterschiedliche Perl-Versionen auf Windows (fast wie perlbrew) • Meine Perl-Artikel

betterworld
 2007-01-31 18:42
#73868 #73868
User since
2003-08-21
2613 Artikel
ModeratorIn

user image
[quote=GwenDragon,31.01.2007, 12:18][quote=opi,31.01.2007, 11:53]kennt jemand ein OS, auf dem CPAN:Sys::Hostname nicht den Hostnamen zurückliefert?
Gibt es hier Erfahrungen?[/quote]
Eigentlich sollte jedes System, auf dem eine Anbindung an ein Netzwerk eingebaut ist, den hostname liefern können und müssen.[/quote]
Es können auch Systeme einen Hostnamen haben, die nicht an ein Netzwerk angeschlossen sind.  Und wenn ich an ein Netzwerk angeschlossen bin, dann muessen die anderen nichts von meinem Hostnamen wissen. Sie können auch ueber DNS/NIS/SMB/whatever irgend einen Namen mit mir assoziieren, der nicht mit meinem Hostnamen uebereinstimmt.  Das hat a priori eigentlich wenig miteinander zu tun.

Zu der Frage:  Ich bin gerade nicht ganz sicher, aber ich glaube, dass z. B. ein Linuxsystem nach dem Hochfahren erstmal gar keinen Hostnamen gesetzt hat, bis irgend ein Initscript ihn dann setzt.  Das kann man ja leicht ausprobieren (aber ich will gerade nicht neu booten).\n\n

<!--EDIT|betterworld|1170262155-->
ptk
 2007-02-01 02:02
#73869 #73869
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Aus der FreeBSD-Manpage zu hostname:
Code: (dl )
1
2
3
4
5
6
7
SYNOPSIS
hostname [-s] [name-of-host]
...
The super-user
can set the hostname by supplying an argument; this is usually done in
the network initialization script /etc/rc.d/hostname, normally run at
boot time.

Hier kann man also jederzeit den Hostnamen ändern.
Dubu
 2007-02-02 22:04
#73870 #73870
User since
2003-08-04
2145 Artikel
ModeratorIn + EditorIn

user image
Wie betterworld schon bemerkte, hat der Hostname recht wenig damit zu tun, welche Namen für einen Rechner im DNS eingetragen sind. Für einen Webserver ist es ja durchaus üblich mehrere Namen im DNS zu haben (für Virtual Hosts), ebenso für einen Router oder andere Rechner mit verschiedenen Netzwerk-Interfaces (eine häufige Konstellation bei uns). Keiner der Namen im DNS muss dabei mit dem Hostnamen übereinstimmen.

Zur Frage nach den Systemen: Der Code von Sys::Hostname für Perl 5.8.8 unterscheidet nur VMS, MSWin32 und epoc; alles übrige wird wie ein UNIX behandelt. Schief gehen wird das bestimmt bei einem alten DOS] (wohl auch mit Windows 3.1]), welches ohnehin keinen Hostnamen kannte, wenn ich mich recht erinnere. Probleme sehe ich auch bei MacOS < 10 und den diversen weniger verbreiteten Systemen (AmigaOS, QNX, ältere Mainframe-Systeme etc.).
bloonix
 2007-02-03 15:23
#73871 #73871
User since
2005-12-17
1615 Artikel
HausmeisterIn
[Homepage]
user image
Danke für die Info Dubu. Es ist nicht so arg schlimm, wenn ein Hostname
auf manchen Systemen nicht geliefert werden kann. Das einzige, was mich
ein wenig stört ist ...

Quote
Attempts several methods of getting the system hostname and then caches the result. It tries the first available of the C library's gethostname(), `$Config{aphostname}`, uname(2), syscall(SYS_gethostname), `hostname`, `uname -n`, and the file /com/host. If all that fails it croaks.


Es wäre das gleiche, als wenn File::Find croaken würde, weil ein File nicht
gefunden wird. Gut, aber das ist eine andere Sache und einen
Workaround gibt es ja mit eval().

Merci!
What is a good module? That's hard to say.
What is good code? That's also hard to say.
One man's Thing of Beauty is another's man's Evil Hack.
<< >> 6 Einträge, 1 Seite



View all threads created 2007-01-31 12:53.