EleLa - Elektronik Lagerverwaltung Hilfe

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://www.mmvisual.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://www.mmvisual.de/elela 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.


© 2010-2021 by Markus Müller