软件安装脚本提示“ifconfig 中未定义环回”

软件安装脚本提示“ifconfig 中未定义环回”

我正在尝试在 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

相关内容