Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 12/08/2013, à 16:43

bobdocland

Script shell changer de nom de machine

Bonjour à tous,

J'ai crée un liveCD personnalisé qui va me permettre d'utiliser ubuntu sur des machines lorsque leurs utilisateurs n'en n'ont pas besoin, le but est d'utilisé les ressources de ces machines via le réseau.
J'aurais besoin de crée une image ISO "gravable" et utilisable (via liveCD) sur plusieurs machines différentes seulement il faudra que chaque machine ait un nom différent, incrémenté ou autre, mais unique pour pouvoir être différenciée sur le réseau.
Je pensais récupérer l'adresse IP (alloué automatiquement par un serveur) et l'ajouter dans le nom de la machine. Ce qui serait parfait pour les identifier.
Ainsi mon liveCD donnera à la machine le nom de base par exemple: "machine_test" et le script ajoutera l'adresse ou une partie de l'adresse à la suite de ce nom. (ex: "machine_test_192.168.1.15")

Il faudrait donc que mon script modifie les fichiers /etc/hostname et /etc/hosts je crois que c'est tout.

Pour l'instant j'ai juste la commande pour récupérer l'adresse IP ou la plutôt la partie qui m'intéresse

ifconfig eth0 | grep "inet ad" | cut -f2 -d: | cut -f3-4 -d. | tr '.' '_' | cut -f1 -d" "

J'arrive a récupéré ce que je veux (2 derniers octets de l'@IP) et je pensais simplement utiliser :

ma_commande >> /etc/hostname

Pour ajouter mon adresse IP, cela ajoute bien ce que j'ai récupéré mais ça le met à la ligne et tout bêtement je vois pas comment l'ajouter directement à la suite du hostname déjà présent en faisant une commande simple.

Il faudra aussi que je modifie le fichier /etc/hosts et donc que je détecte et remplace l'hostname précédent pour le remplacer par le nouveau (avec adresse IP incluse) si vous avez aussi des idées ou conseils à ce niveau là je suis preneur.

Désolé ce sont vraiment des questions simple je pense mais je suis vraiment mauvais en shell etc... :s

Petit précision j'utilise une vm pour ensuite crée l'image ISO personnalisé (via remastersys) et certaines chose n'ont pas l'air de fonctionné comme : hostname -i qui me renvoi l'adresse de boucle locale 127.0.0.1.

Merci et bonne journée

--
BoB

Hors ligne

#2 Le 12/08/2013, à 17:08

Shanx

Re : Script shell changer de nom de machine

Salut.

Si myip est la variable contenant les deux derniers octets, tu peux faire comme ça :

read -r hname</etc/hostname
echo $hanme$myip > /etc/hostname

Dernière modification par Shanx (Le 12/08/2013, à 17:10)


Mes randos : grande traversées des Alpes, de l'Islande, de la Corse, du Japon (en vélo), etc.
Traversée des États-Unis à pied

Hors ligne

#3 Le 13/08/2013, à 09:00

bobdocland

Re : Script shell changer de nom de machine

Salut,

Merci beaucoup c'est parfait.
Juste au cas ou cela puisse servir à quelqu'un un jour ^^ j'ai fait ça:
(pour affecter la valeur dans la variable)

myip=`ifconfig eth0 | grep "inet ad" | cut -f2 -d: | cut -f3-4 -d. | tr '.' '_' | cut -f1 -d" "`

Puis ce que m'a proposé Shanx:

read -r hname < /etc/hostname
echo $hanme-$myip > /etc/hostname

Résultat :

hostname
ma_machine-mon_ip

Merci je vais voir comment modifier le fichier hosts maintenant ce qui va être un peu plus "embêtant" je pense.

Ciao.

--
BoB

Hors ligne

#4 Le 13/08/2013, à 09:50

Shanx

Re : Script shell changer de nom de machine

bobdocland a écrit :

Merci je vais voir comment modifier le fichier hosts maintenant ce qui va être un peu plus "embêtant" je pense.

Tout dépend. Tu veux mettre quoi dans /etc/hosts ? Si tu veux simplement mettre l’ordinateur local, c’est tout aussi facile. Si tu veux mettre tous les ordis du réseau, ça va être un peu plus délicat.


Mes randos : grande traversées des Alpes, de l'Islande, de la Corse, du Japon (en vélo), etc.
Traversée des États-Unis à pied

Hors ligne

#5 Le 13/08/2013, à 15:35

bobdocland

Re : Script shell changer de nom de machine

Salut,

Je met aussi les postes du réseau, j'ai réussi à faire plus ou moins ce que je voulais en plaçant la partie à modifier en première ligne du fichier /etc/hosts.
Et en utilisant sed -e etc...

Par contre je rencontre d'autres problème au niveau de la création de l'image ISO avec remastersys etc..
J'irais demander des conseils du côté de mon post précédent dans la rubrique approprié si je n'arrive pas à résoudre ce problème (ici)

Merci et bonne journée

--
BoB

Hors ligne