Eth0'ın IP adresini Precise Server'daki giriş ekranında nasıl görüntüleyebilirim?


23

Yönettiğim sunucu, uygunsuz bir şekilde, DHCP tarafından atanan dinamik bir IP adresine sahip. Yine de elverişli dengeleme, oturduğum yerden yaklaşık iki metre uzakta kurulmuş olması. Oturum açma isteminin ekrana gelmesinden önce / etc / issue'ın farklı değerleri göstermesini nasıl düzenleyeceğimi biliyorum, ancak / etc / issue'ın eth0'ın geçerli IP adresini göstermesinin mümkün olup olmadığını bilmek istiyorum (yeniden değerlendirildi) önyükleme sırasında) böylece bunu görebilirim ve sonra ifconfig komutunu çalıştırmak için giriş yapmak zorunda kalmadan ssh ile giriş yapabilirim.


Giriş ekranında conky kullanılabilir mi? Öyleyse her türlü bilgiyi kullanışlı yapabilirsiniz.
Benimdir

Yanıtlar:


27

Debian 8 / jessie'den itibaren \4ve \6IPv4 ve IPv6 adreslerini çıkarmak için ve escape karakterlerini kullanabilirsiniz. Yani /etc/issuedosya:

Debian GNU/Linux 8 \n \l

eth0: \4{eth0}

Giriş konsolunda aşağıdaki gibi bir şey çıktı:

Debian GNU/Linux 8 myserver tty1

eth0: 192.168.1.100
myserver login:

Ubuntu’nun benzer işlevler sağlayacağını hayal ediyorum (en azından yeni sürümlerde)


Bu benim için Ubuntu 16.04 LTS’de işe yaradı, doğru olarak işaretlenmiş cevap, muhtemelen bu yazılan yorum ile ilgili bir sorun değildi, her durumda, bunu gönderdiğiniz için teşekkürler.
Tracker1

Hala Debian 9'da çalışıyor :)
borekon

12

/etc/issueMaalesef düz bir metindir, içine ekleyebileceğiniz bazı seçenekler vardır (bkz. man agetty) fakat eth0'ın IP adresi değildir.

Bunu içine koyarsanız /etc/rc.local:

IP=$(/sbin/ifconfig eth0 | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1}')
echo "eth0 IP: $IP" > /etc/issue

Sonra böyle bir şey göreceksiniz:

eth0: 192.168.0.2
myServer login:

3
Lütfen bunu çalıştıran herkes için unutmayın, bu / etc / issue içeriğinin üzerine yazacaktır. Önceki "eth *" satırlarını bulmak ve sonra bunları eklemek için adımlar ekleyebilirsin.
Reb,

1

Alex’in cevabı ve Reb’lerin yorumlarına dayanarak, dosyam için sahip olduğum şey budur /etc/rc.local(sadece ilgili satırlar):

PRE_MSG="Ubuntu 14.04.3 LTS" # this is from the original /etc/issue

IP=$(/sbin/ifconfig eth0 | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1}')

IP_MSG="Server IP Address:"

printf "%s %s %s\n\n%s %s\n\n" "$PRE_MSG" '\n' '\l' "$IP_MSG" "$IP" > "/etc/issue"

printfKomut büyü yapar. Maalesef , format dizgisinin içine '\n've '\l'içine koymak, ilkini yeni çizgi karakteriyle değiştirmekle sonuçlandı ve /etc/issuedosya bozuldu.

Uzun lafın kısası, bu 4 satır /etc/issuedosya tarafından görüntülenen orijinal bilgiyi tutar ve Server IP Address:mesajı ekler .

Ve Rebs’in dediği gibi, sunucuyu her yeniden /etc/issuebaşlattığınızda , bu betiğin dosyayı geçersiz kılacağını aklınızda bulundurun, belki de farklı bir betiğin içinde ve farklı bir dosyada deneyin ve çalışınca değişiklikleri aktarın ...

İyi şanslar ve mutlu BASHing :)


0

Systemd ile aşağıdakileri yapabilirsiniz systemctl edit getty@:

[Service]
ExecStartPre=-/bin/bash -c '[ ! -f /etc/.issue.orig ] && cp /etc/issue /etc/.issue.orig; int=`ls /sys/class/net|grep enp|head -1`; sed -r "s/\\\\\\n/[\\\\\\4\{$$int\}]/" < /etc/.issue.orig > /etc/issue'

Sonra systemctl daemon-reload && systemctl restart getty@tty1


0

Ubuntu 19.04 için şu adımları takip ettim:

Dosyayı oluşturdum: /etc/network/if-up.d/update-issueaşağıdaki içeriklere sahip:

#!/bin/sh
PREFIX="Ubuntu 19.04 - dev"
IPADDRS=$(hostname -I | tr " " "\n" | grep -v "^$" | sort -t . -k 1,1n | head -1 | tr "\n" " ")
echo "$PREFIX\n\nIP: $IPADDRS\n" > /etc/issue

Sonra dosyayı çalıştırılabilir olarak işaretledim: chmod 0755 /etc/network/if-up.d/update-issue

Harika çalışıyor!


0

Nurchi üzerine inşa, Alex ve Steve'in cevapları ve Reb'den gelen yorum,

Aşağıdaki eski IP'yi aşacak ve yerel olmayan (127) IP adreslerini ekleyecektir. Sunucum bir VM ve eth0 yok. Ubuntu'da Test 18.04

Yerleştirmek /etc/network/if-up.d/update-issue

#!/bin/sh
MSG=$(cat /etc/issue | grep -v IP)
IP=$(/sbin/ifconfig | grep 'inet' | grep -v '127' | cut -d: -f2 | awk '{ print $2 }')
printf "%s\n%s\n\n" "$MSG" "IP: $IP" > /etc/issue

Sonra chmod 0755 /etc/network/if-up.d/update-issue

Cevabım ve Steve'in cevabı arasındaki tek fark IP hattını kaldırmak, mesajı yakalamak ve yeni / güncellenmiş IP ile birlikte okumak için grep satırlarının eklenmesidir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.