Skip to main content

Installieren von SL-Produkten ohne Package Manager

Das Update-Tool für die SL-Produkte kopiert im Hintergrund ein Installationspackage (.deb oder .ipk) auf das Zielgerät und installiert es anschließend. Dies setzt voraus, dass der Package Manager dpkg oder ipkg auf dem Zielgerät installiert ist. Wenn kein Package Manager installiert ist, kann das Update-Tool kein Laufzeitsystem installieren.

Es ist jedoch immer noch möglich, das Package "von Hand" zu installieren, wenn dies gewünscht wird. Für die generischen Produkte wird dies im Folgenden am Beispiel von CODESYS Control​ for Linux V4.7.0.0 erläutert:

Wichtig

CODESYS Control unterstützt keine Geräte mit (teilweise) schreibgeschütztem Dateisystem.

Wenn Ihr Gerät ein schreibgeschütztes Dateisystem hat und Sie bei der Installation oder beim Starten eines Produkts Probleme haben, überprüfen Sie, ob die Probleme nach Deaktivieren des Schreibschutzes noch auftreten.

Manuelle Installation des Laufzeitsystems auf dem Zielgerät

  1. Nach der Installation des Packages CODESYS Control​ for Linux befinden sich die benötigten Dateien auf dem Windows-PC:

    • <User>/CODESYS Control for Linux SL/Delivery/codesyscontrol_linux_4.7.0.0-b.trunk.39_amd64.deb oder

      <User>/CODESYS Control for Linux SL/Delivery/codesyscontrol_linux_4.7.0.0-b.trunk.39_amd64.ipk

    • <User>/CODESYS Control for Linux SL/Dependency/codemeter-lite_<Version>.deb (für die Lizenzierung)

    Kopieren Sie diese Dateien auf das Zielgerät.

  2. Entpacken Sie das Package:

    $ ar -x codesyscontrol_linux_<Version>

    Es werden folgende Dateien erstellt:

    • control.tar.gz: Enthält die Skripte, die der Pakage Manager vor und nach der Installation oder Deinstallation ausführt. Dies ist für die manuelle Installation nicht relevant.

    • data.tar.gz: Enthält Binärdateien des Laufzeitsystems, Bibliotheken, Startskripte und Konfigurationen

    • debian-binary: Gibt die Version des .deb-Packages an. Dies ist für die manuelle Installation nicht relevant

  3. Entpacken Sie die Datei data.tar.gz. Legen Sie dafür vorher einen neuen Ordner an:

    $ mkdir data
    $ tar -xf data.tar.gz -C data

    In data/ finden Sie nun die Dateien, die für den Betrieb des Laufzeitsystems wichtig sind:

    data
    ├── etc
    │   ├── default
    │   │   └── codesyscontrol
    │   ├── init.d
    │   │   └── codesyscontrol
    │   └── codesyscontrol
    │       ├── 3S.dat
    │       ├── CODESYSControl.cfg
    │       └── CODESYSControl_User.cfg
    ├── opt
    │   └── codesys
    │       ├── bin
    │       │   └── codesyscontrol.bin
    │       ├── lib
    │       │   ├── libCmpHilscherCIFX.so
    │       │   └── libSysPci.so
    │       └── scripts
    │           ├── init-functions
    │           ├── init-vars
    │           ├── PlcWink.sh
    │           └── rts_set_baud.sh
    ├── usr
    │   └── share
    │       └── doc
    │           └── codesyscontrol
    │               └── copyright
    └── var
        └── opt
            └── codesys
                ├── bacstac.ini
                ├── cmact_licenses
                └── .SoftContainer_CmRuntime.wbb 
  4. Nun würde normalerweise der Package Manager dpkg oder ipkg diese Verzeichnisstruktur in das Stammverzeichnis des Systems kopieren. Dies muss ohne Package Manager manuell geschehen:

    Wechseln Sie in das Verzeichnis data/, in das die Datei data.tar.gz" entpackt wurde:

    $ cd data/
  5. Kopieren Sie die einzelnen Verzeichnisse in die jeweiligen Stammverzeichnisse des Ziels:

    Wichtig

    Wenn Sie einen Fehler machen, kann dieser Schritt Ihr Zielgerät unbrauchbar machen und Sie müssen es zurücksetzen.

    $ sudo cp -r etc/* /etc
    $ sudo cp -r opt/* /opt
    $ sudo cp -r usr/* /usr
    $ sudo cp -r var/* /var
  6. Nun würde der Package Manager einige Nachinstallationsschritte ausführen, um die Installation abzuschließen. Führen Sie diese Schritte manuell aus:

    $ sudo chmod a+rw /etc/codesyscontrol/CODESYSControl.cfg
    $ sudo chmod a+rw /etc/codesyscontrol/CODESYSControl_User.cfg

    Wenn die Gruppe codesysuser noch nicht auf dem Zielgerät existiert, fügen Sie diese hinzu.

    $ groupadd codesysuser

    Diese Gruppe wird für die Externsion-API verwendet. Für weitere Informationen siehe: Sicherheitsmechanismen

Das Laufzeitsystem ist nun installiert. Es benötigt jedoch noch die Codemeter-Laufzeitumgebung.

Manuelle Installation der Codemeter-Laufzeitumgebung auf dem Zielgerät

  1. Nach der Installation des CODESYS Control SL-Package wird das .deb-Package in <User>/CODESYS Control für Linux SL/Dependency/codemeter-lite_<Version>.deb gespeichert.

    Kopieren Sie auch dieses .deb-Package auf das Zielsystem in einen neu erstellten, leeren Ordner.

  2. Entpacken Sie das Debian-Package.

    $ ar -x codemeter-lite_<Version>.deb

    Die Dateien control.tar.gz, data.tar.gz, debian-binary und zusätzlich _gpgorigin werden entpackt.

  3. Entpacken Sie die Datei data.tar.gz in einen neu erstellten Ordner.

    $ mkdir data
    $ tar -xf data.tar.gz -C data

    Danach sind die Binärdateien und andere Dateien wie Bibliotheken und Skripte unter data/ verfügbar:

    data
    ├── etc
    │   ├── init.d
    │   │   ├── codemeter
    │   │   └── codemeter-webadmin
    │   └── wibu
    │       └── CodeMeter
    │           └── Server.ini
    ├── lib
    │   ├── systemd
    │   │   └── system
    │   │       ├── codemeter.service
    │   │       └── codemeter-webadmin.service
    │   └── udev
    │       └── rules.d
    │           └── 60-codemeter-lite.rules
    ├── usr
    │   ├── bin
    │   │   ├── cmu
    │   │   └── codemeter-info
    │   ├── lib
    │   │   └── x86_64-linux-gnu
    │   │       ├── jni
    │   │       │   ├── libwibucmJNI64.so -> libwibucmJNI.so
    │   │       │   └── libwibucmJNI.so
    │   │       ├── libwibucmlin64-4.so -> libwibucm.so
    │   │       ├── libwibucmlin64.so -> libwibucm.so
    │   │       ├── libwibucmlin.so -> libwibucm.so
    │   │       └── libwibucm.so
    │   ├── sbin
    │   │   ├── CmWebAdmin
    │   │   └── CodeMeterLin
    │   └── share
    │       ├── bash-completion
    │       │   └── completions
    │       │       └── cmu
    │       ├── doc
    │       │   ├── CodeMeter
    │       │   │   ├── OpenSource_en.pdf
    │       │   │   └── README
    │       │   └── codemeter-lite
    │       │       ├── changelog.gz
    │       │       └── copyright
    │       └── man
    │           └── man1
    │               └── codemeter-info.1.gz
    └── var
        ├── lib
        │   └── CodeMeter
        │       ├── Backup
        │       ├── CmAct
        │       ├── CmCloud
        │       ├── NamedUser
        │       └── WebAdmin
        └── log
            └── CodeMeter
  4. Wechseln Sie in das Verzeichnis data/, in das die Datei data.tar.gz entpackt wurde:

    $ cd data/
  5. Kopieren Sie nun das gesamte Verzeichnis in das Stammverzeichnis des Zielgeräts:

    Wichtig

    Wenn Sie einen Fehler machen, kann dieser Schritt Ihr Ziel unbrauchbar machen und Sie müssen es zurücksetzen

    $ sudo cp -r etc/* /etc
    $ sudo cp -r lib/* /lib
    $ sudo cp -r usr/* /usr
    $ sudo cp -r var/* /var
  6. Nun würde des Codemeter-Package einige Nachinstallationsschritte ausführen, um die Installation abzuschließen. Führen Sie diese Schritte manuell aus:

    $ sudo udevadm trigger -vn --subsystem-match=usb --attr-match=idVendor=064f | xargs -rn1 -d\\n udevadm trigger -b
    $ sudo mkdir -p "/etc/systemd/system/multi-user.target.wants/"
    $ sudo ln -sT /lib/systemd/system/codemeter.service /etc/systemd/system/multi-user.target.wants/codemeter.service
  7. Nun müssen Sie den Codemeter-Dienst mit folgendem Befehl einrichten (als root starten):

    CodemeterLin -x
    

Die Installation von Codemeter-Lite und dem Laufzeitsystem ist nun abgeschlossen.

Manuelle Installation des Edge Gateways:

Sie können das Edge Gateway auf die gleiche Weise wie das Laufzeitsystem und das Codemeter installieren.

  1. Auf dem Windows-PC ist das Package in <User>/CODESYS Edge Gateway for Linux/Delivery/codesysedge_edgeamd64_<Version>.deb abgelegt.

    Kopieren Sie das Debian-Package auf das Zielgerät in einen neuen, leeren Ordner.

  2. Entpacken Sie das Debian-Package:

    $ ar -x codesysedge_edgeamd64_<Version>.deb

    Die Dateien control.tar.gz, data.tar.gz und debian-binary werden entpackt.

  3. Entpacken Sie die Datei data.tar.gz in einen neu erstellten Ordner:

    $ mkdir data
    $ tar -xf data.tar.gz -C data

    Danach sind die Binärdateien und andere Dateien wie Bibliotheken und Skripte unter data/ verfügbar:

    data
    ├── etc
    │   ├── default
    │   │   └── codesysedge
    │   ├── init.d
    │   │   └── codesysedge
    │   └── codesysedge
    │       ├── Gateway.cfg
    │       ├── GatewayvControl.cfg
    │       └── Gateway_User.cfg
    ├── opt
    │   └── codesysedge
    │       ├── bin
    │       │   └── codesysedge.bin
    │       ├── lib
    │       └── scripts
    │           ├── rts_set_baud.sh
    │           └── startup.sh
    ├── usr
    │   └── share
    
    │       └── doc
    │           └── codesysedge
    │               └── copyright
    └── var
        └── opt
            └── codesysedge
  4. Wechseln Sie in das Verzeichnis data/, in das die Datei data.tar.gz entpackt wurde:

    $ cd data/
  5. Kopieren Sie nun das gesamte Verzeichnis in das Stammverzeichnis des Zielgeräts:

    Wichtig

    Wenn Sie einen Fehler machen, kann dieser Schritt Ihr Ziel unbrauchbar machen und Sie müssen es zurücksetzen.

    $ sudo cp -r etc/* /etc
    $ sudo cp -r opt/* /opt
    $ sudo cp -r usr/* /usr
    $ sudo cp -r var/* /var
  6. Führen Sie erneut die Nachbearbeitungsschritte des Package Managers aus:

    $ chmod a+rw /etc/codesysedge/Gateway.cfg
    $ chmod a+rw /etc/codesysedge/Gateway_User.cfg

Das Edge Gateway ist nun installiert.

Starten von Codemeter, des Laufzeitsystems und des Edge Gateways

Die installierten Packages können nun gestartet werden:

  • Codemeter

    $ sudo /usr/sbin/CodeMeterLin

    Hinweis

    Sie können Codemeter mit dem Flag -v starten, um erweiterte Ausgaben zu erhalten.

    Mit der Eingabe von -Help erhalten Sie Hilfe zu weiteren Funktionen.

  • Laufzeitsystem und Edge Gateway

    $ sudo /etc/init.d/codesyscontrol start
    $ sudo /etc/init.d/codesysedge start