How to install Crashplan on FreeBSD 22


A how-to for installing Crashplan backup software on FreeBSD, my favorite server software with my favorite backup software.

We owe Kim Scarborough and Aaron Baff for this information, BIG TIME! Thank you, Thank you, Thank you, Kim and Arron for your help in making this possible!

Kims original HOW-TO is here:
http://kim.scarborough.chicago.il.us/do/nerd/tips/crashplan

I have no contact or reference info for Aaron, exept, here’s the original CrashPlan forum thread with our conversations:
https://crashplan.zendesk.com/entries/112498

All credit for this really belongs to Arron and Kim! I only wanted to record my own notes and share my experience here.

Greg’s How-to: How to install Crashplan on FreeBSD!

Note, this install is on a FreeBSD 8.1-RELEASE system. Kim installed on FreeBSD 7. Also, this doesn’t seem to matter for installation purposes, but my system also runs with ZFS on a GPT root mirror, with other ZFS pools on the system as well using RAIDz2. (where I will store my Crashplan data)

Below I mention “install some/port”, which is not intended to be a literal command. I’ll leave the details of installing ports to you, which you can find online on other sites.

1. install emulators/linux_base-f10
Note: I had to find glibc-common online and manually load into distfiles when I first tried to install on 8.1.
Update 3/30/11: As of 3/30, and running on FreeBSD 8.2, I did not need to find glibc manually, it just loaded first try. Maybe the first time I tried the mirrors were unavailable?

1.b Check /etc/rc.conf
After you install the Linux base packages, check /etc/rc.conf that linux is enabled and add it if not.
linux_enable="YES"

2. Add to fstab and mount:
linproc /compat/linux/proc linprocfs rw 0 0

Then…
mount linproc

Update 3/30/11 FreeBSD 8.2: I wasn’t able to mount linproc at this point. I rebooted the system, then it mounted. So, reboot first, then add this to your fstab and make sure it mounts before you reboot.

3. install sysutils/linux-procps

Update 3/30/11 FreeBSD 8.2: In the next steps 3, 4, 5, 6, 7, I needed to add the following to my /etc/make.conf file. Note that the “f10” is NOT in quotes. Once this was added, these extra ports installed fine.

OVERRIDE_LINUX_BASE_PORT=f10
OVERRIDE_LINUX_NONBASE_PORTS=f10
LINUX_DIST_SUFFIX=f10

4. install /usr/ports/textproc/linux-f10-expat


5. install /usr/ports/x11-fonts/linux-f10-fontconfig


6. install /usr/ports/x11/linux-f10-xorg-libs


7. install /usr/ports/java/linux-sun-jre16
note: you’ll need to manually find and download the jre-6u3 file from sun/oracle.

You should have these installed. (or similar, maybe other versions)

linux-f10-expat-2.0.1 = up-to-date with port
linux-f10-fontconfig-2.6.0 = up-to-date with port
linux-f10-xorg-libs-7.4_1 = up-to-date with port
linux-procps-3.2.5 = up-to-date with port
linux-sun-jre-1.6.0.03 = up-to-date with port
linux_base-f10-10_3 = up-to-date with port

8. change to linux bash, as root:
/compat/linux/bin/bash

Note that this puts you into the linux compat environment. If you go looking for /usr/local/bin/crashplan, it won’t be there unless you are in the linux compat environment first. The actual location is here:
/compat/linux/usr/local/crashplan

9. Install Crashplan.
go to the Crashplan-install folder (where you extracted it) and start the ./install.sh script. Use all defaults and finish the script.

10. Edit run.conf. In the /usr/local/crashplan/bin folder,
edit the run.conf file. There are two long lines defining
Java statup parameters. Add the following to the SVR line.

-Djava.nio.channels.spi.SelectorProvider=sun.nio.ch.PollSelectorProvider

That should go within the quotes!

11. Try starting the service:
/usr/local/crashplan/bin/CrashPlanEngine start

You’ll need to start this manually (from within linux bash), and will not start at boot.
(until one of us writes an rc script)
Update 3/30/11: Here’s an rc.d startup script how to for Crashplan:

An rc.d startup script for Crashplan running on FreeBSD


12. Use the “headless” install connection per the Crashplan FAQ’s online to connect from another Linux/Windows/Mac system to manage the service.

Good luck!!

 

[UPDATE 3/5/2014]
Those of you having issues backing up /usr/home directory, I wrote up a quick how-to that may help workaround this:

