首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在小型主机中更改主机名

在小型主机中更改主机名
EN

Stack Overflow用户
提问于 2015-03-06 16:44:57
回答 2查看 1.7K关注 0票数 2

我需要模拟一个由交换机连接的n台主机的网络。这方面的最佳工具似乎是小型的。问题是,我需要在每个使用主机名的主机上运行python脚本。skript根据主机名的不同而不同,因此这对我来说非常重要:)

但是主机名似乎在每个主机上都是相同的!示例:

h1主机名

输出“simon”

h2主机名

输出“simon”

“simon”是我的“真正的”底层ubuntu系统的主机名。

我找不到改变主机名的可能性。

这有可能吗?如果是,怎么做?如果没有,为什么不呢?

我读过一些关于迷你的文章,每个主机都使用一个普通的内核。这可能是问题所在吗?

EN

回答 2

Stack Overflow用户

发布于 2015-04-27 12:12:43

我不认为通过在每个主机上运行“主机名”可以得到不同的名称。只有与网络相关的命令才会在不同的主机上产生不同的结果,因为主机运行在分隔的命名空间上。

因此,获得主机名的一种方法可能是运行ifconfig并从接口的名称中对主机名进行整数。

票数 1
EN

Stack Overflow用户

发布于 2017-04-18 14:57:57

最后,我想出了如何做到这一点,首先您需要从程序内部运行"ifconfig“命令并将其存储在一个变量中,其次使用正则表达式re‘获取文本,然后使用它来获取my hosts...you的收件人可以对主机名做同样的操作。

代码: getip(): ifconfig_output=(subprocess.check_output('ifconfig')).decode() ip=re.search(r".\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}",ifconfig_output) return((str(ip))[47:-2])

第一行将从终端获得输出(二进制使用解码以utf-8编码字符串表示)。

第二行将使用正则表达式获取文本中的ip。

第三个将从搜索对象获取ip,并消除有关抓取文本在给定字符串中的位置的信息。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28903499

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档