Гид по технологиям

Установка последней версии BlueZ на Ubuntu

5 min read Linux Обновлено 04 Jan 2026
Установка последней версии BlueZ на Ubuntu
Установка последней версии BlueZ на Ubuntu

Ноутбук на деревянном столе с логотипом Bluetooth

Ubuntu по умолчанию поставляется с проверенной, но часто устаревшей версией многих пакетов. Одним из таких пакетов является BlueZ — открытый стек протоколов Bluetooth. Дистрибутивы включают старую стабильную сборку, чтобы обеспечить предсказуемость и безопасность, но это означает отсутствие последних возможностей.

Если вам нужны новые фичи из актуального релиза BlueZ, их придётся устанавливать вручную. В этом руководстве описано, как корректно удалить старую версию, собрать и установить последнюю версию BlueZ из исходников, а также как проверить и откатить изменения при необходимости.

Зачем устанавливать BlueZ вручную

  • Быстрый доступ к новым функциям и исправлениям.
  • Необходимость поддержки новых профилей или аппаратуры.
  • Отладка или разработка функций Bluetooth.

Важно: ручная установка увеличивает ответственность администратора — обновления безопасности и исправления вам придётся отслеживать самостоятельно.

Шаг 1 — Удаление стандартной версии BlueZ

Перед установкой новой версии удалите пакет Ubuntu, чтобы не возникло конфликтов с файлами и путями.

sudo apt autoremove bluez

Подтвердите удаление, введя Y и нажав Enter.

Важно: удаление пакета временно может отключить Bluetooth-устройства. Убедитесь, что у вас есть способ доступа к системе (SSH, локальная клавиатура), если Bluetooth используется для управления удалённо.

Шаг 2 — Загрузка исходников BlueZ

Официальные архивы BlueZ находятся на kernel.org. Скачайте свежую версию либо через веб-браузер, либо через терминал. Пример команды (замените номер версии на актуальный):

wget http://www.kernel.org/pub/linux/bluetooth/bluez-5.66.tar.xz

Рекомендуется проверять контрольные суммы на странице загрузки перед сборкой.

Ссылка: BlueZ (официальный сайт для загрузки исходников)

Шаг 3 — Установка зависимостей

Для успешной сборки нужны инструменты разработки и заголовки библиотек. Установите их через APT:

sudo apt update
sudo apt install build-essential libreadline-dev libical-dev libdbus-1-dev libudev-dev libglib2.0-dev python3-docutils

Если у вас минимальная система, добавьте пакеты для разработки (gcc, make и т.д.). В некоторых дистрибутивах могут понадобиться дополнительные пакеты (например, libcap-dev, libtool) — если сборка выдаёт ошибки, смотрите вывод ./configure и устанавливайте недостающие dev-пакеты.

Шаг 4 — Распаковка, сборка и установка BlueZ

Процесс сборки исходников BlueZ на терминале

Распакуйте архив и перейдите в каталог исходников (учитывайте формат .tar.xz):

tar -xJvf bluez-*.tar.xz && cd bluez-*

Подготовьте сборку и установите пакет:

./configure
make
sudo make install

Если ./configure сообщит о недостающих компонентах, установите соответствующие -dev пакеты и повторите.

Совет: для разработки лучше собирать в отдельном непривилегированном каталоге; установкой в систему занимается только sudo make install.

Шаг 5 — Конфигурация и запуск сервисов BlueZ

Чтобы включить экспериментальные функции (иногда новые API пока недоступны без флага), отредактируйте systemd-сервис:

sudo nano /lib/systemd/system/bluetooth.service

Найдите строку ExecStart и измените её так, чтобы демон запускался с флагом –experimental:

ExecStart=/usr/local/libexec/bluetooth/bluetoothd --experimental

Затем обновите конфигурацию systemd и перезапустите сервис:

sudo systemctl daemon-reload
sudo systemctl unmask bluetooth.service
sudo systemctl restart bluetooth
sudo systemctl status bluetooth

Для проверки работы используйте интерактивную утилиту bluetoothctl:

sudo bluetoothctl

Внутри bluetoothctl выполните команды show, list и scan on, чтобы убедиться, что демон отвечает.

