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:
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