J'ai quelques machines virtuelles Linux avec des interfaces pontées, et j'aimerais que l'adresse IP de la machine apparaisse après le démarrage de la machine (dans la connexion, où elle affiche généralement la version et le noyau).
D'après ce que je peux dire, le message provient de / etc / issues, mais je ne sais pas comment ni quand y écrire.
linux
centos
virtual-machines
Bruno Lopes
la source
la source
Réponses:
C'est juste un fichier texte ... vous y écrivez de la même manière que vous enverriez du texte dans un fichier avec n'importe quel autre script shell. Quelque chose comme ça remplacerait / etc / issue avec juste votre adresse IP:
Évidemment, vous pouvez rendre cela arbitrairement plus complexe, selon les informations que vous souhaitez dans votre
/etc/issue
fichier.Vous pouvez écrire dans ce fichier dans votre équivalent local de /etc/rc.d/rc.local (qui s'exécute généralement après tous les autres scripts de démarrage).
la source
ip address show eth0 | awk '/inet / {print $2}' | cut -d/ -f1
ip
est l'outil que vous êtes censé utiliser pour ce genre de chose.ifconfig
est techniquement juste pour la compatibilité.Sur CentOS 7 et Debian 8 (et peut-être d'autres aussi), ajoutez simplement la ligne suivante à
/etc/issue
et cela se résoudra en adresse IPv4 de la machine. Si vous avez plusieurs interfaces réseau et que vous souhaitez en choisir une spécifique, vous pouvez la spécifier avec
Vérifiez
man getty
la liste des séquences d'échappement prises en charge sur votre distribution.la source
Ce script ajoutera / supprimera des adresses IP au / du
/etc/issue
fichier selon les besoins:Si vous utilisez une distribution basée sur Debian, il est préférable de placer le script à ces emplacements:
De cette façon, les scripts sont exécutés chaque fois qu'une interface monte ou descend. Le placer dans
/etc/rc.d/rc.local
a l'inconvénient d'être exécuté une seule fois lors du démarrage.la source
/sbin/if{up,down}-local
. (S'il existe, il est appelé par/etc/sysconfig/network-scripts/ip{up,down}-post
.)--all-ip-addresses
affiche également des adresses IP "publiques". Peut-être que quelque chose comme "les adresses IP de toutes les interfaces externes de cet hôte:" a plus de sens.vous pouvez l'écrire une fois. malheureusement, il n'y a pas de séquence d'échappement pour afficher l'adresse IP de eth0 mais il existe une séquence d'échappement que vous pouvez utiliser dans / etc / issue pour afficher le nom d'hôte: \ n
vous pouvez toujours définir statiquement l'ip de la machine dans / etc / issue en l'écrivant directement dans le fichier. sachez que le fichier /etc/issue.net est utilisé pour les connexions à distance, vous pouvez donc également le modifier.
de toute façon, après avoir travaillé dans la fenêtre du terminal, vous perdrez l'écran initial et les informations d'adresse IP / hôte avec. la meilleure façon est de définir le nom d'hôte dans l'invite (la plupart des distributions Linux le font) en utilisant \ h ou \ H ou encore, en définissant statiquement l'adresse IP que vous connaissez est définie sur l'hôte dans la variable PS1, vous pouvez définir la variable PS1 dans / etc / profil sur la plupart des distributions Linux.
la source
Un grand merci à @larsks pour avoir commencé. J'ai trouvé que j'avais du mal à terminer le script avant qu'il ne soit nécessaire, donc mon fichier de problème était toujours vide. J'ai donc ajouté une pause d'une seconde et bouclé. Je ne suis pas vraiment un scripteur bash, donc s'il y a une meilleure façon de le faire, faites le moi savoir. J'ai ajouté un
COUNT
pour m'assurer qu'il ne boucle pas indéfiniment.J'ai placé ce script
/etc/network/if-up.d/
.la source
Systemd rend cela relativement facile.
systemctl edit getty@
avec un contenu comme:alors
systemctl daemon-reload && systemctl restart getty@tty1
la source
Pour tous ceux qui atterrissent ici qui utilisent Ubuntu 19.04, j'ai fini par adopter la réponse de @ powpow.
J'ai créé le fichier:
/etc/network/if-up.d/update-issue
avec le contenu suivant:J'ai ensuite marqué le fichier comme exécutable:
chmod 0755 /etc/network/if-up.d/update-issue
Fonctionne très bien!
la source