Bru*_*pes 14 linux virtual-machines centos
我有几个带有桥接接口的 linux 虚拟机,我希望机器的 IP 地址在机器启动后显示(在登录中,它通常显示版本和内核)。
据我所知,该消息是从 /etc/issues 中提取的,但我不确定如何以及何时写入该消息。
小智 42
在CentOS 7和Debian 8(也许还有其他)上,只需将以下行附加到/etc/issue
My IP address: \4
Run Code Online (Sandbox Code Playgroud)
这将解析为机器的 IPv4 地址。如果你有多个网络接口并且你想选择一个特定的,你可以用
My IP address: \4{eth0}
Run Code Online (Sandbox Code Playgroud)
检查man getty您的发行版中支持的转义序列列表。
lar*_*sks 13
它只是一个文本文件……您写入它的方式与使用任何其他 shell 脚本将文本发送到文件的方式相同。像这样的东西会用你的 IP 地址替换 /etc/issue :
ifconfig eth0 | awk '/inet addr/ {print $2}' | cut -f2 -d: > /etc/issue
Run Code Online (Sandbox Code Playgroud)
显然,您可以根据需要在/etc/issue文件中包含哪些信息,使这变得更加复杂。
您可以在 /etc/rc.d/rc.local 的本地等效文件中写入此文件(通常在所有其他启动脚本之后执行)。
此脚本将/etc/issue根据需要在文件中添加/删除 IP 地址:
#!/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
Run Code Online (Sandbox Code Playgroud)
如果您使用的是基于 Debian 的发行版,最好将脚本放在以下位置:
/etc/network/if-up.d/update-issue
/etc/network/if-post-down.d/update-issue
Run Code Online (Sandbox Code Playgroud)
这样,每次界面出现或关闭时都会执行脚本。将其放入/etc/rc.d/rc.local具有在启动期间仅执行一次的缺点。
| 归档时间: |
|
| 查看次数: |
23133 次 |
| 最近记录: |