O Ubuntu 13.10 usa bluez 4.98, 14.04 e 14.10 usa 4.101
Ambas as versões foram compiladas com a mesma opção (--localstatedir = / var)
Estou usando o 14.04 e os arquivos estão lá e, se eu remover ou adicionar um dispositivo, o arquivo / var / lib / bluetooth / (myadapteraddress) / linkkeys será atualizado de acordo.
Eu fiz um teste em um sistema 14.10, adicionei um dispositivo BT e o arquivo / var / lib / bluetooth / (adapteraddress) / linkkeys foi criado
Talvez você esteja usando uma versão mais recente do bluez.
Esquema para novas versões do bluez (5 em diante eu acho):
/var/lib/bluetooth/<adapter address>/<remote device address>/info
Na documentação do armazenamento das configurações da nova versão do bluez, encontrei isto:
link
...
Storage directory structure
There is one directory per adapter, named by its Bluetooth address, which
contains:
- a settings file for the local adapter
- an attributes file containing attributes of supported LE services
- a cache directory containing:
- one file per device, named by remote device address, which contains device name
- one directory per remote device, named by remote device address, which contains:
- an info file
- an attributes file containing attributes of remote LE services
- a ccc file containing persistent Client Characteristic Configuration
(CCC) descriptor information for GATT characteristics
So the directory structure is:
/var/lib/bluetooth/<adapter address>/
./settings
./attributes
./cache/
./<remote device address>
./<remote device address>
...
./<remote device address>/
./info
./attributes
./ccc
./<remote device address>/
./info
./attributes
...
...
Info file format
...
[LinkKey] group contains:
Key String Key in hexadecimal format
Type Integer Type of link key
PINLength Integer Length of PIN
...
Em qualquer caso, parece que o bluez deve armazenar os arquivos em / var / lib / bluetooth
Se você usar este comando
bluetoothd --version
você obtém 4.101?