Installation unter Linux
EleLa gibt es als 32 oder 64
Bit Ausführung. Es wurde unter SUSE GTK2 kompilliert.
Bei der Linux-Installation
wird am besten das ZIP Archiv von der Homepage geladen und in ein Home-Verzeichnis
entpackt. Das Archiv enthält die EXE für 32 Bit ("EleLa.32",
ca. 10,5MB) und die EXE für 64 Bit ("EleLa.64", ca. 16,8MB). Je nach
Betriebsystem 32/64 Bit muss die richtige EXE verwendet werden.
Die EXE wurde mit einem Windows
Zipper gezippt, daher muss bei der EXE unter Linux die Eigenschaft "Ausführbar"
gesetzt werden.
Die Konfiguration von EleLa
kann mit dem Start von EleLa aus dem Terminal gemacht werden, sollte eine
Datenbank-Verbindung nicht gleich möglich sein:
./EleLa.64 -k
Dieser Befehl startet nur den
Konfigurations-Dialog von EleLa und nicht das gesammte Programm.
Linux - KChmViewer
Die Datei "EleLa.chm" kann unter Linux mit KChmViewer
geöffnet werden. Details hierfür bitte hier
lesen.
Ab EleLa V4.0 ist die Hilfe mit in der EXE integriert und der KChmViewer
wird für die Darstellung der Hilfe nicht mehr benötigt.
EleLa als Warenlager
Wenn Sie EleLa als Warenverwaltung
nutzen wollen, dann die Datei "EleLa.sq3" umbenennen und "EleLa_Waren.sq3"
zu "EleLa.sq3" umbenennen. Somit ist die Start-Datenbank für Warenlager/Artikel
aktiviert.
Für den ersten Start mit
EleLa lesen Sie am Besten in der Hilfe im "Tutorial
- Erste Schritte"
Installations-Anleitung für Update
VOR dem Update sollte mit der
alten EXE eine Datensicherung durchgeführt
werden. Anschließend kann aus dem neuen ZIP die neue EleLa entpackt
und ersetzt werden und das "Ausführen" Bit muss wieder
aktiviert werden. EleLa wird beim ersten Start automatisch die Datenbank
updaten, falls nötig, daher sollte vor dem Update die Datenbank gesichert
werden.
Ein Mischbetrieb mit V1.x.xxxxx/V2.x.xxxxx
und V3.x.xxxxx ist nicht möglich, es müssen alle Arbeitsplätze
die gleiche Haupt-Versionsnummer haben.
Beispiel Script einer Installation
Hier
kann der Script geladen werden.
### EleLa - Elektronik Lagerverwaltung V3.1
### http://elela.de/
### (c) by MmVisual, Markus Müller
###
### Script fuer eine automatische Installation, Konfiguration*, Sicherung*, Wiederherstellung, Verteilung* von EleLa.
### Lauffaehig unter Raspberry Pi ARM, Linux 32-bit, 64-bit
### by Mr.AtiX, 200426, v0.3
[ ! -f "/tmp/elela" ] && touch /tmp/elela || echo "0 init" > /tmp/elela # Heartbeat (simple step responder and log)
# todo: heartbeat auf Abbruch und Neustart pruefen = Wiederaufnahme zur Rekonfiguration
# Kernel und Architektur feststellen
echo "10 start" >> /tmp/elela
archbit=""
case $(uname -m) in
amd64|x86_64) export archbit="64" ;;
i?86|x86) export archbit="32" ;;
arm|armhf) dpkg --print-architecture | grep -q "arm64" && archbit="rpi64" || archbit="rpi32" ;;
*) echo -n "[i] Diese Hardware Architektur wurde noch nicht getestet. Es scheint ein ${getconf LONG_BIT}-bit System zu sein. Installation ohne Gewaehr."
echo "10f: ${getconf LONG_BIT}" >> /tmp/elela
echo "10f: ${uname -a}" >> /tmp/elela
echo "10f: ${lscpu}" >> /tmp/elela ;;
# todo: other, string muss mind. 'GNU' enthalten
# ist ein CPU lm-Flag vorhanden? `grep -o -w 'lm' /proc/cpuinfo | sort -u`
# laeuft die session gerade in 16-bit realmode oder 32-bit protected mode?
esac
echo "10abc: $archbit" >> /tmp/elela
kernel=""
case $(uname -s) in
Linux) kernel="Linux" ;;
Darwin) kernel="mac" ;;
FreeBSD) kernel="freebsd" ;;
*) echo -n "[ ! ] Unbekannter OS Kernel: '$kernel'."
echo -n "Installation wird nicht unterstuetzt. Abbruch."
echo "11f: $kernel" >> /tmp/elela
exit 127 ;;
esac
echo "11a: $kernel" >> /tmp/elela
# Variablen
export ELELADIR="$HOME/EleLa" # Installationsverzeichnis
export USERDESK=`xdg-user-dir DESKTOP`
echo "12: $ELELADIR ; $USERDESK" >> /tmp/elela
# Pakete installieren
echo 15 >> /tmp/elela
echo "Systempakete und Abhaengigkeiten werden installiert..."
sudo apt-get update -qq && sudo apt-get install -qq -o=Dpkg::Use-Pty=0 curl dialog wget unzip tzdata
echo 15a >> /tmp/elela
# fuer Datenspeicher im Netzwerk (optional)
sudo apt-get install -qq -o=Dpkg::Use-Pty=0 smbclient nfs-common mysql-client
echo 15b >> /tmp/elela
# CHM-Viewer installieren
if [ "`echo $XDG_DATA_DIRS | grep -Eo 'xfce|kde|gnome|mate'`" = "kde" ]; then
sudo apt-get install -qq -o=Dpkg::Use-Pty=0 kchmviewer okular # kde
echo 15d >> /tmp/elela
else
echo $DESKTOP_SESSION
sudo apt-get install -qq -o=Dpkg::Use-Pty=0 xchm # gnome,xfce,mate
echo 15e >> /tmp/elela
fi
# Zeitzone setzen und aktivieren
echo 17 >> /tmp/elela
echo "Zeitzone für (D) wird gesetzt..."
sudo timedatectl set-timezone Europe/Berlin
sudo ln -fs /usr/share/zoneinfo/Europe/Berlin /etc/localtime
sudo sh -c 'echo "Europe/Berlin" > /etc/timezone && dpkg-reconfigure -f noninteractive tzdata'
# todo: sonstige Lokalisation, Sprachen, Keyboardlayout
# locale setzen
# sudo locale-gen
# Installationsverzeichnisse pruefen und anlegen
echo 19 >> /tmp/elela
[ -d "$ELELADIR" ] && echo "[i] Das Installationsverzeichnis ist bereits vorhanden." || mkdir -p $ELELADIR
[ ! -d "$ELELADIR/Handbuch" ] && mkdir -p $ELELADIR/Handbuch # lokaler Datenspeicher
[ ! -d "$ELELADIR/Projekt" ] && mkdir -p $ELELADIR/Projekt # lokaler Projektspeicher
echo 19a >> /tmp/elela
# Downloadverzeichnis suchen
if [ -d "/home/mratix/Downloads/linux-stuff/EleLa*" ]; then
# my stuff, nicht weiter beachten
echo "12a: my stuff on crodevo detected" >> /tmp/elela
export DLSRCDIR="/home/mratix/Downloads/linux-stuff/EleLa - Elektronik Lagerverwaltung"
echo "12b: using ${DLSRCDIR} as source" >> /tmp/elela
# end
elif [ -d $ELELADIR/Temp ]; then
# update mode candidate
test "$(ls -A $ELELADIR/Temp/)" && echo "[i] Eine bestehende EleLa-Installation wurde entdeckt." && echo "12d: $ELELADIR/Temp found, not empty" >> /tmp/elela
test "$(ls -l $ELELADIR/Temp/*.zip)" && echo "12e: $ELELADIR/Temp found *.zip" >> /tmp/elela
export DLSRCDIR=${ELELADIR}/Temp
echo "12f: ${DLSRCDIR}" >> /tmp/elela
else
export DLSRCDIR=`xdg-user-dir DOWNLOAD`
echo "12g: ${DLSRCDIR}" >> /tmp/elela
fi
# Download EleLa
echo 21 >> /tmp/elela
cd $DLSRCDIR
srcfile="EleLa_V3"
#wget -qc "$url" -O "${DLSRCDIR}/${srcfile}"
#wget -t1 -nd -cNS... ${DLSRCDIR} # url-Liste der Downloads
# todo: $ELELADIR/Temp beruecksichten
if [[ ! -f "${DLSRCDIR}/${srcfile*}" ]] -a [[ ! -f "${ELELADIR}/Temp/${srcfile*}" ]]; then
echo "[ ! ] Es konnte keine Installation oder Aktualisierung vorgenommen werden."
echo "In den Verzeichnissen $DLSRCDIR oder $ELELADIR/Temp"
echo "befindet sich kein gueltiges zip-Archiv fuer eine Installation. Bitte die gewuenschte $srcfile*"
echo "Version von http://elela.de/test herunterladen und waehrend der Installation vorhalten. Ende."
echo 21a >> /tmp/elela && exit 127
# Deployment
elif [ -f "${DLSRCDIR}/*.tgz}" ]; then
echo 22 >> /tmp/elela
# my stuff, nicht weiter beachten
echo "[i] Depolyment: Ein angepasstes Archiv wurde gefunden und wird angewendet."
tar -xzvf ${DLSRCDIR}/${srcfile*.tgz} -C $ELELADIR
# Errorlevel von tar abfangen
if [ $? -eq 0 ] ; then
echo "[OK] Aktualisierung erfolgreich."
echo 22c >> /tmp/elela
else
echo "[Err] Aktualisierung fehlgeschlagen."
echo 22f >> /tmp/elela
exit 1
fi
echo "Rekonfiguration abgeschlossen. Ende."
exit 0
# Restore
elif [ -f "${DLSRCDIR}/Backup/*.bz2}" ]; then
echo 23 >> /tmp/elela
# my stuff, nicht weiter beachten
echo "[?] Sicherung gefunden. Wiederherstellung starten?: "
read input
echo 23a >> /tmp/elela
case $input in
j*|J*|y*|Y*) echo "Wiederherstellung beginnt..."
echo 23b >> /tmp/elela
tar -xjvf ${DLSRCDIR}/${srcfile*.bz2} -C $HOME # extract full path
# Errorlevel von tar abfangen
if [ $? -eq 0 ] ; then
echo "[OK] Wiederherstellung erfolgreich."
echo 23c >> /tmp/elela
else
echo "[Err] Wiederherstellung fehlgeschlagen."
echo 23f >> /tmp/elela
exit 1
fi
echo "Wiederherstellung abgeschlossen."
exit 0
;;
*) echo "Abbruch." ;;
#break ;;
esac
else
# Installation durch zusammenstellen und entpacken v0.1
echo 25 >> /tmp/elela
echo "[?] Soll eine NEUinstallation durchgefuehrt werden?: "
read input
echo 25a >> /tmp/elela
case $input in
j*|J*|y*|Y*) echo "Installation beginnt..."
echo 25b >> /tmp/elela
echo "Archive werden entpackt..."
# todo: ignore switch files not found einfuegen
unzip -o EleLa_V3.0.18B15_RaspberryPi_Install.zip -d $HOME/
echo 25c >> /tmp/elela
unzip -o EleLa_V3.0.18B15_Linux32.zip -d $ELELADIR/
echo 25d >> /tmp/elela
unzip -o EleLa_V3.0.18B15_Linux64.zip -d $ELELADIR/
echo 25e >> /tmp/elela
unzip -o EleLa_V3.1.20309_RaspberryPi.zip -d $ELELADIR/
echo 25f >> /tmp/elela
unzip -o EleLa_V3.1.20309_Linux32.zip -d $ELELADIR/
echo 25g >> /tmp/elela
unzip -o EleLa_V3.1.20309_Linux64.zip -d $ELELADIR/
echo 25h >> /tmp/elela
unzip -o Murata_V3.1.zip -d $ELELADIR/ # todo: spaeter einbinden
echo 25i >> /tmp/elela
unzip -o NXP_CaseAll_V3.1.zip -d $ELELADIR/ # todo: spaeter einbinden
echo 25j >> /tmp/elela
chmod +x $ELELADIR/EleLa.$archbit
chmod +x $ELELADIR/EleLa.rpi # temporaer bis Filter fuer ".rpi" gefunden wurde
echo "[OK] Entpacken erfolgreich."
echo 25k >> /tmp/elela
cp -u EleLa.chm $ELELADIR/
cp -u $ELELADIR/EleLa.sq3 $ELELADIR/EleLa.sq3.bak # backup
echo "Vorlage fuer Elektronik-Bauteile wird eingefuegt..."
cp -u $ELELADIR/EleLa_Elektronik.sq3 $ELELADIR/EleLa.sq3 # Vorlage Elektronik
echo 25l >> /tmp/elela
;;
*) echo "Abbruch."
break ;;
esac
fi
# den richtigen Desktop, Arbeitsflaeche, Schreibtisch benutzen
echo 27 >> /tmp/elela
echo "Programmverknuepfung wird angelegt..."
mv $HOME/Desktop/EleLa.desktop $USERDESK/
# Starter umschreiben fuer x86,x64
[ ! -w $USERDESK/EleLa.desktop ] && chmod ug+rwx o- $USERDESK/EleLa.desktop
cp -u $USERDESK/EleLa.desktop $USERDESK/EleLa-rpi.desktop
echo 27a >> /tmp/elela
# Icon=/home/pi/EleLa/EleLa.png
# Exec=/home/pi/EleLa/EleLa.rpi
sed -i 's/\/home\/pi\/EleLa/${ELELADIR}/g' $USERDESK/EleLa.desktop
sed -i 's/.rpi/.x${archbit}/' $USERDESK/EleLa.desktop
cp -u $USERDESK/EleLa.desktop $USERDESK/EleLa-x${archbit}.desktop
echo 27b >> /tmp/elela
mv $USERDESK/EleLa*.desktop ${ELELADIR}/
echo 27c >> /tmp/elela
# ins Menue ablegen
sudo cp $USERDESK/EleLa-rpi.desktop /usr/share/raspi-ui-overrides/applications/
sudo cp $USERDESK/EleLa-x${archbit}.desktop /usr/share/applications/
echo 27d >> /tmp/elela
# todo: V2.0.12419_EleLaPHP.zip
# Mountpoints eintragen
echo 50 >> /tmp/elela
echo "#//SERVER/SHARE ${ELELADIR}/Handbuch cifs user=$USER,password=$PASS,vers=1.0,iocharset=utf8,rw,file_mode=0777,dir_mode=0777,nounix,x-systemd.requires=network-online.target 0 0" |\
sudo tee -a /etc/fstab
echo "#//cronas/data /mnt/cronas/data cifs rw,user,credentials=${HOME}/.smb,vers=3.0 0 0" | sudo tee -a /etc/fstab
echo "#cronas:/export/data /mnt/cronas/data nfs rw 0 0" | sudo tee -a /etc/fstab
echo "#/mnt/cronas/data/elela ${ELELADIR} none bind,rw 0 0" | sudo tee -a /etc/fstab
echo 50a >> /tmp/elela
echo "[i] Mountpoint-Beispiele wurden eingetragen. Bitte aktivieren oder anpassen..."
sudo nano +99 -Bw /etc/fstab
echo 50b >> /tmp/elela
[ -d "/mnt/cronas" ] && {sudo mkdir -p /mnt/cronas/data/elela; echo 50c >> /tmp/elela; }
# todo: Customizing $ELELADIR/EleLa.ini
# $http_proxy eintragen
# vorsorglich Rechte durchziehen
sudo chown -R $USER:$USER $ELELADIR
echo 90 >> /tmp/elela
# ENDE
echo "[i] Done, last step: `tail -n 1 /tmp/elela`. Ende."
# env -u
exit 0 # && rm /tmp/elela
|
Hinweise zum Script:
Ab Zeile "# todo:
ignore switch files not found einfuegen " ist als Beispiel
alle EleLa Varianten gezeigt, dies muss entsprechend der verwendeten angepasst
werden.
In Zeile "# url-Liste
der Downloads " muss die URL der Download Datei angefügt
werden.
Dieses Script wurde von "Mr.AtiX"
erstellt, vielen Dank! Mehr Details dazu im Forum
und Hier.
|