Hallo,
ist es möglich, die von QNAP gelieferte Version 3.7.0.1 von Ragic! zu aktualisieren? Falls ja, wie muß man vorgehen? Kann da jemand weiterhelfen?
Hallo,
ist es möglich, die von QNAP gelieferte Version 3.7.0.1 von Ragic! zu aktualisieren? Falls ja, wie muß man vorgehen? Kann da jemand weiterhelfen?
Moin,
wenn QNAP dafür kein Update bereitstellt (lt. Appcenter ist 3.7.0.1 aktuell) hast Du da keine Chance.
Oftmals gibt es Apps für QNAP vom Entwickler direkt oder in alternativen Repos, das scheint hier aber nicht der Fall zu sein.
wenn QNAP dafür kein Update bereitstellt (lt. Appcenter ist 3.7.0.1 aktuell) hast Du da keine Chance.
Ich hatte halt gehofft, das ginge ähnlich wie bei Nextcloud oder Baikal,
indem man aktualisierte Dateien in das Verzeichnis läd.
Das ist dann wahrscheinlich eher appspezifisch... da habe ich keine Ahnung
Ehrlich gesagt ich auch nicht - aber trotzdem vielen Dank für den Versuch.
Edit:
Ich konnte jetzt die Dateien aktualisieren, allerdings hab ich ein kleines Problem:
Mod: Zitat ohne Quellenangabe ... gelöscht! Forenregeln und Die Zitat Funktion des Forums richtig nutzen
In der Anleitung von Ragic zum Update steht dieser Punkt an Stelle 5.
Existiert sowas auch unter Qnap?
Für Ragic wurde auch JRE 8.151.2.1 installiert.
Musst halt im Installationspfad nach der .sh gucken.
Uber die GUI wird man da aber vermutlich nicht rankommen.
Über puTTY oder WinSCP.
Kann mir jemand sagen, wie ich den Ragic Server bzw. den Dienst stoppen und wieder starten kann?
Ich hab mir zwar damit beholfen, das NAS neu zu starten, aber das kann ja auf Dauer nicht der richtige Weg sein.
Über die GUI könntest du es zumindest mit dem de- und reaktivieren der App versuchen.
Manche Dienste rennen zwar trotzdem weiter, aber vielleicht klappt das ja hier.
Ansonsten mittels SSH.
Ansonsten mittels SSH.
Könntest Du mir sagen, welche Befehle zu nutzen wären? Ich bin nicht so fit mit der Materie.
Du meinst doch per Console über Putty, richtig?
Ich weiß nur nicht, wie der Ragic-Server gestoppt oder gestartet wird.
Du meinst doch per Console über Putty, richtig?
Jap.
Wie der Befehl lautet kann ich nicht genau sagen, da ich die App nicht habe.
Versuche es mal mit
/etc/init.d/ragic.sh restart
Wenn das nicht klappt:
cd ..
cd etc
cd init.d
ls -all
Und dann mal schauen ob "ragic" dort auftaucht und wie es genau benannt ist.
Die untere Befehlsfolge listet dies:
Der obere Befehl bewirkt aber diese Ausgabe:
/etc/init.d/ragic.sh restart ungleich /etc/init.d/Ragic.sh restart
Linux ist case sensitive.
... was bedeutet das "Ragic" mit einem großen Anfangsbuchstaben geschrieben werden muss (vergleiche Deinen ersten Screenshot, der verrät wie das Ding wirklich heisst).
/etc/init.d/Ragic.sh restart sollte funktionieren.
Ok - das mit dem Großbuchstaben funktioniert tatsächlich
Jetzt müsste ich es nur noch hinbekommen, daß ich das Teil aktualisieren kann.
Jegliche Info, die ich bislang im Netz und bei Ragic.com gefunden habe, funktionieren nicht so, wie gewünscht.
Und Ragic´s support meinte sogar, ich solle darüber nachdenken, die Onlineversion zu nutzen.
Dabei wollte ich ja eben genau das vermeiden, indem ich die Daten lokal speichere.
Ich bräuchte nochmal Unterstützung. Ich habe es jetzt hinbekommen, daß ich ein Update von Ragic durchführen konnte und alles wieder läuft.
Allerdings schaffe ich es nicht mehr, den Server zu stoppen (zu starten musste ich noch nicht testen).
Vorher war unter /etc.init.d/ der Eintrag Ragic.sh zu finden.
Jetzt lautet er Ragic.sh@ - ich weiß aber nciht, was das bedeutet.
Der Inhalt von Ragic.sh sieht so aus:
#!/bin/sh -l
### old way
# JAVA_HOME=/usr/lib/jvm/java-7-oracle
###
JAVA_WHICH=`which java`
JAVA_HOME="$(dirname $(dirname $(readlink -f ${JAVA_WHICH})))"
LC_CTYPE=en_US.UTF-8
LANG=en_US.UTF-8
ulimit -Hn 500000
ulimit -Sn 500000
### BEGIN INIT INFO
# Provides: ragic
# Required-Start: $network
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Ragic Builder Service (https://www.ragic.com)
# Description: Ragic Builder Service (https://www.ragic.com)
### END INIT INFO
# OS specific support. $var _must_ be set to either true or false.
cygwin=false
os400=false
darwin=false
case "`uname`" in
CYGWIN*) cygwin=true;;
OS400*) os400=true;;
Darwin*) darwin=true;;
esac
# resolve links - $0 may be a softlink
PRG="$0"
while [ -h "$PRG" ]; do
ls=`ls -ld "$PRG"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
PRG="$link"
else
PRG=`dirname "$PRG"`/"$link"
fi
done
# Get standard environment variables
PRGDIR=`dirname "$PRG"`
# Only set RAGIC_HOME if not already set
[ -z "$RAGIC_HOME" ] && RAGIC_HOME=`cd "$PRGDIR/.." >/dev/null; pwd`
# Ensure that any user defined CLASSPATH variables are not used on startup
CLASSPATH=
# For Cygwin, ensure paths are in UNIX format before anything is touched
if $cygwin; then
[ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
[ -n "$JRE_HOME" ] && JRE_HOME=`cygpath --unix "$JRE_HOME"`
[ -n "$RAGIC_HOME" ] && RAGIC_HOME=`cygpath --unix "$RAGIC_HOME"`
[ -n "$RAGIC_BASE" ] && RAGIC_BASE=`cygpath --unix "$RAGIC_BASE"`
[ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --unix "$CLASSPATH"`
fi
# For OS400
if $os400; then
# Set job priority to standard for interactive (interactive - 6) by using
# the interactive priority - 6, the helper threads that respond to requests
# will be running at the same priority as interactive jobs.
COMMAND='chgjob job('$JOBNAME') runpty(6)'
system $COMMAND
# Enable multi threading
export QIBM_MULTI_THREADED=Y
fi
# Get standard Java environment variables
if $os400; then
# -r will Only work on the os400 if the files are:
# 1. owned by the user
# 2. owned by the PRIMARY group of the user
# this will not work if the user belongs in secondary groups
BASEDIR="$RAGIC_HOME"
. "$RAGIC_HOME"/bin/setclasspath.sh
else
if [ -r "$RAGIC_HOME"/bin/setclasspath.sh ]; then
BASEDIR="$RAGIC_HOME"
. "$RAGIC_HOME"/bin/setclasspath.sh
else
echo "Cannot find $RAGIC_HOME/bin/setclasspath.sh"
echo "This file is needed to run this program"
exit 1
fi
fi
# Add on extra jar files to CLASSPATH
if [ ! -z "$CLASSPATH" ] ; then
CLASSPATH="$CLASSPATH":
fi
if [ -z "$RAGIC_BASE" ] ; then
RAGIC_BASE="$RAGIC_HOME"
fi
if [ -z "$JAVA_OPTS" ] ; then
JAVA_OPTS="-Dname=Ragic -Xms1g -Xmx1536m -XX:PermSize=256m -XX:MaxPermSize=256m -XX:NewSize=512m -XX:MaxNewSize=512m -Dfile.encoding=UTF-8 -Duser.timezone=UTC -server -Dhttps.protocols=TLSv1.1,TLSv1.2 -Dsun.zip.disableMemoryMapping=true"
fi
if [ -z "$RAGIC_OUT" ] ; then
RAGIC_OUT="$RAGIC_BASE"/log/ragic.out
fi
if [ -z "$RAGIC_TMPDIR" ] ; then
# Define the java.io.tmpdir to use for Ragic
RAGIC_TMPDIR="$RAGIC_BASE"/temp
fi
# When no TTY is available, don't output to console
have_tty=0
if [ "`tty`" != "not a tty" ]; then
have_tty=1
fi
# For Cygwin, switch paths to Windows format before running java
if $cygwin; then
JAVA_HOME=`cygpath --absolute --windows "$JAVA_HOME"`
JRE_HOME=`cygpath --absolute --windows "$JRE_HOME"`
RAGIC_HOME=`cygpath --absolute --windows "$RAGIC_HOME"`
RAGIC_BASE=`cygpath --absolute --windows "$RAGIC_BASE"`
RAGIC_TMPDIR=`cygpath --absolute --windows "$RAGIC_TMPDIR"`
CLASSPATH=`cygpath --path --windows "$CLASSPATH"`
fi
# ----- Execute The Requested Command -----------------------------------------
cd $RAGIC_HOME
# only output this if we have a TTY
if [ $have_tty -eq 1 ]; then
echo "Using RAGIC_BASE: $RAGIC_BASE"
echo "Using RAGIC_HOME: $RAGIC_HOME"
echo "Using RAGIC_TMPDIR: $RAGIC_TMPDIR"
echo "Using JAVA_HOME: $JAVA_HOME"
echo "Using JRE_HOME: $JRE_HOME"
echo "Using CLASSPATH: $CLASSPATH"
fi
if [ "$1" = "start" ]; then
eval \"$_RUNJAVA\" $JAVA_OPTS \
-classpath \"$CLASSPATH\" \
-Dragic.base=\"$RAGIC_BASE\" \
-Dragic.home=\"$RAGIC_HOME\" \
-Djava.io.tmpdir=\"$RAGIC_TMPDIR\" \
com.ragic.s3.nui.RagicJetty9Server
elif [ "$1" = "test" ] ; then
echo \"$_RUNJAVA\" $JAVA_OPTS \
-classpath \"$CLASSPATH\" \
-Dragic.base=\"$RAGIC_BASE\" \
-Dragic.home=\"$RAGIC_HOME\" \
-Djava.io.tmpdir=\"$RAGIC_TMPDIR\" \
com.ragic.s3.nui.RagicJetty9Server
elif [ "$1" = "manual" ] ; then
if [ ! -z "$RAGIC_PID" ]; then
if [ -f "$RAGIC_PID" ]; then
echo "PID file ($RAGIC_PID) found. Is Ragic still running? Start aborted."
exit 1
fi
fi
shift
touch "$RAGIC_OUT"
STATUS=0
while [ $STATUS -eq 0 ]
do
eval \"$_RUNJAVA\" $JAVA_OPTS \
-classpath \"$CLASSPATH\" \
-Dragic.base=\"$RAGIC_BASE\" \
-Dragic.home=\"$RAGIC_HOME\" \
-Djava.io.tmpdir=\"$RAGIC_TMPDIR\" \
com.ragic.s3.nui.RagicJetty9Server \
>> "$RAGIC_OUT" 2>&1
STATUS=$?
done
if [ ! -z "$RAGIC_PID" ]; then
echo $! > $RAGIC_PID
fi
else
echo "Usage: ragic.sh ( commands ... )"
echo "commands:"
echo " manual Manually start Ragic in the current window"
exit 1
fi
Alles anzeigen
Kann jemand daraus ableiten, mit welchen Befehlen der Ragic-Server korrekt gestoppt/gestartet/neu gestartet werden kann?
Nach einem Neustart des NAS bleibt jedenfalls Ragic funktionsfähig.
Die Ragic.sh@ unter etc/init.d verweist auf /share/CACHEDEV1_DATA/.qpkg/Ragic/Ragic/bin/Ragic.sh.
Sorry für so viele Fragen - ich versuche nur, die Zusammenhänge zu verstehen.
Unter /share/CACHEDEV1_DATA/.qpkg/Ragic existiert ebenfalls eine Ragic.sh mit diesem Inhalt:
#!/bin/sh
CONF=/etc/config/qpkg.conf
QPKG_NAME="Ragic"
QPKG_ROOT=`/sbin/getcfg $QPKG_NAME Install_Path -f $CONF`
RAGIC_EXE="$QPKG_ROOT/Ragic/bin/ragic.sh"
PATH=/sbin:/usr/sbin:/bin:/usr/bin
export PATH
case "$1" in
start)
# Start ragic
ENABLED=$(/sbin/getcfg $QPKG_NAME Enable -u -d FALSE -f $CONF)
if [ "$ENABLED" != "TRUE" ]; then
echo "$QPKG_NAME is disabled."
exit 1
fi
: ADD START ACTIONS HERE
echo "start Ragic"
QPKG_DIR=$(/sbin/getcfg $QPKG_NAME Install_Path -d "" -f $CONF)
#mkdir /share/Web/Ragic
#/bin/cp $QPKG_DIR/Ragic /share/Web/Ragic
#nohup /share/Web/Ragic/bin/ragic.sh manual &
chmod +x $QPKG_ROOT/Ragic/bin/*.sh
$RAGIC_EXE manual &
#sh $QPKG_ROOT/Ragic/bin/ragic.sh manual &
#sh $QPKG_ROOT/Ragic/bin/ragic.sh run
;;
stop)
: ADD STOP ACTIONS HERE
#kill ragic process
#for KILLPID in `ps -A | grep "Ragic" ' { print $1;}'`; do
# kill $KILLPID 2> /dev/null
#done
`/bin/ps aux | /bin/grep Dname=Ragic | /bin/awk '{print "kill -9 " $1}'`
#rm -fr /share/Web/Ragic
;;
restart)
$0 stop
$0 start
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
esac
exit 0
Alles anzeigen