ラズパイに最新のMosquittoをインストールする

2016.01.25

wheezy版Raspberry Pi2にMQTTサーバ・クライアントのMosquittoをインストールしようとしたところ、0.15-2と2012年ごろとかなり昔のパッケージが提供されていました。

Raspberry Pi2向けのMosquittoレポジトリを登録して、より新しいMosquittoをインストールする方法を紹介します。

GPG登録

$ wget -q http://repo.mosquitto.org/debian/mosquitto-repo.gpg.key -O- | sudo apt-key add -

レポジトリの追加

今回は1世代前の wheezy リリース向けのレポジトリを追加します。

$ sudo wget http://repo.mosquitto.org/debian/mosquitto-wheezy.list \
  -O /etc/apt/sources.list.d/mosquitto-wheezy.list
$ cat /etc/apt/sources.list.d/mosquitto-wheezy.list
deb http://repo.mosquitto.org/debian wheezy main

ターゲットのリリースに応じて、wheezy を jessie(最新リリース)やstretch(時期リリース)に読み替えてください。

パッケージ情報の更新

$ sudo apt-get update 
$ apt-cache policy mosquitto-clients
mosquitto-clients:
  Installed: 0.15-2
  Candidate: 1.4.7-0mosquitto1~nows1
  Version table:
     1.4.7-0mosquitto1~nows1 0
        500 http://repo.mosquitto.org/debian/ wheezy/main armhf Packages
 *** 0.15-2 0
        500 http://mirrordirector.raspbian.org/raspbian/ wheezy/main armhf Packages
        100 /var/lib/dpkg/status

インストール済み(Installed)のものは 0.15-2 なのに対して、1.4.7 がインストール可能(Candidate)であることがわかります。

Mosquitto 系パッケージには

  • mosquitto(MQTTサーバー)
  • mosquitto-clients(MQTTクライアント)

などがあります。 適宜、必要なパッケージをインストールしてください。

パッケージのインストール

$ sudo apt-get install mosquitto-clients
$ mosquitto_pub --help
mosquitto_pub is a simple mqtt client that will publish a message on a single topic and exit.
mosquitto_pub version 1.4.7 running on libmosquitto 1.4.7.
...
$ apt-cache policy mosquitto-clients
mosquitto-clients:
  Installed: 1.4.7-0mosquitto1~nows1
  Candidate: 1.4.7-0mosquitto1~nows1
  Version table:
 *** 1.4.7-0mosquitto1~nows1 0
        500 http://repo.mosquitto.org/debian/ wheezy/main armhf Packages
        100 /var/lib/dpkg/status
     0.15-2 0
        500 http://mirrordirector.raspbian.org/raspbian/ wheezy/main armhf Packages

無事バージョン 1.4.7 がインストールされました。

$ sudo apt-get installではなく $ sudo apt-get upgradeとすると、インストール済みパッケージ全体に対してアップグレードしようとするので、気をつけてください。

参考