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

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

每当我尝试安装、更新或使用 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

替代条目已彻底损坏。

  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和其他损坏的条目进行类似操作。

答案2

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

可能是由于安装失败和断电期间意外重启造成的。我通过从另一台服务器复制文件然后执行以下操作来修复此问题:

sudo apt-get -f install 

这修复了损坏的 dpkg,我可以继续我的生活了!

相关内容