0

Updating Crashplan on ARM based QNAP

Last month I wrote a quick overview of the process to install Crashplan on and ARM based QNAP NAS. Six weeks (ish) later and it’s still going ok. Or, at least I thought it was…

Periodically, the makers of Crashplan update their software. Nothing surprising about that except that as the ARM based QNAPs aren’t an officially supported device (that I’m aware of), the automatic update doesn’t work and the backup engine on my QNAP kept stopping.

The upgrade itself is pretty straightforward however.

On the QNAP NAS

To get the software on the NAS updated, you first have to download the QPKG file from this thread on the QNAP forum.

Once you’ve saved it onto your QNAP device (I put it in the “Public” share but the location isn’t too important), the update can be performed very simply via an SSH session to the NAS:

[text][/share/Public] # sh ./CrashPlan_3.6.4_31_arm-x19.qpkg
Install QNAP package on TS-NAS…
./
./qinstall.sh
./qpkg.cfg
./package_routines
913+1 records in
913+1 records out
19203+1 records in
19203+1 records out
CrashPlan 3.6.3_30 is already installed. Setup will now perform package upgrading.
Stopping CrashPlan…
kill: Could not kill pid ‘14842’: No such process
Link service start/stop script: crashplan.sh
Set QPKG information in /etc/config/qpkg.conf
Cleaning /tmp/*.jna files…
Cleaning /share/MD0_DATA/.qpkg/CrashPlan/tmp/ files…
Starting CrashPlan…
Using interface: eth0 (192.168.1.5) – This can be changed in the web interface!
CrashPlan 3.6.4_31 has been installed in /share/MD0_DATA/.qpkg/CrashPlan.[/text]

That’s literally all you need to do to get your backups running again.

Client Software

Of course though, to configure and manage backups etc on your headless QNAP NAS, you need a client installed somewhere and that will need updating too.

In my case, the client software is on my MacBookPro. Downloading and installing the updated client software is a doddle so I’m not going to go in to any further detail there. However, the update process does wipe out the setting that points the client at your QNAP NAS.

To remake that setting, I had to edit the file /Applications/CrashPlan.app/Contents/Resources/Java/conf/ui.properties and uncomment the line that read:

[text]#serviceHost=127.0.0.1[/text]

and replace the IP address with the one from my NAS.

201410294_211051-CapturFiles

Job done!

0

Installing Crashplan on ARM based QNAP

The downside of living in the boonies in the UK is that the broadband speeds can be a little on the rubbish side. When I moved to my current house 4 years ago, I knew I’d be giving up good internet for for something a bit lacking. I just didn’t think it would take so long to get something better going. This is yesterday’s speedtest:

CapturFiles-201408243_200808

Since a nice man from BT is due to visit tomorrow to sort me out with that “something better”, I can finally take advantage of some of the cloud offerings that really haven’t been practical until now. Foremost amongst these offerings for me is the ability to backup all of the photos and files that my family and I have created or acquired over the years. They are all stored on a 4-year old QNAP NAS.

Super! I thought that I’d slip Crashplan on to the NAS and set it to backup overnight. Give it a few weeks and the backups would be up to date. A weight off my mind.

Except that getting it all running wasn’t totally straightforward…

JRE Needed

Crashplan has been packaged as a QNAP QPKG file and is available to download from the QNAP forum here. It has a dependency on Java however and so a supported JRE must be installed and enabled before it can even be installed. There is one available for ARM based QNAPs in the AppCenter. However, after installing it I couldn’t confirm that it was running for some reason. Connecting via SSH and executing “java -version” didn’t have the desired results.

It seems that I wasn’t the only one to hit this issue. Instead of installing the package directly through the AppCenter though it is possible to download the package and then install it manually. Simply select the package in AppCenter and click the download link.

CapturFiles-201408243_210869

 

Once downloaded, use the “Install Manually” option in AppCenter and select the unzipped file you just downloaded.

CapturFiles-201409244_210997

With that done, checking the java version again yielded the desired result:

[text][~] # java -version
java version "1.8.0" Java(TM) SE Embedded Runtime Environment (build 1.8.0-b132, headless)
Java HotSpot(TM) Embedded Client VM (build 25.0-b70, mixed mode)[/text]

Wrong JRE?

With the JRE installed, I thought that this would be fairly easy. Again using “Install Manually” in the AppCenter, I gave my NAS the Crashplan QPKG. It failed.

Just in case it would give me some more information, I copied the QPKG file to a share on the NAS and tried via the command line:

[text][/share/Public] # sh ./CrashPlan_3.6.3_30_arm-x19.qpkg
Install QNAP package on TS-NAS…
./
./qinstall.sh
./qpkg.cfg
./package_routines
917+1 records in
917+1 records out
19288+1 records in
19288+1 records out
CrashPlan 3.6.3_30 installation failed. The following QPKG must be installed and enabled: JRE >= 1.6.
Installation Abort.[/text]

Hmm. But we have a JRE. What’s up? It’s tenuous, but the error message suggests that the JRE QPKG can’t be found, it’s not complaining that Java itself isn’t present.

Tenuous but true as it turns out. I did a little experimentation. There is a file on the NAS that contains details about the packages installed. It can be found at /etc/config/qpkg.conf.

I used vi to edit the file and replaced this section:

[text][JRE_ARM]
Name = JRE_ARM
Version = 8.0.1
Author = Optimus
QPKG_File = JRE_ARM.qpkg
Date = 2014-08-30
Shell = /share/MD0_DATA/.qpkg/JRE_ARM/jre.sh
Install_Path = /share/MD0_DATA/.qpkg/JRE_ARM
RC_Number = 101
Enable = TRUE
Status = complete[/text]

With the following:

[text][JRE]
Name = JRE
Version = 8.0.1
Author = Optimus
QPKG_File = JRE_ARM.qpkg
Date = 2014-08-30
Shell = /share/MD0_DATA/.qpkg/JRE_ARM/jre.sh
Install_Path = /share/MD0_DATA/.qpkg/JRE_ARM
RC_Number = 101
Enable = TRUE
Status = complete[/text]

Bazinga!

Once the AppCenter page was refreshed, “JRE_ARM” had been replaced by “JRE”. And this time, Crashplan installed correctly:

[text][/etc/config] # sh /share/Public/CrashPlan_3.6.3_30_arm-x19.qpkg
Install QNAP package on TS-NAS…
./
./qinstall.sh
./qpkg.cfg
./package_routines
917+1 records in
917+1 records out
19288+1 records in
19288+1 records out
Starting CrashPlan once to generate config files…
CrashPlan is disabled.
Forcing startup…
Cleaning /tmp/*.jna files…
Cleaning /share/MD0_DATA/.qpkg/CrashPlan/tmp/ files…
Starting CrashPlan…
Link service start/stop script: crashplan.sh
Set QPKG information in /etc/config/qpkg.conf
CrashPlan 3.6.3_30 has been installed in /share/MD0_DATA/.qpkg/CrashPlan.[/text]

 

All that remained was to set the correct IP address on my NAS for Crashplan to listen on and then I could connect and configure it via the client software on my laptop.

CapturFiles-201408242_220865The only thing now is to wait for my broadband to be upgraded tomorrow…