每当我尝试安装、更新或使用 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 出了问题?以下是我尝试修复此问题的方法:
- 卸载 vim (
sudo apt-get remove vim
) – 删除失败并返回类似上述错误。 sudo apt-get purge vim
- 失败,同样的错误。删除
/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
再次安装 vim-失败,同样的错误。
sudo apt-get clean && sudo apt-get autoremove
- 失败,同样的错误。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
再次抱怨文件损坏,请忽略它并继续使用下一个命令删除它们。然后使用以下命令重新安装其软件包:
sudo apt-get install --reinstall vim
这将根据您的系统上可用的软件包恢复替代条目。
vimdiff
对rvim
和其他损坏的条目进行类似操作。
答案2
我的其中一台服务器上也存在类似问题:/var/lib/dpkg/alternatives/vtrgb
损坏
可能是由于安装失败和断电期间意外重启造成的。我通过从另一台服务器复制文件然后执行以下操作来修复此问题:
sudo apt-get -f install
这修复了损坏的 dpkg,我可以继续我的生活了!