Unable to update resolv.conf file.
/etc/resolv.conf" E166: Can't open linked file for writing
Ubuntu 18.04.1
Unable to update resolv.conf file.
/etc/resolv.conf" E166: Can't open linked file for writing
Ubuntu 18.04.1
if /etc/resolv.conf is a symbolic link, you won't be able to write it. If you want to overwrite the content in the file, remove the file and then create a new fi
sudo rm /etc/resolv.conf
sudo echo "nameserver 8.8.8.8" > /etc/resolv.conf
This is an assumption that you're asking about a vim error message (you didn't specify where you got the error message).
Vim documentation reports E166 as
E166 Can't open linked file for writing
You are trying to write to a file which can't be overwritten, and the file is a link (either a hard link or a symbolic link). Writing might still be possible if the directory that contains the link or the file is writable, but Vim now doesn't know if you want to delete the link and write the file in its place, or if you want to delete the file itself and write the new file in its place. If you really want to write the file under this name, you have to manually delete the link or the file, or change the permissions so that Vim can overwrite.
http://vimdoc.sourceforge.net/htmldoc/message.html
guiverc@d960-ubu2:~$ stat /etc/resolv.conf
File: /etc/resolv.conf -> ../run/systemd/resolve/stub-resolv.conf
Size: 39 Blocks: 0 IO Block: 4096 symbolic link
Device: 801h/2049d Inode: 130757 Links: 1
Access: (0777/lrwxrwxrwx) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2018-09-03 12:34:28.189468370 +1000
Modify: 2017-11-16 12:32:04.777265492 +1100
Change: 2017-11-16 12:32:04.777265492 +1100
A stat of my /etc/resolv.conf confirms the file is a link.
I can happily write to that file (using sudo) so you have an issue beyond what you've provided.
In my case it worked when I used sudo while opening resolv.conf file through vi. If file is not already present then it creates one.
$ sudo vi /etc/resolv.conf
I managed to solve the issue. The filesystem was mounted with ro (read only) and the user was not with root permission.