Linux.wine: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Root (Diskussion | Beiträge) (→Update) |
|||
(18 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
cOrgaMon | cOrgaMon.exe, lOrgaMon.exe kann mit Hilfe von wine unter Linux ausgeführt werden. Der Betrieb ist identisch problemlos wie unter Windows, mit dem Vorteil dass man sich so manch Windows-VM sparen kann. | ||
== Wine Installation == | == Wine Installation == | ||
Zeile 21: | Zeile 21: | ||
* In der reinen Console für folgender Befehl zum Anlegen der Verzeichnisse und setzen der Defaults | * In der reinen Console für folgender Befehl zum Anlegen der Verzeichnisse und setzen der Defaults | ||
** <code>winecfg</code> | |||
** <code>wineconsole</code> | ** <code>wineconsole</code> | ||
** <code>wine cmd</code> | ** <code>wine cmd</code> | ||
== cOrgaMon installieren == | == cOrgaMon (Win32) installieren == | ||
* die 32 Bit Umgebung von Wine muss installiert werden, dazu kann es sein dass die ganze Distribution um die 32 Bit Architektur erweitern muss (das ist nicht mehr default) | |||
# | # | ||
Zeile 32: | Zeile 33: | ||
# | # | ||
cd ~/.wine/drive_c | cd ~/.wine/drive_c | ||
wget https://www.7-zip.org/a/ | wget https://www.7-zip.org/a/7z2201-x64.exe | ||
wine | wine 7z2201-x64.exe /S | ||
# | # | ||
Zeile 56: | Zeile 57: | ||
# | |||
# OrgaMon.ini | |||
# Bei der ~Id~ wird der Mandant angegeben, der gestartet werden soll. Dieser Id | |||
# wird auch dem cOrgaMon.exe als Kommandozeilenparameter --Id=~Id~ mitgegeben. | |||
# | |||
# via systemctl lässt sicher der ~Id~ nach dem "@" angeben | |||
# | |||
[~Id~] | |||
DataBaseName=N:\Mandanten\Huber\dat\ | |||
== lOrgaMon (Win64) installieren == | |||
* lOrgaMon.exe läuft in einer wine-7.0 Win64 Umgebung | |||
* Verwenden Sie die aktuelle Version von https://cargobay.orgamon.org/lOrgaMon-Wine.html | |||
# | |||
# Install 7zip | |||
# | |||
cd ~/.wine/drive_c | |||
wget https://www.7-zip.org/a/7z2201-x64.exe | |||
wine 7z2201-x64.exe /S | |||
# | |||
# Install lOrgaMon | |||
# | |||
mkdir "/root/.wine/drive_c/Program Files/OrgaMon/" | |||
cd "/root/.wine/drive_c/Program Files/OrgaMon/" | |||
wget https://cargobay.orgamon.org/lOrgaMon-Wine-8xxx.zip | |||
unzip -o lOrgaMon-Wine-8xxx.zip | |||
wine vccrt8_x64.msi /S | |||
# | |||
# Install OrgaMon.ini | |||
# | |||
mkdir ~/Documents/OrgaMon/ | |||
cd ~/Documents/OrgaMon/ | |||
joe OrgaMon.ini | |||
# | # | ||
# OrgaMon.ini | # OrgaMon.ini | ||
Zeile 68: | Zeile 107: | ||
== Laufwerke == | == Laufwerke == | ||
* Zum Betrieb der Server ist immer ein Windows-Laufwerk nötig | * Zum Betrieb der XLMRPC-Server cOrgaMon/lOrgaMon ist immer ein Windows-Laufwerk nötig | ||
* Dieses muss man wine bekannt machen, dazu werden Verzeichnisse mit mount oder bind mount zur Verfügung gestellt | * Dieses muss man wine bekannt machen, dazu werden Verzeichnisse mit mount oder bind mount zur Verfügung gestellt | ||
Zeile 130: | Zeile 169: | ||
WantedBy=remote-fs.target | WantedBy=remote-fs.target | ||
=== Beispiel 3 === | ==== Beispiel 3 ==== | ||
* Wenn obige Methode nicht funktioniert muss man mit einem Bind-Mount arbeiten | * Wenn obige Methode nicht funktioniert muss man mit einem Bind-Mount arbeiten | ||
Zeile 186: | Zeile 225: | ||
** systemctl start cOrgaMon@3002 | ** systemctl start cOrgaMon@3002 | ||
** systemctl start cOrgaMon@3003 | ** systemctl start cOrgaMon@3003 | ||
== lOrgaMon/cOrgaMon für Tagwache/Tagesabschluss == | |||
* In <code>System</code> kann definiert werden "was" einzelne Hosts im Rahmen eines Tagesabschlusses/Tagwache tun sollen, es lassen sich einzelne Aktionen ausschließen | |||
# | |||
# Host EDORAS soll z.B. nur den Artikelindex neu erstellen | |||
# | |||
TagesabschlussAusschluss@EDORAS=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,21,22,23,24,25,26,27,28 | |||
# | |||
# ein Cron-Job auf EDORAS kann nun Artikelindex neu erstellen, Alle anderes Hosts | |||
# die einen Tagesabschluss machen sollten um diesen Punkt entlastet werden | |||
# (auch durch Ausschluss-Option) | |||
# | |||
wine lOrgaMon.exe --tagesabschluss --Id=~Id~ | |||
== Update == | == Update == | ||
* Per AutoUp, das Projekt "cOrgaMon-Wine" wird auf https://cargobay.orgamon.org/ das neueste cOrgaMon zur Verfügung gestellt | |||
* Ein Update wird durchgeführt durch | |||
** Stop der Dienste | |||
** Download der neuesten Version | |||
** Überschreiben aller alten Dateien im Ausführungsverzeichnis | |||
** Start der Dienste | |||
systemctl stop cOrgaMonApp@... | systemctl stop cOrgaMonApp@... |
Aktuelle Version vom 7. Oktober 2024, 14:36 Uhr
cOrgaMon.exe, lOrgaMon.exe kann mit Hilfe von wine unter Linux ausgeführt werden. Der Betrieb ist identisch problemlos wie unter Windows, mit dem Vorteil dass man sich so manch Windows-VM sparen kann.
Wine Installation
OpenSuse
zypper install p11-kit-32bit wine
Debian
- dpkg --add-architecture i386
- apt update
- apt install wine32
Option 1: Grafische Benutzeroberfläche vorhanden
- In einer grafischen Oberfläche einmalig
-> System -> Configure Wine
starten- dies installiert Mono (ist für den cOrgaMon aber nicht nötig) ...
- dies legt das .wine Verzeichnis an ...
- Ein Umkonfiguration abseits der Defaults ist nicht nötig.
Option 2: Nur Terminal
- In der reinen Console für folgender Befehl zum Anlegen der Verzeichnisse und setzen der Defaults
winecfg
wineconsole
wine cmd
cOrgaMon (Win32) installieren
- die 32 Bit Umgebung von Wine muss installiert werden, dazu kann es sein dass die ganze Distribution um die 32 Bit Architektur erweitern muss (das ist nicht mehr default)
# # Install 7zip # cd ~/.wine/drive_c wget https://www.7-zip.org/a/7z2201-x64.exe wine 7z2201-x64.exe /S # # Install cOrgaMon # mkdir "/root/.wine/drive_c/Program Files (x86)/OrgaMon/" cd "/root/.wine/drive_c/Program Files (x86)/OrgaMon/" wget https://cargobay.orgamon.org/cOrgaMon-Wine-8695.zip unzip -o cOrgaMon-Wine-8695.zip # # Install SystemD-Services # mv .service /etc/systemd/system # # Install OrgaMon.ini # mkdir ~/Documents/OrgaMon/ cd ~/Documents/OrgaMon/ joe OrgaMon.ini
# # OrgaMon.ini # Bei der ~Id~ wird der Mandant angegeben, der gestartet werden soll. Dieser Id # wird auch dem cOrgaMon.exe als Kommandozeilenparameter --Id=~Id~ mitgegeben. # # via systemctl lässt sicher der ~Id~ nach dem "@" angeben # [~Id~] DataBaseName=N:\Mandanten\Huber\dat\
lOrgaMon (Win64) installieren
- lOrgaMon.exe läuft in einer wine-7.0 Win64 Umgebung
- Verwenden Sie die aktuelle Version von https://cargobay.orgamon.org/lOrgaMon-Wine.html
# # Install 7zip # cd ~/.wine/drive_c wget https://www.7-zip.org/a/7z2201-x64.exe wine 7z2201-x64.exe /S # # Install lOrgaMon # mkdir "/root/.wine/drive_c/Program Files/OrgaMon/" cd "/root/.wine/drive_c/Program Files/OrgaMon/" wget https://cargobay.orgamon.org/lOrgaMon-Wine-8xxx.zip unzip -o lOrgaMon-Wine-8xxx.zip wine vccrt8_x64.msi /S # # Install OrgaMon.ini # mkdir ~/Documents/OrgaMon/ cd ~/Documents/OrgaMon/ joe OrgaMon.ini # # OrgaMon.ini # Bei der ~Id~ wird der Mandant angegeben, der gestartet werden soll. Dieser Id # wird auch dem cOrgaMon.exe als Kommandozeilenparameter --Id=~Id~ mitgegeben. # # via systemctl lässt sicher der ~Id~ nach dem "@" angeben # [~Id~] DataBaseName=N:\Mandanten\Huber\dat\
Laufwerke
- Zum Betrieb der XLMRPC-Server cOrgaMon/lOrgaMon ist immer ein Windows-Laufwerk nötig
- Dieses muss man wine bekannt machen, dazu werden Verzeichnisse mit mount oder bind mount zur Verfügung gestellt
H:\ (Beispiel)
cd ~/.wine md drive_h # Nur wenn man gleich mal mounten will: # mount //server/share drive_h cd dosdevices ln -s ../drive_h h:
- UNC Pfade funktionieren nicht einfach so, hier muss man unter
dosdevices/unc
den host UND den share-Namen als Unterverzeichnisse erstellen
cd ~/.wine cd dosdevices mkdir unc cd unc mkdir host cd host ln -s /srv/firebird firebird
systemd.mount
Beispiel 1
- joe /etc/systemd/system/root-.wine-drive_i.mount
[Unit] Description=root-.wine-drive_i Requires=network-online.target After=network-online.target [Mount] What=//server/share Where=/root/.wine/drive_i Type=cifs Options=guest,vers=3,noperm,nosetuids,file_mode=0777,dir_mode=0777 [Install] WantedBy=remote-fs.target
Beispiel 2
- joe /etc/systemd/system/srv-ftp.mount
[Unit] Description=srv-ftp Wants=nss-lookup.target After=nss-lookup.target [Mount] What=//server/web Where=/srv/ftp Type=cifs Options=guest,vers=3,noperm,nosetuids,file_mode=0777,dir_mode=0777 [Install] WantedBy=remote-fs.target
Beispiel 3
- Wenn obige Methode nicht funktioniert muss man mit einem Bind-Mount arbeiten
- locales Verzeichnis mit "bind"
- Geht aber auch, Beispiel
root-.wine-drive_i.mount
[Unit] Description=root-.wine-drive_i After=srv-smb-ra6.mount Requires=srv-smb-ra6.mount [Mount] What=/srv/smb/ra6/i Where=/root/.wine/drive_i Type=none Options=bind [Install] WantedBy=remote-fs.target
cOrgaMon.exe Start als systemd.service
systemd bietet die Möglichkeit für beliebig viele Instanzen nur eine Konfigurations-Datei zu führen. Die ganze Infrastruktur mit Start und Stop und Enable kann benutzt werden. Also mit
- systemctl start cOrgaMon@3049
startet man eine cOrgaMon-Instanz mit dem Port 3049.
- joe /etc/systemd/system/cOrgaMon\@.service
# # systemd Rulez for the cOrgaMon Service # # (c) 2015 Andreas Filsinger # [Unit] Description=cOrgaMon XMLRPC-Server After=multi-user.target Requires=root-.wine-drive_i.mount [Service] SyslogIdentifier=cOrgaMon UMask=000 Environment="WINEDEBUG=-all" "LANG=de_DE.UTF-8" ExecStart=/usr/bin/wine "C:\\Program Files (x86)\\OrgaMon\\cOrgaMon.exe" "--app" "--Id=%i" KillSignal=SIGKILL TimeoutStopSec=5 [Install] WantedBy=multi-user.target
- Starte dann mehrere Instanzen:
- systemctl start cOrgaMon@3000
- systemctl start cOrgaMon@3001
- systemctl start cOrgaMon@3002
- systemctl start cOrgaMon@3003
lOrgaMon/cOrgaMon für Tagwache/Tagesabschluss
- In
System
kann definiert werden "was" einzelne Hosts im Rahmen eines Tagesabschlusses/Tagwache tun sollen, es lassen sich einzelne Aktionen ausschließen
# # Host EDORAS soll z.B. nur den Artikelindex neu erstellen # TagesabschlussAusschluss@EDORAS=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,21,22,23,24,25,26,27,28 # # ein Cron-Job auf EDORAS kann nun Artikelindex neu erstellen, Alle anderes Hosts # die einen Tagesabschluss machen sollten um diesen Punkt entlastet werden # (auch durch Ausschluss-Option) # wine lOrgaMon.exe --tagesabschluss --Id=~Id~
Update
- Per AutoUp, das Projekt "cOrgaMon-Wine" wird auf https://cargobay.orgamon.org/ das neueste cOrgaMon zur Verfügung gestellt
- Ein Update wird durchgeführt durch
- Stop der Dienste
- Download der neuesten Version
- Überschreiben aller alten Dateien im Ausführungsverzeichnis
- Start der Dienste
systemctl stop cOrgaMonApp@... systemctl stop cOrgaMonFoto@... cd "~/.wine/drive_c/Program Files (x86)/OrgaMon" wget https://cargobay.orgamon.org/cOrgaMon-Wine-8644.zip unzip -o cOrgaMon-Wine-8644.zip systemctl start cOrgaMonApp@... systemctl start cOrgaMonFoto@...
Diagnose
# # Welche Ports werden verwendet? # lsof -P | grep cOrgaMon | grep TCP # # Welche Dienste laufen? # systemctl status | grep cOrgaMon.exe