मैं Precise Server पर लॉगिन स्क्रीन पर eth0 का IP पता कैसे दिखा सकता हूँ?


23

सर्वर जिसे मैं प्रशासित करता हूं, वह असुविधाजनक रूप से पर्याप्त है, इसमें एक गतिशील आईपी पता है जो डीएचसीपी द्वारा सौंपा गया है। हालांकि, सुविधाजनक प्रतिसाद यह है कि जहां मैं बैठता हूं, वहां से लगभग दो फीट की दूरी पर स्थापित होता है। मुझे पता है कि लॉग इन प्रॉम्प्ट को डिस्प्ले पर डिलीवर करने से पहले अलग-अलग वैल्यू दिखाने के लिए एडिट / इश्यू / इश्यू कैसे किया जा सकता है, लेकिन मैं जानना चाहता हूं कि क्या eth0 के वर्तमान आईपी एड्रेस को प्रदर्शित करने के लिए / etc / इश्यू संभव है। बूट समय पर) ताकि मैं इसे देख सकूं और फिर ifconfig चलाने के लिए लॉग इन किए बिना ssh कर सकूं।


क्या लॉगिन स्क्रीन में शंकु का उपयोग किया जा सकता है? यदि हां, तो आप सभी प्रकार की जानकारी को आसान बना सकते हैं।
झलक

जवाबों:


27

डेबियन 8 / जेसी के रूप में आप उपयोग कर सकते हैं \4और \6उत्पादन के लिए वर्ण से बचें IPv4 और IPv6 पते। तो /etc/issueफ़ाइल:

Debian GNU/Linux 8 \n \l

eth0: \4{eth0}

लॉगिन कंसोल पर निम्नलिखित की तरह कुछ उत्पादन करेगा:

Debian GNU/Linux 8 myserver tty1

eth0: 192.168.1.100
myserver login:

मुझे लगता है कि उबंटू समान कार्यक्षमता प्रदान करेगा (कम से कम नए रिलीज में)


इसने मेरे लिए उबंटू में 16.04 एलटीएस में काम किया, जो उत्तर सही नहीं था, शायद किसी भी मामले में grep टिप्पणी के साथ एक मुद्दा, इसे पोस्ट करने के लिए धन्यवाद।
ट्रैकर

यह अभी भी डेबियन 9 :)
बोरेकोन

12

/etc/issueदुर्भाग्य से एक सादा पाठ है, इसमें कुछ विकल्प हैं man agettyजिन्हें आप इसमें जोड़ सकते हैं (देखें ) लेकिन eth0 का IP पता नहीं।

यदि आप इसमें डालते हैं /etc/rc.local:

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

तब आपको कुछ इस तरह दिखाई देगा:

eth0: 192.168.0.2
myServer login:

3
कृपया इसे चलाने वाले किसी के लिए भी ध्यान दें, यह / etc / मुद्दे की सामग्री को अधिलेखित कर देगा। आप पिछली "eth *" लाइनों को निकालने के लिए चरण जोड़ सकते हैं और फिर उन्हें जोड़ सकते हैं।
रीब्स

1

एलेक्स के जवाब और रीब की टिप्पणी पर बिल्डिंग, यह वही है जो मैंने अपनी /etc/rc.localफ़ाइल के लिए है (केवल प्रासंगिक लाइनें):

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"

printfआदेश जादू करता है। दुर्भाग्य से प्रारूप के अंदर '\n'और '\l'स्ट्रिंग को नई पंक्ति के चरित्र के साथ पहले वाले स्थान को समाप्त कर दिया गया और /etc/issueफ़ाइल को गड़बड़ कर दिया गया।

इतनी लंबी कहानी छोटी, ये 4 लाइनें /etc/issueफ़ाइल द्वारा प्रदर्शित मूल जानकारी को रखती हैं और Server IP Address:संदेश को जोड़ती हैं ।

और जैसा कि रीब्स ने कहा, ध्यान रखें कि हर बार जब आप सर्वर को रिबूट करते हैं, तो यह स्क्रिप्ट /etc/issueफ़ाइल को ओवरराइड कर देगी , इसलिए हो सकता है कि इसे एक अलग स्क्रिप्ट के अंदर और एक अलग फ़ाइल पर आज़माएं और एक बार काम करने के बाद, परिवर्तनों को स्थानांतरित करें ...

सौभाग्य और खुशहाल :)


0

सिस्टमड के साथ आप 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'

फिर systemctl daemon-reload && systemctl restart getty@tty1


0

Ubuntu 19.04 के लिए, मैंने इन चरणों का पालन किया:

मैंने फ़ाइल बनाई: /etc/network/if-up.d/update-issueनिम्नलिखित सामग्री के साथ:

#!/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

मैंने तब फ़ाइल को निष्पादन योग्य के रूप में चिह्नित किया: chmod 0755 /etc/network/if-up.d/update-issue

बहुत अच्छा काम करता है!


0

Nurchi, एलेक्स और स्टीव के जवाब और Reb से टिप्पणी पर बिल्डिंग,

निम्नलिखित पुराने आईपी को मिटा देगा और किसी भी गैर स्थानीय (127.) आईपी पते में जोड़ देगा। मेरा सर्वर VM है और इसमें eth0 नहीं है। उबंटू 18.04 पर परीक्षण

रखना /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

फिर chmod 0755 /etc/network/if-up.d/update-issue

मेरे जवाब और स्टीव के बीच का एकमात्र अंतर IP लाइन को हटाने के लिए grep लाइनों के अलावा, संदेश पर कब्जा करने और नए / अपडेट किए गए IP के साथ इसे पढ़ने का है

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.