私が管理しているサーバーには、不便なことに、DHCPによって動的IPアドレスが割り当てられています。しかし、便利なカウンターバランスは、たまたま私が座っている場所から約2フィートのところに設置されることです。ログインプロンプトがディスプレイに表示される前に/ etc/issueを編集して異なる値を表示する方法は知っていますが、/ etc/issueがeth0の現在のIPアドレスを表示できるかどうかを知りたい(再評価されます)ブート時に)を参照して、ifconfigを実行するためにログインする必要なくsshで表示できるようにします。
Debian 8/jessieでは、\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:
Ubuntuは(少なくとも新しいリリースでは)同様の機能を提供すると思います
残念ながら/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:
Alexの答えとRebsのコメントに基づいて、これは私の/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:
メッセージを追加します。
Rebsが言ったように、サーバーを再起動するたびにこのスクリプトが/etc/issue
ファイルをオーバーライドするので、別のスクリプト内で別のファイルで試して、動作したら変更を転送することを忘れないでください以上...
幸運と幸せなBASHing :)
Systemdを使用すると、次のような方法で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
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
よく働く!