Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

Is there a .deb file, repo, PPA, or anything to install CrashPlan other than the non-standard install.sh file? I have fish as my shell, and I had to mess around a lot and finally use chsh first before the install script would even work. I don't want to have to jump through all these hoops every time there's an upgrade.

share|improve this question
add comment

2 Answers 2

According to CrashPlan:

auto-updates to the latest version. You DO NOT need to download it again once it's installed.

If you are running 2.6.13 Series Kernel or greater 1GHZ+ x86-64 CPU, 1GB+ memory, 250MB+ free drive space, Oracle (Sun) Java version 1.6+, Glibc 2.4+, GTK, Xorg then it will work for you.

CrashPlan automatically starts up after installation and prompts you to create a new account. Enter the information and click Create Account. CrashPlan will send backup reports and notifications to the email address you enter.

Important detail: You need to start the install script with this command in order to avoid error messages:

sudo ./install.sh

This is pretty straight-forward. Read the 'read me and install information' for the install instructions.

share|improve this answer
add comment

Normally bash install.sh or sudo bash install.sh should have worked but with CrashPlan's script indeed some internal commands end up running under fish and failing due to syntax differences.

A common reason this may happen is the $SHELL environment variable, which still points to /usr/bin/fish - many programs execute subcommands using $SHELL. So I tried env SHELL=/bin/bash sudo bs ash install.sh => still same fish error!

fish: Expected a command name, got token of type “Run job in background”. Did you mean “COMMAND; and COMMAND”? See the help section for the “and” builtin command by typing “help and”.
Standard input: sed -imod "s|Exec=.*|Exec=/usr/local/crashplan/bin/CrashPlanDesktop|" /home/anat/Desktop/CrashPlan.desktop && rm -rf /home/anat/Desktop/CrashPlan.desktopmod
                                                                                                                            ^

Hmm. Let's try harder — let's work from a real root login shell, which does a more thorough reset (environment variables, directory etc.):

~/CrashPlan-install $ sudo su -
root@overgrad:~# echo $SHELL  # that wasn't the problem anyway
/bin/bash
root@overgrad:~# cd /home/anat/CrashPlan-install/
root@overgrad:/home/anat/CrashPlan-install# bash install.sh 

...
Would you like to start CrashPlanDesktop? (y/n) [n] 

To start the Desktop UI:
  /usr/local/bin/CrashPlanDesktop

Installation is complete. Thank you for installing CrashPlan for Linux.

root@overgrad:~# exit
logout
~/CrashPlan-install $ CrashPlanDesktop     

NOTE: when it asks you if you want to start CrashPlanDesktop, say NO. Instead, exit the root shell and run it as yourself, as the above example shows. (If you do run it as root, you may later have trouble starting it yourself due to log files being only writable by root — you'll have to sudo rm them and then it'll launch; also, it will default to only backing up /root/ so make sure you configure the right directorie(s).)

su - is enough to get a login shell but su asks for root's password and in ubuntu we're so used to sudo only asking for our password we don't even remember root's password. But if you're already root, su doesn't ask anything so sudo su - works.

I felt a bit silly using this redundant sudo su combination just because su - is the syntax I remember, so a quick --help told me sudo --login should be enough.
Surprisingly sudo --login failed with the same fish error!

That got me curious. Reading through install.sh I found:

SRC_USER=${SUDO_USER}
if [ "x${SRC_USER}" == "x" ] ; then
        SRC_USER=${USER}
fi

(later used to create /home/${SRC_USER}/Desktop/${APP_BASENAME}.desktop via a bunch of su ${SRC_USER} -c "..." commands).

=> Aha! So the problem was that sudo snitches on us by exporting $SUDO_USER, even to a login shell. sudo su - happenned to work because su - discards all environment variables — including SUDO_USER — in a separate step.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.