Когда установка может не сработать

  • Несовместимость между версией ядра и требуемыми функциями BlueZ. Некоторые функции требуют определённых версий ядра или патчей.
  • Отсутствие нужных -dev пакетов или старые версии зависимостей (glib, dbus).
  • Конфликт с пакетным менеджером: если вы позднее установите пакет bluez из репозитория, он может перезаписать /usr/libexec или конфигурацию.
  • Аппаратная несовместимость: устаревшие Bluetooth-адаптеры могут не поддерживать новые профили.

Альтернативные подходы

  • Использовать PPA или backport, если кто-то поддерживает сборку BlueZ для вашей версии Ubuntu.
  • Переключиться на дистрибутив с более свежими пакетами (например, более новые выпуски Ubuntu или Rolling-release дистрибутивы).
  • Использовать контейнер/VM для тестирования новой версии без изменения основной системы.

Контрольные тесты и критерии приёмки

Критерии приёмки:

  • systemctl status bluetooth показывает active (running).
  • bluetoothctl возвращает корректный output для команды show.
  • Устройства успешно обнаруживаются и пара соединяется (scan on, pair , connect ).
  • Логи в journalctl -u bluetooth не содержат критических ошибок.

Примеры тестов:

  • Проверка статуса демона: sudo systemctl status bluetooth
  • Проверка логов: sudo journalctl -u bluetooth –no-pager | tail -n 200
  • В bluetoothctl: show; list; scan on; pair

Чеклист по ролям

Администратор:

  • Сделать резервную копию /etc и списка установленных пакетов.
  • Установить зависимости.
  • Отредактировать unit-файл systemd и перезапустить сервис.

Разработчик/тестировщик:

  • Проверить реакцию D-Bus API через dbus-monitor.
  • Выполнить интеграционные тесты с приложением, использующим Bluetooth.

Пользователь:

  • Убедиться, что профиль A2DP/HFP работает в медиаплеере.

Откат/rollback

Если новая версия вызывает проблемы, можно откатиться:

  1. Удалите вручную установленные файлы (обычно в /usr/local/*):
sudo make uninstall  # если доступен Makefile и поддерживает uninstall
# или вручную удалить /usr/local/libexec/bluetooth и связанные файлы
  1. Переустановите пакет из репозитория:
sudo apt update
sudo apt install --reinstall bluez
  1. Восстановите сохранённые конфигурации systemd и перезагрузите сервис.

Риски и меры смягчения

Риски:

  • Потеря беспроводной связи.
  • Появление regressions в новых релизах.
  • Неполадки безопасности при включении экспериментальных функций.

Меры:

  • Тестировать в виртуальной среде перед продуктивом.
  • Держать резервные копии конфигураций и список пакетов.
  • Ограничить доступ к машине во время экспериментов.

Краткий справочник (1‑строка термины)

  • BlueZ — официальный стек Bluetooth для Linux.
  • bluetoothd — демон BlueZ.
  • bluetoothctl — интерактивная утилита управления Bluetooth.
  • systemd unit — конфигурация сервиса в /lib/systemd/system.

Замечания по безопасности и приватности

Флаг –experimental может включать неполностью протестированные интерфейсы. При работе с чувствительными данными избегайте включения экспериментальных возможностей в продуктивной среде без ревью. Также проверяйте, какие дополнительные D-Bus интерфейсы становятся доступны и кто их может вызывать.

Сводка

Установка последней версии BlueZ из исходников даёт доступ к новым возможностям, но требует аккуратности: установите зависимости, соблюдайте порядок удаления старого пакета, собирайте и тестируйте в контролируемой среде. Всегда держите план отката и резервные копии.

Важно: следите за обновлениями безопасности и документацией официального проекта BlueZ.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

RDP: полный гид по настройке и безопасности
Инфраструктура

RDP: полный гид по настройке и безопасности

Android как клавиатура и трекпад для Windows
Гайды

Android как клавиатура и трекпад для Windows

Советы и приёмы для работы с PDF
Документы

Советы и приёмы для работы с PDF

Calibration в Lightroom Classic: как и когда использовать
Фото

Calibration в Lightroom Classic: как и когда использовать

Отключить Siri Suggestions на iPhone
iOS

Отключить Siri Suggestions на iPhone

Рисование таблиц в Microsoft Word — руководство
Office

Рисование таблиц в Microsoft Word — руководство