Freebsd CrashPlan backup folders outside /compat/linux solved

 

  • nle

    Any luck getting this to work on FreeNAS 8.0?

  • Aaron Baff

    Hey Greg, thanks for the credit, one thing I notice you don’t have here that I found I needed was linux_enable=”YES” into my rc.conf. I’m just trying your rc.d startup script, thanks for that! I was being lazy and not writing one yet because I reboot my system so rarely, lol.

    • Anonymous

      No prob! And thank you!! We wouldn’t have this without you and Kim’s efforts! You are right, I forgot to mention the rc.conf addition. (added! THANKS!)

      That startup script seems to work fine on startup, but I don’t think it works good for shutdown. There’s seems to be some issues with finding PID’s. I had one system it worked well, then another that didn’t. But maybe that was my fault for messing up the install. But hardly reboot too, so I don’t really care. I just want it to launch at startup mainly, and that works. :)

  • Hi Greg

    Thanks a bunch for this guide – They really need official bsd support for crashplan.

    I got a question, is your service.log.0 (in crashplans log dir) filled with

    SocketException getting network interfaces! java.net.SocketException: Cannot assign requested address
    http://pastebin.com/FVmrPRPB

    Everything is working as far as i can see, but it would be nice not to have this error filling the logs

    • Anonymous

      Yes, I do get those errors. I don’t know how to fix it. I wouldn’t mind keeping the log files cleared of errors myself, but I am just so thrilled to have Crashplan working on FreeBSD, I am willing to overlook it. :)

  • Ray Cathcart

    I can’t thank you enough. Kim and Aaron are equally awesome, but you get props for keeping things up-to-date through 8.2. Saved me loads of time, and it works flawlessly.

  • Kai

    Hey, thanks for the write up. I can start crashplan on my mac using the headless setup described in their FAQ. But, I cannot select folders outside of the compat/linux environment. How did you do that? Thanks!

    • Anonymous

      To be honest, I am not sure how to help with this one. I don’t have a mac. But… if you have a Mac, why not use their native GUI installer? I am pretty sure Macs have a remote desktop of some sort, so you can view a remote server/desktop screen.

      On FreeBSD, using the compat/linux env didn’t inhibit me in any way, it just worked once we figured out a few bugs. And I can happily report that even still, its crankin’ away in the corner without any interaction on my part for months now. Just what you’d want in a solid server! :)

      I’d go with a GUI install and use their native Mac installers, just to be safe. Mac may have a Unix-based core, and as I understand it, its kernel has some roots that are shared with FreeBSD, but its not FreeBSD based. Go with the native Mac installer and save yourself some headache. :)

      • taco

        How do you backup your /usr/home directory? crashplan doesn’t seem to follow the symbolic link and to find files and calculate file.Do you have to mount your extra storage in /compat/linux/mnt for crashplan on BSD to even see it?

  • Mike

    Thanks for this, I got it all working on my system eventually. I had a few problems but they were mostly down to me not reading the instructions carefully enough.
    Just in case anyone else has similar problems –
    I had to extract crashplan into the /compat/linux/usr/local/crashplan/CrashPlan-install folder before the install.sh script would find /bin/bash.
    If you get a message about libjli.so not found it means that you haven’t mounted linproc.
    Once again thanks very much for taking the trouble to blog about this.
    Mike

    • Anonymous

      Very cool Mike!  Thanks for the extra notes for us. It’s awesome to see another FreeBSD Crashplan user out there!!

  • Ryan

    Thanks very much for this.  I do however have an issue.  The client reports that the “destination unavailable – backup location is not accessible”, even though it creates the following in: /usr/compat/linux/usr/local/crashplan/backupArchives (default location)

    Folder: 495389558760218715
    Files within the above folder:
    .4to5indcp.propertiescpbf0000000000000000000cpfmfcpfmfpcpfmfscpfmfxcphdfcptl

    I’m running FreeBSD 8.2.-Release I believe I followed the instructions step by step.

    Thoughts?
    Thanks!
    Ryan

  • Martin Reed

    A quick thanks and to say that the instructions worked fine on FreeBSD 9.0, CP 3.2 :)

    martin

  • Generalmx

    Hi, just followed these instructions and got CrashPlan working on FreeBSD 9.0 with one minor adjustment:

    /compat/linux/usr/local/crashplan/install.vars

    Changed JAVACOMMON to read:
    JAVACOMMON=/usr/local/linux-sun-jre1.6.0/bin/java

    (Previously it was pointing to a previous, FreeBSD binary Java installation)

    • Anonymous

      Very cool! Thanks to you, and others, for the updates on 9.0. I haven’t had any time to try it out yet. But again, thanks for letting us all know, I am sure many others will appreciate the tips.

  • gregthegeek

    Quick note: PCBSD 9.1
    Thnx to Generalmx for the tip on the JAVACOMMON path, that was needed. But also, in my post I mention the updates to run.conf. Also add that extra option to the GUI line. On PCBSD 9.1 I am running CrashPlanDesktop GUI , not just using headless mode. If you don’t add to the GUI line in run.conf Crashplan will show a splash screen then close. Its due to the EPoll issue not being available in FreeBSD as I recall.

    Also, I did not need to do the linproc part (step 2) for fstab. PCBSD already had that covered. Same with linux_enable=”YES”.

    Everything else was pretty much the same. JRE 1.6 was a pain though. You just need to Google for “jre-6u37-linux” to find the Java for business section at the Oracle site. As of today 1-12-2013, my ports in PCBSD 9.1 wanted JRE 6u37 specifically, and would error the port install due to checksum mismatch if it wasn’t 6u37. At some point I might try to figure out the JRE 7 install, but not today.

    anyway, works great on PCBSD 9.1 if anyone is trying it out! Don’t forget the startup script here:
    http://www.1stbyte.com/2011/03/30/an-rc-d-startup-script-for-crashplan-running-on-freebsd/

  • kadderx

    For FreeNAS (which is FreeBSD-based), there is a Plugin and a much easier way to install crash plan: https://www.kadder.de/2014/08/freenas-backup-zu-crashplan/

  • Thanks for the great post (Although a bit outdated). I used it as one of my references to my solution of running CrashPlan on FreeNAS that solves in addition the support for UTF-8 and other Non-ASCII languages.

    Will be more than happy to get your feedback – http://bit.ly/cpNASUTF