Неудаляемый /etc/resolv.conf

Неудаляемый /etc/resolv.conf

Во время обновления до версии 12.04 сегодня у меня возникла ошибка при запуске post-install hook для resolvconfпакета:

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.

Ну, конечно, я попробовал запустить chattr -i /etc/resolv.conf, но dpkg --configure resolvconfвыдал ту же ошибку.

Я попытался переместить или удалить файл вручную, но не могу сделать этого даже как 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

Я могу создать и затем удалить файл в /etc (как root), поэтому корневой раздел не монтируется только для чтения или что-то в этом роде. Также:

lsattr /etc/resolv.conf
-----a--------- /etc/resolv.conf

решение1

В моем случае, это неизменяемый атрибут файла, вызывающий его. Так что делайтеsudo chattr -a -i /etc/resolv.conf

решение2

согласно файлам справки ( man chattr),

A  file  with the `a' attribute set can only be open in append mode for writing.

В вашем случае файл имеет такой атрибут

The  operator  `+'  causes  the  selected attributes to be added to the
       existing attributes of the files; `-' causes them to  be  removed;

Итак, команда попробовать будет

sudo chattr -a /etc/resolv.conf

и попробуйте перечислить атрибуты еще раз, используя

lsattr /etc/resolv.conf

Затем попробуйте удалить файл.

Связанный контент