Я собираю Vim, поэтому он устанавливается в пользовательский каталог. Я вызываю configure следующим образом:
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
Решение состояло в том, чтобы modprobe модуль libcomposite
вместо g_ether
напрямую. Это позволило установить дескрипторы USB-устройств, как и ожидалось.
Это также требует, чтобы скрипт привязывал гаджет к UDC перед выходом.