Un-removable /etc/resolv.conf
10,932
Solution 1
as per the help files (man chattr
),
A file with the `a' attribute set can only be open in append mode for writing.
In your case the file has this attribute
The operator `+' causes the selected attributes to be added to the
existing attributes of the files; `-' causes them to be removed;
So the command to try would be
sudo chattr -a /etc/resolv.conf
and try listing the attributes once again using
lsattr /etc/resolv.conf
Then try deleting the file
Solution 2
For my case, is the immutable attribute of the file causing it. So do sudo chattr -a -i /etc/resolv.conf
Related videos on Youtube
Author by
Sergey
Updated on September 18, 2022Comments
-
Sergey over 1 year
During an upgrade to 12.04 today I've got an error when running post-install hook for
resolvconf
package:Setting up resolvconf (1.63ubuntu11) ... resolvconf.postinst: Error: Cannot replace the current /etc/resolv.conf with a symbolic link because it is immutable. To correct this problem, gain root privileges in a terminal and run 'chattr -i /etc/resolv.conf' and then 'dpkg --configure resolvconf'. Aborting.
Well, surely I tried running
chattr -i /etc/resolv.conf
, butdpkg --configure resolvconf
produced the same error.I tried to move or delete the file manually, but I can't do this even as root:
sudo mv /etc/resolv.conf /etc/resolv.conf.old mv: cannot move `/etc/resolv.conf' to `/etc/resolv.conf.old': Operation not permitted sudo rm /etc/resolv.conf rm: cannot remove `/etc/resolv.conf': Operation not permitted
I am able to create and then delete a file in /etc (as root), so the root partition is not mounted read-only or anything. Also:
lsattr /etc/resolv.conf -----a--------- /etc/resolv.conf
-
Sergey almost 12 yearsYep, that fixed the problem, thanks. The
chattr
manpage is kinda ambiguous - I thought it says "file can be open only in append mode" (i.e. no effect on other operations, such as delete), while what it actually means is "file can only be open, and only in append mode" -
SwissFr over 2 yearsonly this solution worked for me