%!*µ de problème de hosname

Le
Yves Lambert
J'ai mis un petit moment à me rendre compte que hostname -f me
renvoyait jar-ptitsa ce qui n'est pas tout à fait un FQDN. Comme ça me
causait quelques soucis j'ai résolu (provisoirement) le problème en
nettoyant /etc/hosts (le kärcher n'est pas vraiment recommandé pour les
vieilles pierres, aussi, j'espère que l'édifice ne risque pas de
s'écrouler). /etc/hostname contenait 'jar-ptitsa' mais y mettre
'jar-ptitsa n'a pas résolu le problème, j'ai compris plus tard pourquoi
après

8< /etc/hosts
127.0.0.1 jar-ptitsa.bidart.net localhost
127.0.1.1 jar-ptitsa.bidart.net
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

192.168.0.254 styx styx.local styx.bidart.net
-->8/etc/hosts
puis :
# hostname jar-ptitsa.bidart.net

Seulement je suis un peu chagrin, parce que le manuel de hostname
stipule :


8<-- man hostname
[]
Appelé avec un argument, le programme
définit la valeur du nom d'hôte à la valeur fournie. C'est généralement
fait une seule fois, au démarrage du système, par le script de
configuration /etc/rc.d/rc.inet1.
[]

or cette précision ne s'applique pas à ma configuration :
yjml@jar-ptitsa<20:32:09>:~$ stat /etc/rc.d
stat: impossible d'évaluer « /etc/rc.d »: Aucun fichier ou dossier de
ce type
yjml@jar-ptitsa<20:32:31>:~$ ls -l /etc/*rc*/*inet*
lrwxrwxrwx 1 root root 23 21 mars 02:01 /etc/rc0.d/K02openbsd-inetd
-> ../init.d/openbsd-inetd
lrwxrwxrwx 1 root root 23 21 mars 02:01 /etc/rc1.d/K02openbsd-inetd
-> ../init.d/openbsd-inetd
lrwxrwxrwx 1 root root 23 30 juil. 12:01 /etc/rc2.d/S03openbsd-inetd
-> ../init.d/openbsd-inetd
lrwxrwxrwx 1 root root 23 30 juil. 12:01 /etc/rc3.d/S03openbsd-inetd
-> ../init.d/openbsd-inetd
lrwxrwxrwx 1 root root 23 30 juil. 12:01 /etc/rc4.d/S03openbsd-inetd
-> ../init.d/openbsd-inetd
lrwxrwxrwx 1 root root 23 30 juil. 12:01 /etc/rc5.d/S03openbsd-inetd
-> ../init.d/openbsd-inetd
lrwxrwxrwx 1 root root 23 21 mars 02:01 /etc/rc6.d/K02openbsd-inetd
-> ../init.d/openbsd-inetd
yjml@jar-ptitsa<20:32:40>:~$ grep hostname /etc/init.d/openbsd-inetd
yjml@jar-ptitsa<20:32:50>:~$

me voila bien avancé.

À tout hasard :

grep hostname /etc/*rc*/*

m'a permis de trouver un script /etc/rcS.d/S09hostname.sh qui semble
faire le truc (mais n'appelle pas pour autant la commande "hostname"
avec un argument ni n'est présent dans le autres runlevels (S ne peut
pas être appelé autrement qu'explicitement, si ???)
/etc/init.d/hostname.sh définit HOSTNAME :
jar-ptitsa:/home/yjml# invoke-rc.d hostname.sh restart
Error: argument 'restart' not supported
invoke-rc.d: initscript hostname.sh, action "restart" failed.
jar-ptitsa:/home/yjml# invoke-rc.d hostname.sh start
jar-ptitsa:/home/yjml# echo $HOSTNAME
jar-ptitsa
jar-ptitsa:/home/yjml# exit
yjml@jar-ptitsa<20:56:53>:~$ su -l
Mot de passe :
jar-ptitsa:~# echo $HOSTNAME
jar-ptitsa.bidart.net

Voila donc quelques questions que les mystères de deban ne me permette
pas de résoudre
- Où la commande hostname enregistre-t-elle la valeur qu'elle renvoie
sans argument ?
- Qui l'invoque (je 'n'ai rien trouvé de probant, il faut dire que "grep
hostname /etc/*rc*/*" produit beaucoup de sortie et il y a
peut-être quelque chose qui m'a échappé.
- Qui écrit dans /etc/hostname ?? (il me semble qu'un script écrit une
et une seule fois dans ce fichier, à l'installation, mais peut-être
(probablement) me trompe-je, vu que la valeutr qui y était ne
correspondait pas à la valeur que j'avais mise ?
(man 5 hostname ne m'aide pas beaucoup non plus :
man 5 hostname
No manual entry for hostname in section 5
See 'man 7 undocumented' for help when manual pages are not available.)

--
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Nicolas George
Le #22429401
Yves Lambert wrote in message
- Où la commande hostname enregistre-t-elle la valeur qu'elle renvoie
sans argument ?



Dans les structures de données du noyau.

- Qui l'invoque



Quiconque le souhaite.

- Qui écrit dans /etc/hostname ??



Quiconque le souhaite.
Yves Lambert
Le #22432451
On 01 Aug 2010 20:13:44 GMT
Nicolas George

> - Où la commande hostname enregistre-t-elle la valeur qu'elle
> renvoie sans argument ?

Dans les structures de données du noyau.



Merci. Pas dans un fichier donc, à l'instar de /etc/mtab ou autres.

> - Qui l'invoque

Quiconque le souhaite.



La question mieux formulée eut été a minima «quel script» l'invoque
(avec un argument) :)


> - Qui écrit dans /etc/hostname ??

Quiconque le souhaite.



Réponse longue, certainement pas:
ls -l /etc/hostname
rw-r--r-- root root
Toujours est-il que «quelqu'un» a écrit dessus le nom d'hôte court au
lieu du fqdn qui aurait s'y trouver tel que je l'y avait mis.

Réponse courte, idem ci-dessus : ma question est «quel script» ou
surtout «comment le retrouver» si la réponse n'est pas triviale.

Bon, j'ai trouvé le "coupable" (de l'invocation de la commande hostname
+argument)
c'est /etc/init.d/hostname (j'aurais pu m'en douter et/ou mieux le lire
hier soir) et il le fait d'après /etc/hostname *si le fichier existe*
sinon, il devine le hostname autrement (par uname -n, y comprisen
invoquant hostname (...) et il n'écrit en aucun cas dedans.

Ça ne me dit pas quel script a bien pu modifier /etc/hostname :'(
Ce n'est pas /etc/init.d/hostname et aucun autre script dans init.d ne
contient la chaîne /etc/hostname :'(
man 5 hostname
No manual entry for hostname in section 5
Ceci dit, si le man existait, il ne me dirait pas forcément quel script
est susceptible de modifier le fichier (et quel script le lit (à
part /etc/init.d/hostname))

Reste :
- un script d'installation :/ (l'avantage c'est que je risque moins
d'être chocolat au prochain démarrage)
mais
$ grep "/etc/hostname" /var/lib/dpkg/*/*|cut -d: -f1|uniq # je sais, je
# devrais utiliser find
ne me renvoie rien.

Qu'est-ce que j'ai pu oublier ?

Je n'ai aucune raison de redémarrer si ce n'est pour vérifier si le
problème se reproduit ou pas, je préfère être sûr qu'il ne va pas se
reproduire. Le script «coupable» résulte probablement d'une mise à jour
entre mon antépénulptième redémarrage et mon dernier redémarrage.

--
Le travail d'équipe est essentiel. En cas d'erreur, ça permet d'accuser
quelqu'un autre.
Nicolas George
Le #22432711
Yves Lambert wrote in message
La question mieux formulée eut été a minima «quel script» l'invoque
(avec un argument) :)



Depuis le temps, tu sais probablement que les scripts d'initialisation
dépendent complètement de la distribution. Je n'ai pas souvenir que tu aies
précisé cette information pourtant indispensable.
Sergio
Le #22433101
Le 01/08/2010 21:42, Yves Lambert a écrit :
J'ai mis un petit moment à me rendre compte que hostname -f me
renvoyait jar-ptitsa ce qui n'est pas tout à fait un FQDN. Comme ça me
causait quelques soucis j'ai résolu (provisoirement) le problème en
nettoyant /etc/hosts (le kärcher n'est pas vraiment recommandé pour les
vieilles pierres, aussi, j'espère que l'édifice ne risque pas de
s'écrouler). /etc/hostname contenait 'jar-ptitsa' mais y mettre
'jar-ptitsa n'a pas résolu le problème, j'ai compris plus tard pourquoi
après...



$man hostname

[...]
The host name is usually set once at system startup in /etc/init.d/hostname.sh (normally by reading
the contents of a file which contains the host name, e.g. /etc/hostname).
[...]

Voilà...

--
Serge http://leserged.online.fr/
Mon blog: http://cahierdesergio.free.fr/
Soutenez le libre: http://www.framasoft.org
Yves Lambert
Le #22433601
On 02 Aug 2010 14:50:53 GMT
Nicolas George
Yves Lambert wrote in message
> La question mieux formulée eut été a minima «quel script» l'invoque
> (avec un argument) :)

Depuis le temps, tu sais probablement que les scripts d'initialisation
dépendent complètement de la distribution.



Tu as raison.

Je n'ai pas souvenir que tu aies
précisé cette information pourtant indispensable.



C'est un oubli coupable de ma part., en effet. C'est une debian, et
autre information importante, c'est tout au début de mon premier
message qu'un bout de phrase a du sauter :

j'ai écrit :

/etc/hostname contenait 'jar-ptitsa' mais y mettre
'jar-ptitsa n'a pas résolu le problème, j'ai compris
plus tard pourquoi après...





Il fallait lire :
/etc/hostname contenait 'jar-ptitsa' mais y *re*mettre
'jar-ptitsa*.bidart.net*' n'a pas résolu le problème, j'ai compris
plus tard pourquoi après...





J'ai dû louper aussi le cut&paste où j'écrivais que je ne comprenais pas
bien cette debianerie là.

Bref o:)

système :
- debian sid
et sans doute important aussi, vu que les scripts peuvent
être complètement différent (avec upstart, par exemple) avec la même
distro :
- utilitaire d'initialisation sysvinit
- schéma d'initialisation sysv-rc (version 2.88dfs11)
- utilitaires sysvinitutils (même version)
- version d'InitScripts (même version)


--
Il n'y a que les imbéciles qui ne changent pas d'avis, c'est ce que j'ai
toujours dit.
-+- Jacques Chirac, 1988 -+-
Yves Lambert
Le #22433581
On Mon, 02 Aug 2010 18:21:15 +0200
Sergio
Le 01/08/2010 21:42, Yves Lambert a écrit :
> J'ai mis un petit moment à me rendre compte que hostname -f me
> renvoyait jar-ptitsa ce qui n'est pas tout à fait un FQDN. Comme ça me
> causait quelques soucis j'ai résolu (provisoirement) le problème en
> nettoyant /etc/hosts (le kärcher n'est pas vraiment recommandé pour les
> vieilles pierres, aussi, j'espère que l'édifice ne risque pas de
> s'écrouler). /etc/hostname contenait 'jar-ptitsa' mais y mettre
> 'jar-ptitsa n'a pas résolu le problème, j'ai compris plus tard pourquoi
> après...

$man hostname

[...]
The host name is usually set once at system startup in /etc/init.d/hostname.sh (normally by reading
the contents of a file which contains the host name, e.g. /etc/hostname).
[...]

Voilà...



La question qui demeure est «quel script a bien pu
modifier /etc/hostname». Si tu avais lu le reste de mon message tu
aurais remarqué que j'ai exploré le man, de la commande (man 1|8
hostname, que j'ai cité ce paragraphe là, et cherché en vain celui du
fichier hostname (man 5 hostname) tu aurais remarqué aussi que ce
generally ne s'applique pas à ma config étant donné que je n'ai pas de
rc.d mais des rc[1|2|5|6|S].d.

--
Nous avons tous assez de force pour supporter les maux d'autrui.
-+- François de La Rochefoucauld (1613-1680), Maximes 19 -+-
Yves Lambert
Le #22434971
On Mon, 02 Aug 2010 22:39:54 +0200
xtof pernod


> Voila donc quelques questions que les mystères de debIan ne me permette



Me semblait bien que je l'avais écrit quelque part. deban ! et mon
correcteur orthografik qui ne me dit rien !!!


--
Une hésitation, quelle
qu'elle soit, est un signe de décrépitude mentale chez les jeunes et de
faiblesse physique chez les vieux. -+- Oscar Wilde -+-
Publicité
Poster une réponse
Anonyme