开发者社区 > 域名解析DNS > DNS最佳实践 > 正文

云服务器 ECS Ubuntu 系统修改 DNS 配置文件 i 属性报错:Operation not

对 DNS 配置文件 /etc/resolv.conf 增加 i 属性时会报错,提示操作不支持。比如:

$ chattr +i /etc/resolv.conf 
chattr: Operation not supported while reading flags on /etc/resolv.conf

展开
收起
开发者说 2019-08-01 17:33:59 1238 0
1 条回答
写回答
取消 提交回答
  • 问题原因

    该问题是由于 Ubuntu 12.04 之后版本系统,DNS 文件由 resolvconf 模块接管,导致直接修改 /etc/resolv.conf文件不生效,重启后会还原。

    处理办法

    修改DNS需要对 /etc/resolvconf/resolv.conf.d/tail文件修改,具体步骤可以参考 云服务器 ECS Linux Ubuntu 系统修改 resolv 文件中的 DNS信息后重启自动还原问题解决方法。

    如果仍需要使用手工修改 /etc/resolv.conf 文件的方式管理 DNS,或者增加只读属性,则需要卸载 resolvconf 模块。

    执行如下指令进行卸载:

    apt-get remove resolvconf
    
    

    注:操作前建议快照备份,以免产生影响。快照创建方法请参考 创建快照。

    操作示例:

    $ apt-get remove resolvconf
    Reading package lists... Done
    Building dependency tree       
    Reading state information... Done
    The following packages will be REMOVED:
      resolvconf ubuntu-minimal
    0 upgraded, 0 newly installed, 2 to remove and 185 not upgraded.
    After this operation, 312 kB disk space will be freed.
    Do you want to continue? [Y/n] y
    (Reading database ... 93503 files and directories currently installed.)
    Removing ubuntu-minimal (1.325) ...
    Removing resolvconf (1.69ubuntu1.1) ...
    resolvconf stop/waiting
    resolvconf.postrm: Reboot recommended
    Package configuration
    
    

    卸载 resolvconf 模块后,就可以直接修改 /etc/resolv.conf 文件来进行 DNS 配置,或者为该文件增加 i 属性。

    可以通过 chattr 指令进行 i 属性的调整。 操作示例:

    $ chattr +i /etc/resolv.conf
    $ lsattr /etc/resolv.conf 
    ----i--------e-- /etc/resolv.conf
    $ chattr -i /etc/resolv.conf
    $ lsattr /etc/resolv.conf
    
    2019-08-01 17:41:32
    赞同 展开评论 打赏

使用DNS和运维DNS相关的最佳实践

相关产品

  • 云解析DNS
  • 相关电子书

    更多
    如何运维千台以上游戏云服务器 立即下载
    网站/服务器取证 实践与挑战 立即下载
    ECS快储存加密技术 立即下载