Are you facing DHCP Client Error: mv cannot move /etc/resolv.conf.dhclient-new to /etc/resolv.conf: Operation not permitted?
This guide is for you.
DHCP Client Error: mv cannot move happens when dhclient (Dynamic Host Configuration Protocol Client) is unable to update the name resolution configuration file /etc/resolv.conf.
We use dhclient command to obtain, renew and release a client’s IP address, subnet mask, default gateway, and DNS servers from a DHCP server.
In this context, we shall look into how to fix this DHCP error.
Nature of 'DHCP Client Error: mv cannot move' error ?
The dhclient command provides a means for configuring one or more network interfaces using the Dynamic Host Configuration Protocol, BOOTP protocol, or if these protocols fail, by statically assigning an address.
The error message is given below:
mv cannot move /etc/resolv.conf.dhclient-new to /etc/resolv.conf: Operation not permitted
Now, let's see the cause for this error.
What triggers 'DHCP Client Error: mv cannot move' error ?
The dhclient prepares a temporary file with the new nameserver details in /etc/resolv.conf.dhclient-new and then tries to rename it as /etc/resolv.conf.
Generally, it generates an error because /etc/resolv.conf is already bind-mounted and apparently mv is not allowed to do this trick:
/etc/resolv.conf.dhclient-new.xxx are the temporary files the DHCP client daemon writes before moving the complete file to /etc/resolv.conf.
This is to keep the consistency of the actual /etc/resolv.conf file if something goes wrong.
Sometimes the DHCP client will not be able to write the /etc/resolv.conf file/is dying, and the temporary files keep behind.
How to fix DHCP Client Error: mv cannot move ?
You can apply the following tips to resolve this error:
1. Firstly, we must run dhclient as the root user
We can use the following sudo command to run dhclient, enter:
$ sudo dhclient eth0
2. After that we should ensure that /etc/resolv.conf is not write protected
We can use the following lsattr, command to view file attributes:
$ lsattr /etc/resolv.conf
Generally, we cannot modify a file with the i attribute.
We can either delete it or rename it.
Also, no link can be created to this file and no data can be written to the file for any user including the root user.
Clear i attribute, enter:
$ sudo chattr -i /etc/resolv.conf
Now run dhclient again to update the file and to obtain a new IP address.