Установка BlueZ 5.50 не обновляет bluetoothd

Я пытаюсь установить BlueZ 5.50 на Ubuntu 16.04, потому что мне нужна поддержка MIDI.

Я скомпилировал и установил его следующим образом:

sudo apt-get install libudev-dev
sudo apt-get install libical-dev
sudo apt-get install libreadline-dev
cd bluez-5.50
./configure --enable-midi
make -j8
sudo make install

Проблема состоит в том, что это не обновляет /usr/sbin/bluetoothd, который является версией по умолчанию, которая запускается, когда я перезагружаю.
bluetoothd -v результаты в 5.37
но ./src/bluetoothd -v результаты в 5.50.

Единственная версия в пути, кажется, старая версия:

whereis bluetoothd
bluetoothd: /usr/sbin/bluetoothd /usr/share/man/man8/bluetoothd.8.gz

Почему сценарий установки сохраняет старую версию? Как я могу обновить все к новой версии? Я имею к?

Прямо сейчас MIDI BLE, кажется, работает, даже со старой версией bluetoothd.

1
задан 11 August 2018 в 15:38

1 ответ

Если Вы скомпилируете программу из источников и не будете использовать предварительно скомпилированные dpkg пакеты, то dpkg пакеты не будут затронуты или изменены всегда.

Обычно, configure шаг дает сборке команду использовать/usr/local в качестве префикса установки вместо/usr. Это должно предотвратить самоскомпилированный материал для переопределения двоичных файлов или других файлов, которые поставляются в dpkg пакете.
Так Вы bluetoothd двоичный файл находится где-нибудь в/usr/local.

root@localhost:~/bluez-5.50# find /usr/local -name bluetoothd
/usr/local/libexec/bluetooth/bluetoothd

К сожалению, или к счастью, не действительно уверенный, make install действительно помещает a systemd сервис и цель в/lib/systemd/system, который переопределяет файлы от dpkg пакета bluez.
По-моему, эти два файла должны войти /etc/systemd/system предотвратить, например, обновление bluez перезапись вручную установленной версии. Для создания этого также необходимо добавить --with-systemdsystemunitdir=/etc/systemd/system к Вашему configure управляйте и переустановите новый блюз и старый блюз.

root@localhost:~/bluez-5.50# ./configure --enable-midi --with-systemdsystemunitdir=/etc/systemd/system
root@localhost:~/bluez-5.50# make 
root@localhost:~/bluez-5.50# make install
root@localhost:~/bluez-5.50# apt-get install --reinstal bluez
2
ответ дан 7 December 2019 в 13:22

Другие вопросы по тегам:

Похожие вопросы: