Eu trabalho com muitas máquinas virtuais. Para testes e configuração de pré-produção.
Gostaria que o prompt ou cabeçalho de login exibisse o endereço IP da máquina. Dessa forma, quando eu iniciar, posso ver em qual IP estarei ssh. Nossa rede funciona usando um DHCP. Portanto, pode mudar entre a inicialização.
$ cat /etc/issue
Ubuntu 11.04\n\l
O que surge como
Ubuntu 11.04 [nome do host] tty[x]
Eu quero que isso apareça como
Ubuntu 11.04 [nome do host] tty[x] ip xxx.xxx.xxx.xxx
Eu estava pensando em escrever um script init/upstart. Existe uma maneira melhor.
Responder1
Getty não conhece os endereços IP da máquina. Mas esta pergunta já foi feita emfalha no servidor. Aqui está a resposta aceita:
É apenas um arquivo de texto... você escreve nele da mesma forma que enviaria texto para um arquivo com qualquer outro script de shell. Algo assim substituiria /etc/issue apenas pelo seu endereço IP:
ifconfig eth0 | awk '/inet addr/ {print $2}' | cut -f2 -d: > /etc/issue
Obviamente você pode tornar isso arbitrariamente mais complexo, dependendo das informações que deseja em seu
/etc/issue
arquivo.Você pode gravar neste arquivo em seu equivalente local
/etc/rc.d/rc.local
(que normalmente é executado após todos os outros scripts de inicialização).
Além disso, lembre-se de que o arquivo /etc/issue.net
é usado para logins remotos, portanto, você também pode editá-lo.
Responder2
SobreCentOS 7eDebian 8(e talvez outros também), basta anexar a seguinte linha a/etc/issue
My IP address: \4
e isso resolverá o endereço IPv4 da máquina. Se você tiver várias interfaces de rede e quiser escolher uma específica, poderá especificá-la com
My IP address: \4{eth0}
Responder3
Para CentOS 5 com um IP alugado de DHCP, você pode usar este script:
$ cat /etc/dhcp/dhclient.d/issue.sh
#!/bin/bash
update_issue() {
awk -v \
r="$(ip -o addr | awk '/inet [1-9]+/ { print $2 " " $4 }')" \
'{ gsub(/%INTERFACES%/,r) }1' \
/etc/issue.template > /etc/issue
}
issue_config() {
update_issue
}
issue_restore() {
update_issue
}
com um "modelo" de problema como este:
$ cat /etc/issue.template
CentOS release 6.5 (Final)
Kernel \r on an \m
%INTERFACES%
Lembrar de
chmod +x /etc/dhcp/dhclient.d/issue.sh
O awk
comando para obter o IP atual e substituí-lo no /etc/issue.template
arquivo deve ser portátil para distribuições Linux modernas.