当我将networking从dhcp更改为静态时,它会定期将IP更改为dhcpconfiguration,并忽略/ etc / network / interface的configuration。
所以我想删除DHCP客户端,但是当我在Ubuntu中删除它,我遇到这个问题。 你能给我一些帮助吗?
$ sudo apt-get remove dhcp-client Reading package lists... Done Building dependency tree Reading state information... Done **Virtual packages like 'dhcp-client' can't be removed** 0 upgraded, 0 newly installed, 0 to remove and 77 not upgraded.
这是我的界面文件内容:
auto eth0 #iface eth0 inet dhcp iface eth0 inet static address 10.0.0.7 netmask 255.255.255.0 gateway 10.0.0.1 # This is an autoconfigured IPv6 interface iface eth0 inet6 auto
我从来没有像Ubuntu这样的行为,所以这只是一个疯狂的猜测:这可能与“networkingpipe理器”有关。
至于删除DHCP客户端:
您正在尝试删除虚拟包。 虚拟软件包实际上并不存在,它们只是由一些软件包提供,以声明它们提供了类似的服务/function(另请参阅Debian Policy Manual )。 IIRC由ubuntu安装的默认dhcp-client软件包是'isc-dhcp-client',但是不pipe你的系统上安装了哪一个软件包,你可能会有一个相当困难的时间干净的去除它,因为相当一些其他的软件包依靠它被安装。
在重新configuration接口之前,您可能没有closures接口,所以在后台运行的DHCP客户端仍然试图维护DHCP IP。 用ps -eF | grep dhclient检查这个 ps -eF | grep dhclient并杀死进程。
如果您确实想要卸载DHCP客户端(您不需要),则需要删除dhcp3-client软件包。
您需要完全删除isc-dhcp-client。 如果在isc-dhcp-client和/etc/network/interfaces文件中都configuration了DNS服务器地址,则客户端configuration中的地址始终优先,并将写入到/etc/resolv.conf 。 如果您希望将/etc/network/interfaces的dns-servers设置写入/etc/resolv.conf ,则必须完全删除isc-dhcp-client。
apt-get --purge remove isc-dhcp-client isc-dhcp-common命令就可以做到这一点。 如果没有这个技巧,find并删除这两个文件:
/run/resolvconf/interface/eth0.dhclient和/run/resolvconf/interface/original.resolvconf
这是问题路线,
iface eth0 inet dhcp
删除它并重新启动您的networking。
$ sudo service networking restart
我有同样的问题。 我没有那么科学的testing发现这个解决scheme 把networking和广播也放在interaceconfiguration中。 喜欢这个:
auto eth0 #iface eth0 inet dhcp iface eth0 inet static address 10.0.0.7 network 10.0.0.0 broadcast 10.0.0.255 netmask 255.255.255.0 gateway 10.0.0.1 # This is an autoconfigured IPv6 interface iface eth0 inet6 auto