Řešení 1:
V systému CentOS 7 a Debian 8 (a možná i další), stačí připojit následující řádek k /etc/issue
My IP address: \4
a to se přenese na adresu IPv4 stroje. Máte-li více síťových rozhraní a chcete vybrat jedno konkrétní, můžete jej určit pomocí
My IP address: \4{eth0}
Zkontrolujte man getty
pro seznam podporovaných escape sekvencí ve vaší distribuci.
Řešení 2:
Je to jen textový soubor... píšete do něj stejným způsobem, jako byste posílali text do souboru s jakýmkoli jiným shellovým skriptem. Něco takového by nahradilo /etc/issue pouze vaší IP adresou:
ifconfig eth0 | awk '/inet addr/ {print $2}' | cut -f2 -d: > /etc/issue
Samozřejmě to můžete udělat libovolně složitější v závislosti na tom, jaké informace chcete ve svém /etc/issue
soubor.
Do tohoto souboru můžete zapisovat ve vašem místním ekvivalentu /etc/rc.d/rc.local (který se obvykle spustí po všech ostatních spouštěcích skriptech).
Řešení 3:
Tento skript přidá/odebere IP adresy do/z /etc/issue
soubor podle potřeby:
#!/bin/sh
PREFIX="Local IP addresses:"
IPADDRS=$(hostname -I | tr " " "\n" | grep -v "^$" | sort -t . -k 1,1n -k 2,2n -k 3,3n -k 4,4n | tr "\n" " ")
perl -i -p -0777 -e "s/^$PREFIX[^\n]*\n\n//m; s/$/\n$PREFIX $IPADDRS\n/ if length('$IPADDRS')>6" /etc/issue
Pokud používáte distribuci založenou na Debianu, je nejlepší umístit skript do těchto umístění:
/etc/network/if-up.d/update-issue
/etc/network/if-post-down.d/update-issue
Tímto způsobem se skripty spouštějí pokaždé, když se rozhraní objeví nebo zanikne. Umístěte jej do /etc/rc.d/rc.local
má nevýhodu v tom, že se během spouštění spustí pouze jednou.
Řešení 4:
můžeš to napsat jednou. bohužel neexistuje žádná getty escape sekvence pro zobrazení IP adresy eth0, ale existuje escape sekvence, kterou můžete použít v /etc/issue k zobrazení názvu hostitele:\n
vždy můžete staticky nastavit ip stroje v /etc/issue zápisem přímo do souboru. mějte na paměti, že soubor /etc/issue.net se používá pro vzdálené přihlášení, takže možná budete chtít upravit i ten.
každopádně po práci v okně terminálu ztratíte úvodní obrazovku a s ní informace o adrese IP/hostitele. nejlepším způsobem je nastavit název hostitele ve výzvě (většina linuxových distribucí) pomocí \h nebo \H nebo znovu, statické nastavení ip adresy, o které víte, že je nastavena na hostiteli v proměnné PS1, můžete nastavit proměnnou PS1 v /etc/profile na většině linuxových distribucí.
Řešení 5:
Systemd to poměrně usnadňuje. systemctl edit [email protected]
s obsahem jako:
[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'
Potom systemctl daemon-reload && systemctl restart [email protected]