web-dev-qa-db-ja.com

更新-代替:エラー:/ 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は死なないでしょう。何が悪いの?何がI間違っていますか?どうすれば修正できますか?

ヘルプは大歓迎です。

** 編集 **

要求どおり:

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のコンテンツを削除できなかったため、コンテンツを取得できません。

3
MD-7

代替エントリは絶望的に壊れています。

  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
David Foerster

サーバーの1つでの同様の問題:/var/lib/dpkg/alternatives/vtrgb破損

停電中のインストールの失敗と予定外の再起動による可能性があります。別のサーバーからファイルをコピーしてからこれを修正することでこれを修正しました:

Sudo apt-get -f install 

これにより壊れたdpkgが修正され、私は自分の人生を進めることができました!

0
jonnycrunch