
발행일: 2023년 5월 20일 (EDT 오후 2:30)
우분투(Ubuntu)는 안정성을 최우선으로 하는 배포판답게 많은 소프트웨어를 반드시 최신 버전으로 제공하지 않습니다. 오픈소스 블루투스 프로토콜 스택인 BlueZ도 그중 하나입니다. 우분투는 충분히 테스트되고 보안 취약점이 없음이 검증된, 다소 오래된 안정 버전의 BlueZ를 기본으로 탑재합니다. 덕분에 시스템은 안정적으로 유지되지만, 그 대가로 새로운 기능들은 사용할 수 없습니다.
만약 최신 버전의 BlueZ를 꼭 사용해야 한다면 직접 설치해야 합니다. 이번 가이드에서는 우분투에 최신 BlueZ를 수동으로 빌드하고 설치하는 방법을 단계별로 자세히 알아보겠습니다.
1단계: 기본 BlueZ 버전 제거하기
새 버전의 BlueZ를 설치하기 전에 먼저 현재 시스템에 설치된 기본 버전을 제거해야 합니다. 우분투의 APT 패키지 관리자를 사용하면 간단하게 삭제할 수 있습니다. 아래 명령어를 입력하세요.
sudo apt autoremove bluez진행 여부를 묻는 메시지가 나타나면 Y를 입력하고 Enter 키를 눌러 삭제를 확정합니다.
2단계: 최신 BlueZ 소스 파일 다운로드하기
기존 버전을 제거했다면 이제 최신 BlueZ 소스 파일을 내려받아야 합니다.
APT 패키지 관리자로는 설치할 수 없습니다. 공식 우분투 저장소에는 방금 삭제한 구버전만 들어 있기 때문입니다. 따라서 소스 코드를 직접 받아 빌드 파일을 준비한 후, 수동으로 설치해야 합니다.
BlueZ 공식 웹사이트에서 최신 버전의 소스 파일을 다운로드하세요. 웹 브라우저로 사이트에 접속해도 되고, 리눅스답게 터미널에서 wget 명령어를 사용해도 됩니다.
wget https://www.kernel.org/pub/linux/bluetooth/bluez-5.66.tar.xz위 명령어의 버전 번호(5.66)는 반드시 BlueZ 최신 릴리스 버전으로 바꿔서 입력하세요.
3단계: 필수 의존성 패키지 설치하기
본격적인 설치에 앞서 BlueZ 빌드에 필요한 몇 가지 의존성 패키지를 먼저 설치해야 합니다. 이 패키지들이 없으면 빌드 과정이 실패하여 설치할 수 없습니다.
APT를 통해 필요한 의존성을 한 번에 설치하려면 아래 명령어를 실행합니다.
sudo apt install build-essential libreadline-dev libical-dev libdbus-1-dev libudev-dev libglib2.0-dev python3-docutils4단계: 소스 빌드 및 BlueZ 설치하기

다운로드한 BlueZ TAR 아카이브를 tar 명령어로 압축 해제한 뒤, cd 명령어로 새로 생성된 디렉터리로 이동합니다.
tar -xf bluez-* && cd bluez*디렉터리에 진입했다면 configure 스크립트를 실행해 빌드 파일을 준비하고, 이어서 make와 make install로 BlueZ를 컴파일하고 설치합니다.
./configure
make
sudo make install여기까지가 우분투에서 최신 BlueZ를 빌드하고 설치하는 데 필요한 핵심 과정입니다.
5단계: BlueZ 서비스 설정 및 활성화하기
최신 버전의 BlueZ 설치가 끝났다면, 의도한 대로 정상 작동하도록 마지막 설정을 진행해야 합니다.
먼저 실험적(experimental) 기능을 활성화할 수 있도록 BlueZ 서비스를 수정합니다. 선호하는 텍스트 편집기로 systemd 서비스 파일인 bluetooth.service를 열고 ExecStart 항목에 --experimental 옵션을 추가합니다.
sudo nano /lib/systemd/system/bluetooth.serviceExecStart 줄을 아래와 같이 수정하세요.
ExecStart=/usr/local/libexec/bluetooth/bluetoothd --experimental그다음 systemctl 명령어로 블루투스 서비스를 활성화하고 재시작합니다.
sudo systemctl daemon-reload
sudo systemctl unmask bluetooth.service
sudo systemctl restart bluetoothsystemctl status 명령어로 서비스가 정상 작동하는지 확인할 수 있습니다.
sudo systemctl status bluetooth정상이라면 활성(active) 상태가 표시됩니다. 마지막으로 BlueZ가 올바르게 작동하는지 확인하려면 새 터미널을 열고 bluetoothctl 명령어를 입력한 뒤 Enter 키를 누르세요.
sudo bluetoothctl이것으로 우분투에 최신 버전의 BlueZ를 설치하고 설정하는 모든 과정이 끝났습니다. 이제 공식 저장소에 최신 버전이 반영될 때까지 기다릴 필요 없이, 새로운 기능들을 바로 사용해 볼 수 있습니다.
마무리: 우분투에서 최신 BlueZ로 더 나은 블루투스 환경 만들기
이제 오픈소스 블루투스 프로토콜 스택인 BlueZ의 최신 버전을 우분투에 성공적으로 설치했습니다. 이 업그레이드를 통해 다양한 신규 기능과 개선 사항을 활용할 수 있으며, 블루투스 기술을 최대한 끌어낼 수 있습니다.
또한 최신 블루투스 소프트웨어를 설치하는 것은 리눅스에서 블루투스 연결 문제를 해결하는 여러 방법 중 하나이기도 합니다. 블루투스가 잘 연결되지 않는다면 이 방법을 시도해 보는 것도 좋은 선택입니다.