我需要更改某些hosts条目 – 例如,需要更新hosts以使active.vm主机与当前引导的VM(使用某些testing设备)的IP相匹配。 虚拟机内的访客软件将机器的地址报告给主机,我需要根据这些信息更新/ etc / hosts – 编写另一个守护进程/ cronjob总是有一些时间,但是想使用一些现有的方法来修改hosts条目,使用哑语法hostname current_ip 。
有人推荐了我的bind-tools包,但是 – 它的nsupdate | host根本不适合这项任务。 ..
Upd:仍然在寻找绑定套件的东西,但至lessdynamic再生似乎是最好的解决scheme,augtool也不错。
Upd:由于我的懒惰,dynamic重新生成目前还没有计划使用,所以开始在cronjob上使用augtool,它读取networking服务器的最新IP访问日志 – 在运行Windows的虚拟机上,整个监控解决scheme只是一个web浏览器,来自主机的特定url,并有一个小重新加载间隔
看看augeas 。 它有一个现成的parsing器/序列化的主机文件(即使在他们的快速导览),并带有一个简单的工具来进行更改(augtool)。
我不想在parsing等方面触及/etc/hosts 。 我只是简单地创build/etc/hosts.d来编写一些脚本:
用一(1)行创build一个(1)文件。 文件名将是<ip>.host ,然后是cat /etc/hosts.d/*host > /tmp/hosts.new ** mv /tmp/hosts.new /etc/hosts 。 也许添加一个incron事件,监视/etc/hosts.d目录,并在发生什么事情时重新生成,这样你就可以摆脱旧的条目。