Contrary to all published information (and even Drobo’s own firmware release notes for the 5N), I can confirm that out of box, the 5N supports classic DroboApps! I SSH’ed into the Drobo on a lark and was stunned when my OpenSSH install responded.
(I’m mystified as to why they didn’t reassure us that existing app support still existed while they refine the Drobo-supported apps - the only thing I can come up with is the infrastructure that supports DroboApps is in flux and may break without warning. Personally, I can deal with an environment in flux a lot better than no environment at all.)
EDIT: After discussing the matter with Drobo Inc, DroboApps support will continue to work on an FS disk pack such as mine - it’s not accidental, and won’t be pulled back. However, there is no method to enable the functionality on a new disk pack, so new 5N users will have to wait for official support to roll out at a later date.
[code]$ cat /usr/bin/DroboApps.sh
DROBOAPPS_DIR="/mnt/DroboFS/Shares/DroboApps"
check_new()
{
# unpack any .tgz files - DroboApps that haven’t been installed yet
for tgz in find "$DROBOAPPS_DIR" -type f -maxdepth 1 -name \*.tgz
; do
APPDIR=echo $tgz | sed s/\.tgz$//
# if the directory already exists, this is an upgrade and
# untar on top of the existing install.
if [ -d $APPDIR ]; then
echo "Upgrading $tgz."
else
echo "Installing $tgz."
mkdir $APPDIR
fi
tar -zxf $tgz -C $APPDIR && rm "$tgz"
# if there is an install.sh file, run it.
if [ -e "$APPDIR/install.sh" ]; then
echo Running post-install script.
( cd $APPDIR &&
sh $APPDIR/install.sh &&
rm $APPDIR/install.sh )
fi
if [ "$STARTNEW" -eq "1" ]; then
if [ -e "$APPDIR/service.sh" ]; then
echo Starting `basename "$APPDIR"`.
# Added the cd because some apps had difficulties if not started
# in same directory.
(cd $APPDIR && sh $APPDIR/service.sh start)
fi
fi
done
}
start_apps()
{
# get a list of all installed DroboApps
for i in find $DROBOAPPS_DIR -type d -maxdepth 1
; do
DROBOAPPS="$DROBOAPPS $i"
done
# run the service script for each DroboApp
for APP_NAME in $DROBOAPPS; do
if [ -e "$APP_NAME/service.sh" ]; then
echo Starting `basename "$APP_NAME"`.
# Added the cd because some apps had difficulties if not started
# in same directory.
(cd $APP_NAME && sh $APP_NAME/service.sh start)
fi
done
}
stop_apps()
{
# get a list of all installed DroboApps
cd “$DROBOAPPS_DIR”
for i in find . -type d -maxdepth 1
; do
DROBOAPPS="$DROBOAPPS $i"
done
# run the service script for each DroboApp
for APP_NAME in $DROBOAPPS; do
if [ -e "$APP_NAME/service.sh" ]; then
echo Stopping `basename "$APP_NAME"`.
sh $APP_NAME/service.sh stop
fi
done
}
if [ -z “$1” ]; then
echo “Syntax: DroboApps.sh [start|stop|install]”
exit 1
fi
verify the directory exists, create if necessary
if [ ! -d “$DROBOAPPS_DIR” ]; then
mkdir “$DROBOAPPS_DIR”
fi
if [ “$1” == “start” ]; then
check_new
start_apps
elif [ “$1” == “stop” ]; then
stop_apps
elif [ “$1” == “install” ]; then
STARTNEW=1
check_new
else
echo “Syntax: DroboApps.sh [start|stop|install]”
exit 1
fi
[/code]
So, initial experience is that apps fired up fine. At least cursory usage indicates all of the following are peachy:
[list][]crashplan
[]droboadmin
[]java7
[]lighttpd
[]nano
[]openssh
[]p7zip
[]perl
[]screen
[]stgt
[]sudo
[]unfsd
[]unrar[/list]
The following are confirmed not working:
[list][]bash: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory
[]nfs-kernel - doesn’t work, likely because the underlying kernel has changed so much
[]locale - Perl complains about locale problems on startup, so something appears mildly off with this package. Crashplan isn’t able to use it to fix issues with foreign character sets.[/list]
Here’s the perl locale error:
$ perl
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = "en_US.UTF-8",
LANG = "en_US.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
Here are errors I get when trying to troubleshoot locale (freshly installed package):
[code]$ locale -a
locale: Cannot set LC_CTYPE to default locale: No such file or directory
C
en_US.utf8
POSIX
$ locale
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=en_US.UTF-8
LC_CTYPE=“en_US.UTF-8”
LC_NUMERIC=“en_US.UTF-8”
LC_TIME=“en_US.UTF-8”
LC_COLLATE=“en_US.UTF-8”
LC_MONETARY=“en_US.UTF-8”
LC_MESSAGES=“en_US.UTF-8”
LC_PAPER=“en_US.UTF-8”
LC_NAME=“en_US.UTF-8”
LC_ADDRESS=“en_US.UTF-8”
LC_TELEPHONE=“en_US.UTF-8”
LC_MEASUREMENT=“en_US.UTF-8”
LC_IDENTIFICATION=“en_US.UTF-8”
LC_ALL=en_US.UTF-8
$ /mnt/DroboFS/Shares/DroboApps/locale/bin/localedef -c -v -f UTF-8 -i en_US en_US.UTF-8
/usr/share/i18n/locales/en_US:7: non-symbolic character value should not be used
/usr/share/i18n/locales/en_US:8: non-symbolic character value should not be used
/usr/share/i18n/locales/en_US:9: non-symbolic character value should not be used
/usr/share/i18n/locales/en_US:11: non-symbolic character value should not be used
/usr/share/i18n/locales/en_US:14: non-symbolic character value should not be used
/usr/share/i18n/locales/en_US:15: non-symbolic character value should not be used
/usr/share/i18n/locales/en_US:16: non-symbolic character value should not be used
/usr/share/i18n/locales/en_US:17: non-symbolic character value should not be used
/usr/share/i18n/locales/en_US:19: non-symbolic character value should not be used
/usr/share/i18n/locales/en_US:20: non-symbolic character value should not be used
/usr/share/i18n/locales/en_US:21: non-symbolic character value should not be used
/usr/share/i18n/locales/en_US:22: non-symbolic character value should not be used
/usr/share/i18n/locales/en_US:23: non-symbolic character value should not be used
/usr/share/i18n/locales/en_US:24: non-symbolic character value should not be used
/usr/share/i18n/locales/en_US:25: non-symbolic character value should not be used
/usr/share/i18n/locales/en_US:26: non-symbolic character value should not be used
/usr/share/i18n/locales/en_US:27: non-symbolic character value should not be used
/usr/share/i18n/locales/en_US:28: non-symbolic character value should not be used
/usr/share/i18n/locales/en_US:29: non-symbolic character value should not be used
/usr/share/i18n/locales/en_US:34: non-symbolic character value should not be used
/usr/share/i18n/locales/en_GB:50: non-symbolic character value should not be used
/usr/share/i18n/locales/i18n:1107: non-symbolic character value should not be used
/usr/share/i18n/locales/i18n:1313: non-symbolic character value should not be used
/usr/share/i18n/locales/i18n:1345: non-symbolic character value should not be used
/usr/share/i18n/locales/i18n:1373: non-symbolic character value should not be used
/usr/share/i18n/locales/en_GB:53: non-symbolic character value should not be used
/usr/share/i18n/locales/en_GB:59: non-symbolic character value should not be used
/usr/share/i18n/locales/en_GB:149: non-symbolic character value should not be used
/usr/share/i18n/locales/en_US:40: non-symbolic character value should not be used
/usr/share/i18n/locales/translit_neutral:10: non-symbolic character value should not be used
/usr/share/i18n/locales/translit_neutral:11: non-symbolic character value should not be used
/usr/share/i18n/locales/translit_neutral:12: non-symbolic character value should not be used
/usr/share/i18n/locales/translit_neutral:13: non-symbolic character value should not be used
/usr/share/i18n/locales/translit_neutral:14: non-symbolic character value should not be used
/usr/share/i18n/locales/translit_neutral:15: non-symbolic character value should not be used
/usr/share/i18n/locales/translit_neutral:16: non-symbolic character value should not be used
/usr/share/i18n/locales/translit_neutral:17: non-symbolic character value should not be used
LC_NAME: field name_gen' not defined LC_IDENTIFICATION: field
audience’ not defined
LC_IDENTIFICATION: field application' not defined LC_IDENTIFICATION: field
abbreviation’ not defined
LC_IDENTIFICATION: no identification for category `LC_MEASUREMENT’
LC_CTYPE: table for class “upper”: 2475922323 bytes
LC_CTYPE: table for class “lower”: 2475922323 bytes
LC_CTYPE: table for class “alpha”: 2475922323 bytes
LC_CTYPE: table for class “digit”: 2475922323 bytes
LC_CTYPE: table for class “xdigit”: 2475922323 bytes
LC_CTYPE: table for class “space”: 2475922323 bytes
LC_CTYPE: table for class “print”: 2475922323 bytes
LC_CTYPE: table for class “graph”: 2475922323 bytes
LC_CTYPE: table for class “blank”: 2475922323 bytes
LC_CTYPE: table for class “cntrl”: 2475922323 bytes
LC_CTYPE: table for class “punct”: 2475922323 bytes
LC_CTYPE: table for class “alnum”: 2475922323 bytes
LC_CTYPE: table for class “combining”: 2475922323 bytes
LC_CTYPE: table for class “combining_level3”: 2475922323 bytes
LC_CTYPE: table for map “toupper”: 2475922323 bytes
LC_CTYPE: table for map “tolower”: 2475922323 bytes
LC_CTYPE: table for map “totitle”: 2475922323 bytes
LC_CTYPE: table for width: 0 bytes
[/code]