新しい端末を開いたり、コンピュータを再起動しなくても、Vimのバージョンが変わります。簡単に言うと、翌日私のコンピュータは以前にaptによって削除されたrepoバージョンを採用しました。
私はrepoバージョンでコンパイルされていないいくつかのオプションが必要だったので、ソースからvimをコンパイルしました。以前はこれを数回実行しましたが、XUbuntu 18.04LTSではシステムがコンパイルされたvimを忘れて、私が削除したrepoバージョンを何とか元に戻しましたが、少なくともそう思いました。コンパイルとコンパイル後の設定を正しく実行しているかどうかはわかりませんでした。このリンク。私はまた、前回vim8.2をプルバックするためにcheckinstallを使用しました。dpkg -i deb_name
ここで、deb_nameはcheckinstallによって生成されたdebファイルの名前です。
vimのコンパイル済みバージョンが認識されない場合、そのインストール場所も利用できないことがわかりました。
~ $ sudo update-alternatives --install /usr/bin/editor editor /usr/local/bin/vim 1
update-alternatives: error: alternative path /usr/local/bin/vim doesn't exist
~ $ ls -l /usr/local/bin/ | grep vi
lrwxrwxrwx 1 root root 3 Mär 13 2018 ex -> vim
-rwxr-xr-x 1 root root 216 Feb 15 2019 pyvisa-info
-rwxr-xr-x 1 root root 218 Feb 15 2019 pyvisa-shell
lrwxrwxrwx 1 root root 3 Mär 13 2018 rview -> vim
lrwxrwxrwx 1 root root 3 Mär 13 2018 rvim -> vim
lrwxrwxrwx 1 root root 3 Mär 13 2018 view -> vim
lrwxrwxrwx 1 root root 3 Mär 13 2018 vimdiff -> vim
vimがコンパイルされた場所を私のシステムに知らせるためにこのコマンドを実行する必要があるので、これは本当に奇妙です。
場所はローカルドライブにあり、全体が論理/usr
ボリュームであるため、切断できません。
sudo apt remove vim vim-runtime gvim vim-common
コンパイル前にeを使用してvimを削除しました。dpkg -l | grep vim
vimパッケージがインストールされていないことを確認しました。シェルはまた、Command 'vim' not found
しばらくしてから私はvimがリポジトリに再び現れたと言いました:
~ $ dpkg -l vim
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-====================================-=======================-=======================-========================================================
ii vim 2:8.0.1453-1ubuntu1.4 amd64 Vi IMproved - enhanced vi editor
checkinstallで生成されたdebをインストールすると、約1日間問題が解決しました。
~/git_repos/vim $ sudo dpkg -i vim_20201104-1_amd64.deb
[sudo] password for tibenszky:
dpkg: warning: downgrading vim from 2:8.0.1453-1ubuntu1.4 to 20201104-1
(Reading database ... 487461 files and directories currently installed.)
Preparing to unpack vim_20201104-1_amd64.deb ...
Unpacking vim (20201104-1) over (2:8.0.1453-1ubuntu1.4) ...
Setting up vim (20201104-1) ...
Processing triggers for man-db (2.8.3-2ubuntu0.1) ...
この問題の原因が何であるか、この問題をどのようにデバッグして解決できるのか分かりません。助けてくれてありがとう。
修正する:aptの毎日のアップグレードに私のvimバージョンが含まれているようです。したがって、質問は「repoバージョンの代わりにコンパイルされたバージョンを使用したいとAPTにどのように通知できますか?」になります。私はちょうどコマンドを発行し、sudo apt-mark hold vim
vimが明日更新されないことを願っています。ここでこのコマンドを見つけました質問。
ベストアンサー1
実行してgrep -i apt /var/log/syslog
システムを更新する自動化されたタスクがあることを確認してください。存在する場合は、サブシステムで自分のバイナリが置き換えられた理由を説明できますalternatives
。おそらく、このようなことが起こらないようにしたいと思います。
update-alternatives --config editor 0<&-; echo
There are 4 choices for the alternative editor (providing /usr/bin/editor).
Selection Path Priority Status
------------------------------------------------------------
* 0 /bin/nano 40 auto mode
1 /bin/ed -100 manual mode
2 /bin/nano 40 manual mode
3 /usr/bin/vim.nox 40 manual mode
4 /usr/bin/vim.tiny 15 manual mode
Press <enter> to keep the current choice[*], or type selection number:
まだインストールしていない場合は、設定セットに独自のバイナリをインストールしてください。
update-alternatives --install /usr/bin/editor editor /usr/local/bin/vim 1
しかし、--config
上記のコマンドを再実行すると、まだ独自のバイナリに切り替えられていないことがわかります。これにより、代替サブシステムは選択を確認し、以下の設定のmanual
変更を停止する必要があります。私の考えでは、これはあなたが逃したステップかもしれません
update-alternatives --set editor /usr/local/bin/vim