我正在尝试在 CentOS 7 中安装 IBM 的软件,安装脚本会进行一些环境检查以确保一切正常。脚本显示“ifconfig 中未定义环回”。
问题出在这里:
(sshexec) Executing 'sudo /sbin/ifconfig lo | grep "inet addr:127.0.0.1" | wc -l' on localhost.localdomain.com as biadmin
(sshexec) Result: 0
看来脚本期望这一行“inet addr:127.0.0.1”ifconfig 目录,但我的ifconfig 目录说“inet 127.0.0.1”
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
loop txqueuelen 0 (Loopback Local)
RX packets 13196 bytes 2606382 (2.4 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 13196 bytes 2606382 (2.4 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
我不太了解网络,但我的环回配置似乎很好。有什么办法可以解决这个问题吗?
答案1
这有点不方便,但你可以临时安装一个 shell 脚本“包装器”程序,将输出ifconfig
修改为安装脚本所期望的形式。
首先重命名/sbin/ifconfig
为/sbin/ifconfig.real
。然后创建一个名为 的新文件/sbin/ifconfig
,其中包含以下内容:
#!/bin/sh
exec /sbin/ifconfig.real "$@" | sed 's/ inet / inet addr:/'
这将运行您已重命名的原始ifconfig
程序,并在每行输出的正确位置添加“addr:”。使您的新脚本可执行并对其进行测试,以确保它产生正确的输出:
$ chmod a+x /sbin/ifconfig
$ /sbin/ifconfig lo
运行安装程序。完成后,删除包装器脚本并重命名/sbin/ifconfig.real
为/sbin/ifconfig
。