ソースからVimをビルドしてcheckinstall
すぐにインストールしました。ソフトウェアとアップデートVimのアップデートについて警告します。しかし、インストール後にVimパスが変更され、他のビルドが置き換えられ、私のソースビルドが消えました。何が起こったのか知っていますか?
答え1
Vimをビルドしてカスタムディレクトリにインストールしました。私は次のように設定を呼び出します。
configure --prefix=/usr/local/mybuild/vim --mandir=/usr/local/mybuild/vim/share/man --without-local-dir ...
だから私はやる
make
make test
make install
その後、実行可能ファイルは/usr/local/mybuild/vim/bin/vim
。
代替リンクを更新するために、次のことを行いました。これは一度だけ必要であり、その後毎回必要ではありませんmake install
。
update-alternatives --install /usr/bin/editor editor /usr/local/mybuild/vim/bin/vim 1200
update-alternatives --install /usr/bin/eview eview /usr/local/mybuild/vim/bin/vim 1200
update-alternatives --install /usr/bin/evim evim /usr/local/mybuild/vim/bin/vim 1200
update-alternatives --install /usr/bin/ex ex /usr/local/mybuild/vim/bin/vim 1200
update-alternatives --install /usr/bin/gview gview /usr/local/mybuild/vim/bin/vim 1200
update-alternatives --install /usr/bin/gvim gvim /usr/local/mybuild/vim/bin/vim 1200
update-alternatives --install /usr/bin/gvimdiff gvimdiff /usr/local/mybuild/vim/bin/vim 1200
update-alternatives --install /usr/bin/rgview rgview /usr/local/mybuild/vim/bin/vim 1200
update-alternatives --install /usr/bin/rgvim rgvim /usr/local/mybuild/vim/bin/vim 1200
update-alternatives --install /usr/bin/rview rview /usr/local/mybuild/vim/bin/vim 1200
update-alternatives --install /usr/bin/rvim rvim /usr/local/mybuild/vim/bin/vim 1200
update-alternatives --install /usr/bin/vi vi /usr/local/mybuild/vim/bin/vim 1200
update-alternatives --install /usr/bin/view view /usr/local/mybuild/vim/bin/vim 1200
update-alternatives --install /usr/bin/vim vim /usr/local/mybuild/vim/bin/vim 1200
update-alternatives --install /usr/bin/vimdiff vimdiff /usr/local/mybuild/vim/bin/vim 1200
システムのインストール時にリンクが置き換えられないように、高い優先順位(1200)を選択しました。
Vimはへ/usr/bin/vim
のリンクで/etc/alternatives/vim
あり、へのリンクです/usr/local/mybuild/vim/bin/vim
。だから呼び出しはvim
Vimプライベートビルドを開始します。
vimの代替案がどのように構成されているかを確認するには、マイupdate-alternatives --display vim
コンピュータで次の出力を生成します。
$ update-alternatives --display vim
vim - auto mode
link best version is /usr/local/mybuild/vim/bin/vim
link currently points to /usr/local/mybuild/vim/bin/vim
link vim is /usr/bin/vim
/usr/bin/vim.basic - priority 30
/usr/bin/vim.gtk3 - priority 50
/usr/local/mybuild/vim/bin/vim - priority 1200
答え2
2つのうちの1つが発生しました。
ディストリビューションと同じ名前のパッケージを使用していますが、ディストリビューション更新パッケージのバージョンが高くなります。そのため、パッケージマネージャはカスタムビルドを展開バージョンに「アップグレード」することを嬉しく思います。回避策:配布パッケージを削除し、ローカルパッケージに別の名前を使用します(例
local-vim
:)。同じ名前を使用する必要がある場合(たとえば、依存関係のため)、より高いバージョンを使用してください。たとえば、Debianでは時代を追加できます。vim-from-sourceを にインストールし、
/usr
配布パッケージのファイルは同じ名前を使用します。したがって、ファイルが上書きされます。可能性は低いですが、多くのパッケージマネージャはこれについて話します...回避策は、別のパス(または/opt
)/usr/local
を使用したり、distroパッケージをインストールしたりしないことです。