update-alternatives:错误:/ var / lib / dpkg / alternatives / vim corrupt:无效状态

每当我尝试使用apt-get进行安装,更新或执行任何操作时,我总会得到类似于此的错误消息,关注vim:

0 upgraded, 0 newly installed, 0 to remove and 2 not upgraded. 1 not fully installed or removed. After this operation, 0 B of additional disk space will be used. Do you want to continue [Y/n]? y Setting up vim (2:7.3.154+hg~74503f6ee649-2ubuntu3.1) ... update-alternatives: error: /var/lib/dpkg/alternatives/vim corrupt: invalid status dpkg: error processing vim (--configure): subprocess installed post-installation script returned error exit status 2 Errors were encountered while processing: vim 

不完全确定这里发生了什么。 我的假设是vim有些东西是腐败的? 以下是我尝试解决此问题的方法:

  1. 卸载vim( sudo apt-get remove vim ) – 删除失败并返回类似于上面的错误。
  2. sudo apt-get purge vim – 失败,同样的错误。
  3. 删除错误消息中提到的/var/lib/dpkg/alternatives/vim文件,然后再次尝试删除/清除 – 删除/清除仍然失败,但不是:

     update-alternatives: error: /var/lib/dpkg/alternatives/vim corrupt: invalid status 

    在它的位置,我得到:

     update-alternatives: error: /var/lib/dpkg/alternatives/vimdiff corrupt: line not terminated while trying to read status 
  4. 再次安装vim – 失败,同样的错误。

  5. sudo apt-get clean && sudo apt-get autoremove – 失败,同样的错误。
  6. sudo apt-get install --fix-broken – 失败,同样的错误。

这有点烦人。 vim就不会死。 出了什么问题? 做错了什么? 我该如何解决?

非常感谢帮助。

** 编辑 **

按照要求:

输出LC_MESSAGES=C update-alternatives --query vim

 Link: vim Status: auto Best: /usr/bin/vim.basic Value: /usr/bin/vim.basic Alternative: /usr/bin/vim.basic Priority: 30 

/var/lib/dpkg/alternatives/vimdiff

 b0VIM 7.3Ýroot 

不能获取/ var / lib / dpkg / alternatives / vim的内容,因为我删除了它,哈哈抱歉。

替代品条目无可救药地被打破。

  1. 您应该删除它们:

     sudo update-alternatives --remove-all vim sudo rm -f /etc/alternatives/vim /var/lib/dpkg/alternatives/vim 

    如果update-alternatives再次抱怨损坏的文件,请忽略它,然后继续使用下一个命令删除它们。

  2. 然后重新安装他们的包:

     sudo apt-get install --reinstall vim 

    这将根据系统上可用的包还原备选条目。

  3. 继续类似于vimdiffrvim和其他损坏的条目。

我的一台服务器上的类似问题: /var/lib/dpkg/alternatives/vtrgb损坏

可能是因为在停电期间安装失败和计划外重启。 我通过从另一台服务器复制文件然后执行以下操作来修复此问题

 sudo apt-get -f install 

这修复了破碎的dpkg,我能够继续我的生活!