8 我们试图在Ubuntu计算机上安装我们的软件。为此,我们需要root特权。基本上,我们需要做的就是运行一个可运行的jar,如:sudo java -jar runnableJar.jar。 所有这些命令将返回:Unable to resolve host xxxxx。 该/etc/hosts文件hostname针对环回接口列出了不正确的内容,从而导致了此错误。所有不需要的命令都sudo运行良好。 我一直在阅读回送接口,并且我的理解是它设置了本地主机并且是一个虚拟网络接口。但是,为什么根本sudo需要它呢? sudo hostname — 斯里拉姆 source
8 由于sudoers文件允许在规则中指定主机名,因此sudo需要知道您的Ubuntu计算机的名称。 因此,sudo收集Ubuntu计算机上所有接口的列表(环回和“真实”)。sudo在下面的链接中,请参阅interfaces.c源代码中的相关部分。 http://www.sudo.ws/repos/sudo/file/d8150a3fd577/interfaces.c — 史蒂夫 source