【发布时间】:2013-07-23 17:25:09
【问题描述】:
在 python 中开发一个可以将旧的 DNS 服务器地址替换为 Ubuntu 12.04 中的新地址的程序的最佳方法是什么?
更新: 基本上我需要的是一种更新我的 resolv.conf 文件内容的方法,以便我可以替换其中配置的名称服务器。
例如,我的 resolv.conf 中有:
nameserver 10.0.0.1
nameserver 10.0.0.2
我需要以某种方式修改以获得这些值:
nameserver 10.0.0.3
nameserver 10.0.0.4
我需要使用 python(或任何脚本语言,甚至通过命令行)来完成此操作,因为我需要在必须在信息亭模式 Xubuntu 中运行的用户友好窗口中执行此操作。
**注意:
到目前为止,我已经尝试找到一个可以实现此目的的 ubuntu 命令,但我还没有找到。
我也尝试过修改 /etc/resolv.conf 但 Python 无法修改文件,所以我需要删除文件并使用新内容创建文件,但是我无权执行此操作(已经尝试了 chmod 777 和 chattr -a 但它们不起作用)
【问题讨论】:
-
不清楚您在这里要做什么。您提到
resolv.conf,它用于配置您的解析器,但通常与“dns 条目”没有任何关系。有各种各样的 DNS 服务器,其中一些支持动态更新。你的服务器是什么? Python当然可以修改文件;有很多示例演示基本文件 i/o。如果您的服务器支持通过 DDNS 进行 DNS 更新,您可以使用nsupdate命令。 -
对不起,这就是我的意思,我想修改我的解析器@larsks。我会更新我的问题,以便更清楚谢谢。您能告诉我任何修改文件的方法,而不必删除原始文件并用同名文件替换它吗?我没有使用服务器,它只是一台在 kiosk 模式下运行应用程序的笔记本电脑,我希望此应用程序修改该文件。
-
我不太清楚:你真的有权修改这个文件吗?因为如果你不这样做,你就会陷入困境。通常,只有
root用户可以修改此文件。此外,如果您可以更新您的问题以准确显示您想要做什么(例如,初始状态和期望的最终状态),我们可能会更有帮助。 -
我没有权限.. 好吧,我给了我的文件一个 chmod 777,我可以修改它,但到目前为止我没有使用 python,因为我发现的每个修改文件的示例都涉及删除和制作该文件再次。好的,我会尽量在我的问题上更具体一点。
标签: python dns ubuntu-12.04