Update UniFi Controller auf Raspberry Pi

Ich hatte ja bereits hier geschrieben, dass ich ein UniFi Controller auf einem Raspberry Pi betreibe. Nun will diese Software auch gelegentlich aktualisiert werden.

Ausgangslage: Ich habe den UniFi Controller unter /opt/UniFi installiert. Mein Downloadverzeichnis ist /home/pi/download oder kurz ~/download. Der Controller läuft unter dem user unifi.

Schritt 0: die aktuelle Version des UniFi Controllers herunterladen (siehe Blog)

$ cd ~/download/

~/download $ sudo wget http://www.ubnt.com/downloads/unifi/3.2.7/UniFi.unix.zip

–2014-12-13 03:11:34– http://www.ubnt.com/downloads/unifi/3.2.7/UniFi.unix.zip

[…]

100%[======================================>] 35,236,680 2.82M/s in 14s

2014-12-13 03:11:48 (2.48 MB/s) – `UniFi.unix.zip‘ saved [35236680/35236680]

~/download $

Schritt 1: Den UniFi Controller stoppen

$ sudo /etc/init.d/unifi stop

Kontrolle via ps -ef | grep /opt/UniFi/

Notfalls „sudo pkill -9 mongod“

 (optional) Schritt 2: Die Daten sichern.

$ sudo tar -czvf /home/pi/data.tar.gz /opt/UniFi/data

Schritt 3: Das bestehende Verzeichnis verschieben

(Achtung: wirklich schon alle Prozesse beendet?)

$ sudo mv /opt/UniFi /opt/UniFi.old

Schritt 4: Die neue Version entpacken

~/download $ sudo unzip UniFi.unix.zip -d /opt/

Schritt 5: Die Daten zurückschaufeln

$ cd /opt/UniFi.old

/opt/UniFi.old $ sudo cp -pr data ../UniFi

/opt/UniFi.old $ sudo cp -pr logs ../UniFi

Schritt 6: mongodb symlink reparieren

$ cd /opt/UniFi/bin

/opt/UniFi/bin $ sudo rm mongod

/opt/UniFi/bin $ sudo ln -fs /opt/mongodb/mongod mongod

Schritt 7: Rechte setzen

$cd /opt

/opt $ sudo chown -R unifi:root UniFi

 Schritt 8: Starten

$ sudo /etc/init.d/unifi start

Zwei Minuten warten bis der Serverdienst gestartet ist. Danach funktioniert der Login wieder wie gewohnt. Im Adminpanel (unterer Bereich) kann man bei Server Information dann kontrollieren, ob man auf der neuen Version läuft. Am Ende bleibt dann noch, die Access Points zu aktualisieren.